JExample: Exploiting Dependencies between Tests to Improve Defect Localization
- Cite this paper as:
- Kuhn A. et al. (2008) JExample: Exploiting Dependencies between Tests to Improve Defect Localization. In: Abrahamsson P., Baskerville R., Conboy K., Fitzgerald B., Morgan L., Wang X. (eds) Agile Processes in Software Engineering and Extreme Programming. XP 2008. Lecture Notes in Business Information Processing, vol 9. Springer, Berlin, Heidelberg
To quickly localize defects, we want our attention to be focussed on relevant failing tests. We propose to improve defect localization by exploiting dependencies between tests, using a JUnit extension called JExample. In a case study, a monolithic white-box test suite for a complex algorithm is refactored into two traditional JUnit style tests and to JExample. Of the three refactorings, JExample reports five times fewer defect locations and slightly better performance (-8-12%), while having similar maintenance characteristics. Compared to the original implementation, JExample greatly improves maintainability due the improved factorization following the accepted test quality guidelines. As such, JExample combines the benefits of test chains with test quality aspects of JUnit style testing.
Unable to display preview. Download preview PDF.