Title
On the use of usage patterns from telemetry data for test case prioritization.
Abstract
Context: Modern applications contain pervasive telemetry to ensure reliability and enable monitoring and diagnosis. This presents a new opportunity in the area of regression testing techniques, as we now have the ability to consider usage profiles of the software when making decisions on test execution.Objective: The results of our prior work on test prioritization using telemetry data showed improvement rate on test suite reduction, and test execution time. The objective of this paper is to further investigate this approach and apply prioritization based on multiple prioritization algorithms in an enterprise level cloud application as well as open source projects. We aim to provide an effective prioritization scheme that practitioners can implement with minimum effort. The other objective is to compare the results and the benefits of this technique factors with code coverage-based prioritization approaches, which is the most commonly used test prioritization technique.Method: We introduce a method for identifying usage patterns based on telemetry, which we refer to as "telemetry fingerprinting." Through the use of various algorithms to compute fingerprints, we conduct empirical studies on multiple software products to show that telemetry fingerprinting can be used to more effectively prioritize regression tests.Results: Our experimental results show that the proposed techniques were able to reduce over 30% in regression test suite run times compared to the coverage-based prioritization technique in detecting discoverable faults. Further, the results indicate that fingerprints are effective in identifying usage patterns, and that the fingerprints can be applied to improve regression testing techniques.Conclusion: In this research, we introduce the concept of fingerprinting software usage patterns through telemetry. We provide various algorithms to compute fingerprints and conduct empirical studies that show that fingerprints are effective in identifying distinct usage patterns. By applying these techniques, we believe that regression testing techniques can be improved beyond the current state-of-the-art, yielding additional cost and quality benefits.
Year
DOI
Venue
2019
10.1016/j.infsof.2019.05.008
Information and Software Technology
Keywords
Field
DocType
Regression testing,Test case prioritization,Telemetry data,Usage patterns
Code coverage,Test suite,Data mining,Suite,Computer science,Telemetry,Regression testing,Software,Empirical research,Cloud computing
Journal
Volume
ISSN
Citations 
113
0950-5849
1
PageRank 
References 
Authors
0.35
0
4
Name
Order
Citations
PageRank
Jeff Anderson1234.05
Maral Azizi231.05
Saeed Salem318217.39
Hyunsook Do4129056.38