Techniques |
Applicability |
TCP
TCS
|
Industry Motivation
Industry Evaluation
|
Experiment subject(s) |
Industrial Partner |
Programming Language |
Undisclosed large-scale system at Ericsson
Industrial proprietary, supposedly large-scale |
Ericsson (Canada) |
Unclear ("modern typical programming language") |
Effectiveness Metrics |
Efficiency Metrics |
Other Metrics |
Fault Detection Loss
|
Execution time
|
|
Information Approach |
Algorithm Approach |
Open Challenges |
History-based
|
|
Evaluate best duration of training data; consider dependencies among tests.
|
Abstract
The cost of software testing has become a burden for software companies in the era of rapid release and continuous integration. Our industrial collaborator Ericsson also faces the challenges of expensive testing processes which are typically part of a complex and specialized testing environment. In order to assist Ericsson with improving the test effectiveness of one of its large subsystems, we adopt test selection and prioritization approaches based on test execution history from prior research. By adopting and simulating those approaches on six months of testing data from our subject system, we confirm the existence of valuable information in the test execution history. In particular, the association between test failures provide the most value to the test selection and prioritization processes. More importantly, during this exercise, we encountered various challenges that are unseen or undiscussed in prior research. We document the challenges, our solutions and the lessons learned as an experience report. Our experiences can be valuable for other software testing practitioners and researchers who would like to adopt existing test effectiveness improvement approaches into their work environment.