Figure 1: When continuous testing detects a test failure, it alerts the user in the program source code and in the Problems window, like Eclipse does for compile errors.
Encouraged by the results, we built and released a of continuous testing as a plug-in [3] for the Eclipse integrated development environment (see Figure 1). Users can specify which test suite will run for each code project, and select from several schemes to automatically select and prioritize the suite. Proper prioritization can have a big impact on feedback speed, so developers with unusual test suites can also develop their own prioritization strategies and plug them in.
The last year has seen ideas from continuous testing adopted by several highly-used software projects, some with direct support from continuous testing researchers. Eclipse 3.1 incorporated limited support for browsing previous test results and using those results to prioritize future test runs. Eclipse 3.2 will include a pluggable testing runtime based directly on continuous testing. Also, JUnit 4.0 now supports test prioritization and selection.
Continuous testing has seen the most use among developers who are already committed to the idea of frequently running small, fast tests. We believe that transforming test suites through test factoring will further enhance the reach of continuous testing, making it applicable to long-running regression tests or those that require expensive resources or human intervention.
User experience with continuous testing has confirmed the value of its test result feedback, and encouraged us to investigate even more intuitive support for determining the causes of failures and navigating to broken code.
[1] David Saff and Michael D. Ernst. Reducing wasted development time via continuous testing. In Fourteenth International Symposium on Software Reliability Engineering (ISSRE 2003), pp. 281--292, Denver, CO. November 2003.
[2] David Saff and Michael D. Ernst. An experimental evaluation of continuous testing during development. In International Symposium on Software Testing and Analysis (ISSTA 2004), pp. 76--85, Boston, MA. July 2004.
[3] David Saff and Michael D. Ernst. Continuous testing in Eclipse. In 2nd Eclipse Technology Exchange Workshop (eTX), Barcelona, Spain. March 2004.
Computer Science and Artificial Intelligence Laboratory (CSAIL) The Stata Center, Building 32 - 32 Vassar Street - Cambridge, MA 02139 - USA tel:+1-617-253-0073 - publications@csail.mit.edu |