A gimmick to integrate software testing throughout the curriculum
SIGCSE '02 Proceedings of the 33rd SIGCSE technical symposium on Computer science education
Mutation analysis vs. code coverage in automated assessment of students' testing skills
Proceedings of the ACM international conference companion on Object oriented programming systems languages and applications companion
Running students' software tests against each others' code: new life for an old "gimmick"
Proceedings of the 43rd ACM technical symposium on Computer Science Education
Hi-index | 0.00 |
Software testing is frequently being added to programming courses at many schools, but current assessment techniques for evaluating student-written software tests are imperfect. Code coverage measures are typically used in practice, but that approach does not assess how much of the expected behavior is checked by the tests and sometimes overestimates the true quality of the tests. Running one student's tests against others' code (known as all-pairs testing) and mutation analysis are better indicators of test quality but both of them posed a number of practical obstacles to classroom use. This proposal describes technical obstacles behind using these two approaches in automated grading. We propose novel and practical solutions to apply all-pairs testing and mutation analysis of student-written tests, especially in an automated grading context. Experimental results of applying our techniques in eight CS1 and CS2 assignments submitted by 147 students show feasibility of our solution. Finally, we discuss our plan to combine the approaches to evaluate tests of assignments having large amounts of design freedom and explain their evaluation plan.