| ISSRE 2006 | START Conference Manager |
Internal study finds that an average of 40% program defects is found at system validation stage. The goal of our effort in moving defect detection time to earlier development stage is to allow developers to find and fix their own bugs more effectively using unit testing. One of our early trials shows that the defect number decreases greatly at and after the system validation stage, when the development group uses heavy load of unit testing.
We created an agile software development process to accommodate the emphasis of unit testing, where the goal is to be rapid and flexible in the development process. At one end of the spectrum is extreme programming, with little reliance on planned architectures and design, and heavy emphasis on driving from use cases to implement particular features. The other end is traditional rigid waterfall model, with design and code reviews and validation along the way of the entire software development. Our process attempts to combine the two and use a lot of automatic testing, with emphasis on unit testing.
Our process includes the following steps. First, define a small set of milestones which includes a typical of 4 to 8 weeks of workload for the entire development, around 6 developers. Write a set of automatic test cases using our testing framework based on the definition of the milestone. And then start the actual coding and refactoring along the way. The testing coverage of each small milestone is very high, ranging from 60% to 90% basic block coverage. More details of the process, as well as our experimental results, will be given in the talk.
| START Conference Manager (V2.52.6) |
| Maintainer: mark.sherriff@ncsu.edu |