Test case prioritization for object-oriented software: An adaptive random sequence approach based on clustering

被引:47
作者
Chen, Jinfu [1 ]
Zhu, Lili [1 ]
Chen, Tsong Yueh [2 ]
Towey, Dave [3 ]
Kuo, Fei-Ching [2 ]
Huang, Rubing [1 ]
Guo, Yuchi [1 ]
机构
[1] Jiangsu Univ, Sch Comp Sci & Commun Engn, Zhenjiang 202000, Peoples R China
[2] Swinburne Univ Technol, Dept Comp Sci & Software Engn, Hawthorn, Vic 3122, Australia
[3] Univ Nottingham Ningbo China, Sch Comp Sci, Ningbo 315100, Zhejiang, Peoples R China
基金
中国国家自然科学基金;
关键词
Object-oriented software; Adaptive random sequence; Test cases prioritization; Cluster analysis; Test cases selection; FAILURES;
D O I
10.1016/j.jss.2017.09.031
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Test case prioritization (TCP) attempts to improve fault detection effectiveness by scheduling the important test cases to be executed earlier, where the importance is determined by some criteria or strategies. Adaptive random sequences (ARSs) can be used to improve the effectiveness of TCP based on white-box information (such as code coverage information) or black-box information (such as test input information). To improve the testing effectiveness for object-oriented software in regression testing, in this paper, we present an ARS approach based on clustering techniques using black-box information. We use two clustering methods: (1) clustering test cases according to the number of objects and methods, using the K-means and K-medoids clustering algorithms; and (2) clustered based on an object and method invocation sequence similarity metric using the K-medoids clustering algorithm. Our approach can construct ARSs that attempt to make their neighboring test cases as diverse as possible. Experimental studies were also conducted to verify the proposed approach, with the results showing both enhanced probability of earlier fault detection, and higher effectiveness than random prioritization and method coverage TCP technique. (C) 2017 Elsevier Inc. All rights reserved.
引用
收藏
页码:107 / 125
页数:19
相关论文
共 46 条
  • [1] An orchestrated survey of methodologies for automated software test case generation
    Anand, Saswat
    Burke, Edmund K.
    Chen, Tsong Yueh
    Clark, John
    Cohen, Myra B.
    Grieskamp, Wolfgang
    Harman, Mark
    Harrold, Mary Jean
    McMinn, Phil
    Bertolino, Antonia
    Li, J. Jenny
    Zhu, Hong
    [J]. JOURNAL OF SYSTEMS AND SOFTWARE, 2013, 86 (08) : 1978 - 2001
  • [2] [Anonymous], 2016, SOFTWARE ARTIFACT IN
  • [3] [Anonymous], 2014, Int. J. Comput. Appl., DOI [DOI 10.5120/16779-6360, 10.5120/16779-6360]
  • [4] [Anonymous], 2013, CODEPLEX OPEN SOURCE
  • [5] [Anonymous], 2013, CODEFORGE FREE OPEN
  • [6] [Anonymous], 2013, SOFTWARE ARTIFACT IN
  • [7] A Hitchhiker's guide to statistical tests for assessing randomized algorithms in software engineering
    Arcuri, Andrea
    Briand, Lionel
    [J]. SOFTWARE TESTING VERIFICATION & RELIABILITY, 2014, 24 (03) : 219 - 250
  • [8] A Cost-Effective Random Testing Method for Programs with Non-Numeric Inputs
    Barus, Arlinta C.
    Chen, Tsong Yueh
    Kuo, Fei-Ching
    Liu, Huai
    Merkel, Robert
    Rothermel, Gregg
    [J]. IEEE TRANSACTIONS ON COMPUTERS, 2016, 65 (12) : 3509 - 3523
  • [9] Binder R. V., 1996, Software Testing, Verification and Reliability, V6, P125, DOI 10.1002/(SICI)1099-1689(199609/12)6:3/4<125::AID-STVR121>3.0.CO
  • [10] 2-X