ATM: Black-box Test Case Minimization based on Test Code Similarity and Evolutionary Search

被引:9
|
作者
Pan, Rongqi [1 ]
Ghaleb, Taher A. [1 ]
Briand, Lionel [1 ,2 ]
机构
[1] Univ Ottawa, Sch EECS, Ottawa, ON, Canada
[2] Univ Luxembourg, SnT Ctr, Luxembourg, Luxembourg
来源
2023 IEEE/ACM 45TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, ICSE | 2023年
基金
加拿大自然科学与工程研究理事会;
关键词
Test case minimization; Test suite reduction; Tree-based similarity; AST; Genetic algorithm; Black-box testing; GENETIC ALGORITHM; PRIORITIZATION; SELECTION;
D O I
10.1109/ICSE48619.2023.00146
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Executing large test suites is time and resource consuming, sometimes impossible, and such test suites typically contain many redundant test cases. Hence, test case (suite) minimization is used to remove redundant test cases that are unlikely to detect new faults. However, most test case minimization techniques rely on code coverage (white-box), model-based features, or requirements specifications, which are not always (entirely) accessible by test engineers. Code coverage analysis also leads to scalability issues, especially when applied to large industrial systems. Recently, a set of novel techniques was proposed, called FAST-R, relying solely on test case code for test case minimization, which appeared to be much more efficient than white-box techniques. However, it achieved a comparable low fault detection capability for Java projects, thus making its application challenging in practice. In this paper, we propose ATM (AST-based Test case Minimizer), a similarity-based, search-based test case minimization technique, taking a specific budget as input, that also relies exclusively on the source code of test cases but attempts to achieve higher fault detection through finer-grained similarity analysis and a dedicated search algorithm. ATM transforms test case code into Abstract Syntax Trees (AST) and relies on four tree-based similarity measures to apply evolutionary search, specifically genetic algorithms, to minimize test cases. We evaluated the effectiveness and efficiency of ATM on a large dataset of 16 Java projects with 661 faulty versions using three budgets ranging from 25% to 75% of test suites. ATM achieved significantly higher fault detection rates ( 0.82 on average), compared to FAST-R ( 0.61 on average) and random minimization (0.52 on average), when running only 50% of the test cases, within practically acceptable time ( 1.1 - 4.3 hours, on average, per project version), given that minimization is only occasionally applied when many new test cases are created (major releases). Results achieved for other budgets were consistent.
引用
收藏
页码:1700 / 1711
页数:12
相关论文
共 45 条
  • [21] Search-based test case implantation for testing untested configurations
    Pradhan, Dipesh
    Wang, Shuai
    Yue, Tao
    Ali, Shaukat
    Liaaen, Marius
    INFORMATION AND SOFTWARE TECHNOLOGY, 2019, 111 : 22 - 36
  • [22] A language-independent approach to black-box testing using Erlang as test specification language
    Castro, Laura M.
    Francisco, Miguel A.
    JOURNAL OF SYSTEMS AND SOFTWARE, 2013, 86 (12) : 3109 - 3122
  • [23] Applicability test on black-box testing tool of railway signaling system in consideration of the convenience of use
    Hwang, Jong-Gyu
    Baek, Jong-Hyun
    Jo, Hyun-Jeong
    Lee, Kang-Mi
    2014 14TH INTERNATIONAL CONFERENCE ON CONTROL, AUTOMATION AND SYSTEMS (ICCAS 2014), 2014, : 1489 - 1495
  • [24] Evaluating several path-based partial dynamic analysis methods for selecting black-box generated test cases
    Chan, YK
    Yu, YT
    QSIC 2004: PROCEEDINGS OF THE FOURTH INTERNATIONAL CONFERENCE ON QUALITY SOFTWARE, 2004, : 70 - 78
  • [25] Multi-objective Test Case Minimization using Evolutionary Algorithms: A Review
    Vandana
    Singh, Ajmer
    2017 INTERNATIONAL CONFERENCE OF ELECTRONICS, COMMUNICATION AND AEROSPACE TECHNOLOGY (ICECA), VOL 1, 2017, : 329 - 334
  • [26] Similarity-based prioritization of test case automation
    Daniel Flemström
    Pasqualina Potena
    Daniel Sundmark
    Wasif Afzal
    Markus Bohlin
    Software Quality Journal, 2018, 26 : 1421 - 1449
  • [27] Similarity-based prioritization of test case automation
    Flemstrom, Daniel
    Potena, Pasqualina
    Sundmark, Daniel
    Afzal, Wasif
    Bohlin, Markus
    SOFTWARE QUALITY JOURNAL, 2018, 26 (04) : 1421 - 1449
  • [28] History-Based Test Case Prioritization for Black Box Testing using Ant Colony Optimization
    Noguchi, Tadahiro
    Washizaki, Hironori
    Fukazawa, Yoshiaki
    Sato, Atsutoshi
    Ota, Kenichiro
    2015 IEEE 8th International Conference on Software Testing, Verification and Validation (ICST), 2015,
  • [29] Genetic-based Crow Search Algorithm for Test Case Generation
    Tamizharasi, A.
    Ezhumalai, P.
    INTERNATIONAL TRANSACTION JOURNAL OF ENGINEERING MANAGEMENT & APPLIED SCIENCES & TECHNOLOGIES, 2022, 13 (04):
  • [30] Generating test case for algebraic specification based on Tabu search and genetic algorithm
    Yu, Bo
    Qin, Yemei
    CLUSTER COMPUTING-THE JOURNAL OF NETWORKS SOFTWARE TOOLS AND APPLICATIONS, 2017, 20 (01): : 277 - 289