Software testing is a fundamental part of software development, but the cost of running tests can be high. As software grows in complexity and test suites get larger, software testing also takes longer to run. Existing approaches to speed up testing such as testsuite reduction or regression test selection aim to run some subset of the test suite, but these approaches run the risk of missing to run some key tests that are needed to detect faults in the code.
We propose a new technique to transform test code to speed up test running time while still running all the tests. The insight is that testing frameworks such as JUnit for Java projects allow for developers to define test fixtures, i.e., methods that run before or after every test to setup or teardown test state, but these test fixtures need not be called all the time before/after each test. It may be sufficient to do the setup and teardown once at the beginning and end, respectively, of all tests. Our technique, TestBoost, transforms the test fixtures within a test class to instead run once before/after all tests in the test class, thereby running the test fixtures less while still running all tests and ensuring that tests all still pass, as they did before. Our evaluation on 697 test classes from 34 projects shows that on average we can reduce the running time per test class by 28.39% for the cases with positive significant improvement. Using these transformed test classes can result in an average 18.24% reduction per test suite running time.
Wed 30 OctDisplayed time zone: Pacific Time (US & Canada) change
10:30 - 12:00 | |||
10:30 15mTalk | B4: Towards Optimal Assessment of Plausible Code Solutions with Plausible Tests Research Papers Mouxiang Chen Zhejiang University, Zhongxin Liu Zhejiang University, He Tao Zhejiang University, Yusu Hong Zhejiang University, David Lo Singapore Management University, Xin Xia Huawei, JianLing Sun Zhejiang University | ||
10:45 15mTalk | Reducing Test Runtime by Transforming Test Fixtures Research Papers Chengpeng Li University of Texas at Austin, Abdelrahman Baz The University of Texas at Austin, August Shi The University of Texas at Austin | ||
11:00 15mTalk | Efficient Incremental Code Coverage Analysis for Regression Test Suites Research Papers | ||
11:15 15mTalk | Combining Coverage and Expert Features with Semantic Representation for Coincidental Correctness Detection Research Papers Huan Xie Chongqing University, Yan Lei Chongqing University, Maojin Li Chongqing University, Meng Yan Chongqing University, Sheng Zhang Chongqing University | ||
11:30 15mTalk | A Combinatorial Testing Approach to Surrogate Model Construction Research Papers Sunny Shree The University of Texas at Arlington, Krishna Khadka The University of Texas at Arlington, Jeff Yu Lei University of Texas at Arlington, Raghu Kacker National Institute of Standards and Technology, D. Richard Kuhn National Institute of Standards and Technology | ||
11:45 15mTalk | The Importance of Accounting for Execution Failures when Predicting Test Flakiness Industry Showcase Guillaume Haben University of Luxembourg, Sarra Habchi Ubisoft Montréal, John Micco VMware, Mark Harman Meta Platforms, Inc. and UCL, Mike Papadakis University of Luxembourg, Maxime Cordy University of Luxembourg, Luxembourg, Yves Le Traon University of Luxembourg, Luxembourg Pre-print |