Regression Test Selection Techniques for Test-Driven Development

Hagai Cibulski, Amiram Yehudai
2011 2011 IEEE Fourth International Conference on Software Testing, Verification and Validation Workshops  
Test-Driven Development (TDD) is characterized by repeated execution of a test suite, enabling developers to change code with confidence. However, running an entire test suite after every small code change is not always cost effective. Therefore, regression test selection (RTS) techniques are important for TDD. Particularly challenging for TDD is the task of selecting a small subset of tests that are most likely to detect a regression fault in a given small and localized code change. We present
more » ... cost-bounded RTS techniques based on both dynamic program analysis and natural-language analysis. We implemented our techniques in a tool called TestRank, and evaluated its effectiveness on two open-source projects. We show that using these techniques, developers can accelerate their development cycle, while maintaining a high bug detection rate, whether actually following TDD, or in any methodology that combines testing during development.
doi:10.1109/icstw.2011.28 dblp:conf/icst/CibulskiY11 fatcat:ifib7rmmrjdubbfqi6n4mybofy