On the use of usage patterns from telemetry data for test case prioritization

被引:9
作者
Anderson, Jeff [1 ]
Azizi, Maral [2 ]
Salem, Saeed [3 ]
Do, Hyunsook [2 ]
机构
[1] Microsoft Inc, Fargo, ND 58104 USA
[2] Univ North Texas, Denton, TX 76203 USA
[3] North Dakota State Univ, Fargo, ND USA
关键词
Regression testing; Test case prioritization; Telemetry data; Usage patterns;
D O I
10.1016/j.infsof.2019.05.008
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
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.
引用
收藏
页码:110 / 130
页数:21
相关论文
共 48 条
  • [1] Amalfitano Domenico, 2010, Proceedings of the IEEE Third International Conference on Software Testing Verification and Validation - Workshops (ICSTW 2010), P274, DOI 10.1109/ICSTW.2010.34
  • [2] Anderson J., 2015, P 37 IEEE INT C SOFT
  • [3] Anderson J., 2014, P 11 WORK C MIN SOFT, P142
  • [4] Anderson J., 2016, P 32 IEEE INT C SOFT
  • [5] [Anonymous], 2008, P ACM SIGSOFT S FDN
  • [6] Reliability testing of rule-based systems
    Avritzer, A
    Ros, JP
    Weyuker, EJ
    [J]. IEEE SOFTWARE, 1996, 13 (05) : 76 - 82
  • [7] Barik T., 2016, P INT C SOFTW ENG IC
  • [8] Beszédes A, 2012, 2012 28TH IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE (ICSM), P46, DOI 10.1109/ICSM.2012.6405252
  • [9] Binder RV., 1999, Testing Object-Oriented Systems: Models, Patterns, and Tools
  • [10] Brooks P. A., 2007, Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering, P333