Practical regression test selection with dynamic file dependencies

M Gligoric, L Eloussi, D Marinov - Proceedings of the 2015 International …, 2015 - dl.acm.org
M Gligoric, L Eloussi, D Marinov
Proceedings of the 2015 International Symposium on Software Testing and Analysis, 2015dl.acm.org
Regression testing is important but can be time-intensive. One approach to speed it up is
regression test selection (RTS), which runs only a subset of tests. RTS was proposed over
three decades ago but has not been widely adopted in practice. Meanwhile, testing
frameworks, such as JUnit, are widely adopted and well integrated with many popular build
systems. Hence, integrating RTS in a testing framework already used by many projects
would increase the likelihood that RTS is adopted. We propose a new, lightweight RTS …
Regression testing is important but can be time-intensive. One approach to speed it up is regression test selection (RTS), which runs only a subset of tests. RTS was proposed over three decades ago but has not been widely adopted in practice. Meanwhile, testing frameworks, such as JUnit, are widely adopted and well integrated with many popular build systems. Hence, integrating RTS in a testing framework already used by many projects would increase the likelihood that RTS is adopted. We propose a new, lightweight RTS technique, called Ekstazi, that can integrate well with testing frameworks. Ekstazi tracks dynamic dependencies of tests on files, and unlike most prior RTS techniques, Ekstazi requires no integration with version-control systems. We implemented Ekstazi for Java and JUnit, and evaluated it on 615 revisions of 32 open-source projects (totaling almost 5M LOC) with shorter- and longer-running test suites. The results show that Ekstazi reduced the end-to-end testing time 32% on average, and 54% for longer-running test suites, compared to executing all tests. Ekstazi also has lower end-to-end time than the existing techniques, despite the fact that it selects more tests. Ekstazi has been adopted by several popular open source projects, including Apache Camel, Apache Commons Math, and Apache CXF.
ACM Digital Library
以上显示的是最相近的搜索结果。 查看全部搜索结果