Summary: This research investigates a set of guidelines called “extreme coverage” for measuring the quality of unit tests independent of the phase of software development. Extreme coverage uses method-level coverage and applies a set of flexible rules that depend upon the system being tested.
Programmers who write unit tests need to have a set of guidelines indicating when their software has been adequately tested. Measuring test case coverage, a structural testing technique, is one such guideline which can be applied. However, the level of coverage often varies throughout the duration of a project, depending upon the phase of development. These variations in levels can lead to obscure pieces of crucial code being overlooked during testing.
The JBlanket system was implemented in the first half of the Fall 2002 semester and evaluated in an undergraduate second semester Software Engineering course. The course consisted of 13 students who were each assigned to at least one of the services as a semester project. After being introduced to JBlanket and instructed to reach 100% extreme coverage by the end of the semester, their projects were periodically downloaded from a common CVS server and coverage was recorded on an Excel spreadsheet. The students were also given a Pre- and Post-Use questionnaire to gauge the feasibility of extreme coverage.
Results showed that, on the average, the students’ confidence in the quality of their unit tests increased after using JBlanket, and a majority claimed that JBlanket helped them write better unit tests.
Principal researcher(s): Joy Augustin
Status: Active development 2002 – 2006.