Title :
Ekstazi: Lightweight Test Selection
Author :
Gligoric, Milos ; Eloussi, Lamyaa ; Marinov, Darko
Author_Institution :
Univ. of Illinois at Urbana-Champaign, Urbana, IL, USA
Abstract :
Regression testing is a crucial, but potentially time-consuming, part of software development. Regression test selection (RTS), which runs only a subset of tests, was proposed over three decades ago as a promising way to speed up regression testing. However, RTS has not been widely adopted in practice. We propose EKSTAZI , a lightweight RTS tool, that can integrate well with testing frameworks and build systems, increasing the chance for adoption. EKSTAZI tracks dynamic dependencies of tests on files and requires no integration with version-control systems. We implemented EKSTAZI for Java+JUnit and Scala+ScalaTest, and evaluated it on 615 revisions of 32 open-source projects (totaling almost 5M LOC). The results show that EKSTAZI reduced the end-to-end testing time by 32% on average compared to executing all tests. EKSTAZI has been adopted for day-to-day use by several Apache developers. The demo video for EKSTAZI can be found at http://www.youtube.com/watch?v=jE8K5_UCP28.
Keywords :
Java; program testing; regression analysis; software tools; Apache developers; EKSTAZI; Java+JUnit; Scala+ScalaTest; dynamic dependency tracking; lightweight RTS tool; lightweight test selection; open-source projects; regression test selection; regression testing; software development; Google; Instruments; Java; Monitoring; Open source software; Testing;
Conference_Titel :
Software Engineering (ICSE), 2015 IEEE/ACM 37th IEEE International Conference on
DOI :
10.1109/ICSE.2015.230