1st International Software Testing Education Workshop
Last Wednesday (28/10/2020), I attended the first edition of the Software Testing Education Workshop, co-located with ICST 2020. The workshop was initially supposed to be held in Porto. Unfortunately, with the COVID-19 pandemic and the travel restrictions, ICST and all the workshops had to be held over Zoom. Nevertheless, the workshop was a great success! During four hours, we discussed how to enhance software testing education at various levels and in multiple contexts. In addition to the insights gained from the presentations and discussions, I collected a list of pointers to educational resources:
Code Defenders, an online game to teach mutation testing. In Code Defenders, a team of attackers creates mutants while a team of defenders writes test cases to expose those mutants. Code Defenders is open source and can be deployed on a local server.
The Science of Software - Computing Education Research group webpage lists projects and tools developed by the group to enhance computing education. In particular, the Canary Framework relies on Jenkins to automate the grading of programming exercises.
A list of resources for various software engineering teaching activities. Including an activity to introduce testing in agile methods, similar to another educational game for teaching SCRUM in computing courses.
A curated list of open source projects to use in assignments. Many software engineering courses rely on open source projects for various kinds of assignments. For instance, the Software Architecture course of TU Delft is organized around a list of blog posts writing assignments posts about the various architectural aspects of an open-source project.
The impress project, seeking to improve students’ engagement in software engineering courses through gamification. Additionally to Code Defender, the results of the project also include FormalZ, an educational game to teach formal methods, and a quizz repository, a set of quizzes on software engineering that can be used in Kahoot!.
Last but not least, a full Algorithms and Data Structures course with slides and exercises for students. The course includes an introduction to unit testing with exercises for students to write unit tests.
- An Empirical Evaluation of Regular and Extreme Mutation Testing for Teaching Software Testing
- JUGE: An infrastructure for benchmarking Java unit test generators
- Tips and resources to start writing
- Yo variability! JHipster: a playground for web-apps analyses
- Effective and efficient API misuse detection via exception propagation and search-based testing