To Be Optimal or Not in Test-Case Prioritization

被引:62
|
作者
Hao, Dan [1 ,2 ]
Zhang, Lu [1 ,2 ]
Zang, Lei [1 ,2 ]
Wang, Yanbo [1 ,2 ]
Wu, Xingxia [1 ,2 ]
Xie, Tao [3 ]
机构
[1] Peking Univ, Key Lab High Confidence Software Technol, Minist Educ, Beijing 100871, Peoples R China
[2] Peking Univ, Inst Software, Sch Elect Engn & Comp Sci, Beijing 100871, Peoples R China
[3] Univ Illinois, Dept Comp Sci, Champaign, IL USA
基金
美国国家科学基金会; 中国国家自然科学基金;
关键词
Test-case prioritization; integer linear programming; greedy algorithm; empirical study; MUTATION;
D O I
10.1109/TSE.2015.2496939
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Software testing aims to assure the quality of software under test. To improve the efficiency of software testing, especially regression testing, test-case prioritization is proposed to schedule the execution order of test cases in software testing. Among various test-case prioritization techniques, the simple additional coverage-based technique, which is a greedy strategy, achieves surprisingly competitive empirical results. To investigate how much difference there is between the order produced by the additional technique and the optimal order in terms of coverage, we conduct a study on various empirical properties of optimal coverage-based test-case prioritization. To enable us to achieve the optimal order in acceptable time for our object programs, we formulate optimal coverage-based test-case prioritization as an integer linear programming (ILP) problem. Then we conduct an empirical study for comparing the optimal technique with the simple additional coverage-based technique. From this empirical study, the optimal technique can only slightly outperform the additional coverage-based technique with no statistically significant difference in terms of coverage, and the latter significantly outperforms the former in terms of either fault detection or execution time. As the optimal technique schedules the execution order of test cases based on their structural coverage rather than detected faults, we further implement the ideal optimal test-case prioritization technique, which schedules the execution order of test cases based on their detected faults. Taking this ideal technique as the upper bound of test-case prioritization, we conduct another empirical study for comparing the optimal technique and the simple additional technique with this ideal technique. From this empirical study, both the optimal technique and the additional technique significantly outperform the ideal technique in terms of coverage, but the latter significantly outperforms the former two techniques in terms of fault detection. Our findings indicate that researchers may need take cautions in pursuing the optimal techniques in test-case prioritization with intermediate goals.
引用
收藏
页码:490 / 504
页数:15
相关论文
共 50 条
  • [1] Test-case prioritization:achievements and challenges
    Dan HAO
    Lu ZHANG
    Hong MEI
    [J]. Frontiers of Computer Science., 2016, 10 (05) - 777
  • [2] A Survey on Regression Test-Case Prioritization
    Lou, Yiling
    Chen, Junjie
    Zhang, Lingming
    Hao, Dan
    [J]. ADVANCES IN COMPUTERS, VOL 113, 2019, 113 : 1 - 46
  • [3] Test-case prioritization: achievements and challenges
    Hao, Dan
    Zhang, Lu
    Mei, Hong
    [J]. FRONTIERS OF COMPUTER SCIENCE, 2016, 10 (05) : 769 - 777
  • [4] Test-case prioritization: achievements and challenges
    Dan Hao
    Lu Zhang
    Hong Mei
    [J]. Frontiers of Computer Science, 2016, 10 : 769 - 777
  • [5] Test-Case Prioritization for Configuration Testing
    Cheng, Runxiang
    Zhang, Lingming
    Marinov, Darko
    Xu, Tianyin
    [J]. ISSTA '21: PROCEEDINGS OF THE 30TH ACM SIGSOFT INTERNATIONAL SYMPOSIUM ON SOFTWARE TESTING AND ANALYSIS, 2021, : 452 - 465
  • [6] Test-case prioritization with model-checkers
    Fraser, Gordon
    Wotawa, Franz
    [J]. PROCEEDINGS OF THE IASTED INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, 2007, : 267 - +
  • [7] Adaptive Test-Case Prioritization Guided by Output Inspection
    Hao, Dan
    Zhao, Xu
    Zhang, Lu
    [J]. 2013 IEEE 37TH ANNUAL COMPUTER SOFTWARE AND APPLICATIONS CONFERENCE (COMPSAC), 2013, : 169 - 179
  • [8] Mutation-based Test-Case Prioritization in Software Evolution
    Lou, Yiling
    Hao, Dan
    Zhang, Lu
    [J]. 2015 IEEE 26TH INTERNATIONAL SYMPOSIUM ON SOFTWARE RELIABILITY ENGINEERING (ISSRE), 2015, : 46 - 57
  • [9] Bridging the Gap between the Total and Additional Test-Case Prioritization Strategies
    Zhang, Lingming
    Hao, Dan
    Zhang, Lu
    Rothermel, Gregg
    Mei, Hong
    [J]. PROCEEDINGS OF THE 35TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE 2013), 2013, : 192 - 201
  • [10] TEST-CASE
    WILSON, B
    [J]. DAIRY INDUSTRIES INTERNATIONAL, 1995, 60 (01) : 19 - 19