Identifying the Failure-Revealing Test Cases in Metamorphic Testing: A Statistical Approach

被引:0
|
作者
Zheng, Zheng [1 ]
Ren, Daixu [1 ]
Liu, Huai [2 ]
Chen, Tsong yueh [2 ]
Li, Tiancheng [1 ]
机构
[1] Beihang Univ, Beijing, Peoples R China
[2] Swinburne Univ Technol, Melbourne, Australia
基金
中国国家自然科学基金;
关键词
Metamorphic testing; metamorphic groups; failure-revealing test cases; spectrum-based approach;
D O I
10.1145/3695990
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Metamorphic testing, thanks to its high failure-detection effectiveness especially in the absence of test oracle, has been widely applied in both the traditional context of software testing and other relevant fields such as fault localization and program repair. Its core element is a set of metamorphic relations, which are the necessary properties of the target algorithm in the form of the relationships among multiple inputs and corresponding expected outputs. When a relation is violated by the outputs of a group of test cases, namely metamorphic group of test cases, that are constructed based on the relation, a failure is said to be revealed. Traditionally, the primary task of software testing is to reveal failures. Therefore, from the perspective of software testing, it may not need to know which test case(s) in the metamorphic group cause the violation and thus the failure. However, such information is definitely helpful for other software engineering activities, such as software debugging. The current literature of metamorphic testing lacks a systematic mechanism of identifying the actual failure-revealing test cases, which hinders its applicability and effectiveness in other relevant fields. In this article, we propose a new technique for the FAILure-revealing Test case Identification in Metamorphic testing, namely FAILTIM. The approach is based on a novel application of statistical methods. More specifically, we leverage and adapt the basic ideas of spectrum-based techniques, which are originally used in fault localization, and propose the utilization of a set of risk formulas to estimate the suspiciousness of each individual test case in metamorphic groups. Failure-revealing test cases are then suggested according to their suspiciousness. A series of experiments have been conducted to evaluate the effectiveness and efficiency of FAILTIM using 9 subject programs and 30 risk formulas. The experimental results showed that the new approach can achieve a high accuracy in identifying the actual failure-revealing test cases in metamorphic testing. Consequently, our study will help boost the applicability and performance of metamorphic testing beyond testing to other software engineering areas. The present work also unfolds a number of research directions for further advancing the theory of metamorphic testing and more broadly, software testing.
引用
收藏
页数:26
相关论文
共 8 条
  • [1] Identifying Failed Test Cases through Metamorphic Testing
    Hui, Zhan-wei
    Huang, Song
    Chen, Tsong Yueh
    Lau, Man F.
    Ng, Sebastian
    2017 IEEE 28TH INTERNATIONAL SYMPOSIUM ON SOFTWARE RELIABILITY ENGINEERING WORKSHOPS (ISSREW 2017), 2017, : 90 - 91
  • [2] Reliability of Convolutional Neural Networks: Failure Metrics with Metamorphic Test Cases
    Gudaparthi, Hemanth
    Niu, Nan
    Wang, Boyang
    Savolainen, Juha
    2021 IEEE 22ND INTERNATIONAL CONFERENCE ON INFORMATION REUSE AND INTEGRATION FOR DATA SCIENCE (IRI 2021), 2021, : 75 - 82
  • [3] Follow-up Test Cases are Better Than Source Test Cases in Metamorphic Testing: A Preliminary Study
    Zhou, Zenghui
    Zheng, Zheng
    Chen, Tsong Yueh
    Zhou, Jinyi
    Qiu, Kun
    2021 IEEE/ACM 6TH INTERNATIONAL WORKSHOP ON METAMORPHIC TESTING (MET 2021), 2021, : 69 - 74
  • [4] A Novelty Search and Metamorphic Testing Approach to Automatic Test Generation
    DeVries, Byron
    Trefftz, Christian
    2021 IEEE/ACM 14TH INTERNATIONAL WORKSHOP ON SEARCH-BASED SOFTWARE TESTING (SBST 2021), 2021, : 8 - 11
  • [5] Harnessing multiple source test cases in metamorphic testing: A case study in bioinformatics
    Tang, Joshua Y. S.
    Yang, Andrian
    Chen, Tsong Yueh
    Ho, Joshua W. K.
    2017 IEEE/ACM 2ND INTERNATIONAL WORKSHOP ON METAMORPHIC TESTING (MET 2017), 2017, : 10 - 13
  • [6] A metamorphic testing approach for supporting program repair without the need for a test oracle
    Jiang, Mingyue
    Chen, Tsong Yueh
    Kuo, Fei-Ching
    Towey, Dave
    Ding, Zuohua
    JOURNAL OF SYSTEMS AND SOFTWARE, 2017, 126 : 127 - 140
  • [7] An Inferential Metamorphic Testing Approach to Reduce False Positives in SQLIV Penetration Test
    Liu, Lei
    Su, Guoxin
    Xu, Jing
    Zhang, Biao
    Kang, Jiehui
    Xu, Sihan
    Li, Peng
    Si, Guannan
    2017 IEEE 41ST ANNUAL COMPUTER SOFTWARE AND APPLICATIONS CONFERENCE (COMPSAC), VOL 1, 2017, : 675 - 680
  • [8] Finding failures from passed test cases: improving the pattern classification approach to the testing of mesh simplification programs
    Chan, W. K.
    Ho, Jeffrey C. F.
    Tse, T. H.
    SOFTWARE TESTING VERIFICATION & RELIABILITY, 2010, 20 (02) : 89 - 120