Test input generation from cause–effect graphs

被引:0
|
作者
Deniz Kavzak Ufuktepe
Tolga Ayav
Fevzi Belli
机构
[1] University of Missouri-Columbia,Department of Electrical Engineering and Computer Science
[2] Izmir Institute of Technology,Department of Computer Engineering
[3] Paderborn University,Department of Electrical Engineering and Information Technology
来源
Software Quality Journal | 2021年 / 29卷
关键词
Test input generation; Specification-based testing; Cause–effect graph; Spectral analysis; Boolean expressions;
D O I
暂无
中图分类号
学科分类号
摘要
Cause–effect graphing is a well-known requirement-based and systematic testing method with a heuristic approach. Since it was introduced by Myers in 1979, there have not been any sufficiently comprehensive studies to generate test inputs from these graphs. However, there exist several methods for test input generation from Boolean expressions. Cause–effect graphs can be more convenient for a wide variety of users compared to Boolean expressions. Moreover, they can be used to enforce common constraints and rules on the system variables of different expressions of the system. This study proposes a new mutant-based test input generation method, Spectral Testing for Boolean specification models based on spectral analysis of Boolean expressions using mutations of the original expression. Unlike Myers’ method, Spectral Testing is an algorithmic and deterministic method, in which we model the possible faults systematically. Furthermore, the conversion of cause–effect graphs between Boolean expressions is explored so that the existing test input generation methods for Boolean expressions can be exploited for cause–effect graphing. A software is developed as an open-source extendable tool for generating test inputs from cause–effect graphs by using different methods and performing mutation analysis for quantitative evaluation on these methods for further analysis and comparison. Selected methods, MI, MAX-A, MUTP, MNFP, CUTPNFP, MUMCUT, Unique MC/DC, and Masking MC/DC are implemented together with Myers’ technique and the proposed Spectral Testing in the developed tool. For mutation testing, 9 common fault types of Boolean expressions are modeled, implemented, and generated in the tool. An XML-based standard on top of GraphML representing a cause–effect graph is proposed and is used as the input type to the approach. An empirical study is performed by a case study on 5 different systems with various requirements, including the benchmark set from the TCAS-II system. Our results show that the proposed XML-based cause–effect graph model can be used to represent system requirements. The developed tool can be used for test input generation from proposed cause–effect graph models and can perform mutation analysis to distinguish between the methods with respect to the effectiveness of test inputs and their mutant kill scores. The proposed Spectral Testing method outperforms the state-of-the-art methods in the context of critical systems, regarding both the effectiveness and mutant kill scores of the generated test inputs, and increasing the chances of revealing faults in the system and reducing the cost of testing. Moreover, the proposed method can be used as a separate or complementary method to other well-performing test input generation methods for covering specific fault types.
引用
收藏
页码:733 / 782
页数:49
相关论文
共 50 条
  • [21] Automated Test Input Generation for Android: Are We There Yet?
    Choudhary, Shauvik Roy
    Gorla, Alessandra
    Orso, Alessandro
    2015 30TH IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING (ASE), 2015, : 429 - 440
  • [22] Generation of functional delay test with multiple input transitions
    Jusas, Vacius
    Motiejunas, Kestutis
    INFORMATION TECHNOLOGY AND CONTROL, 2007, 36 (03): : 259 - 267
  • [23] Perspectives on search strategies in automated test input generation
    Cao, Yang
    Jiang, Yanyan
    Xu, Chang
    Ma, Jun
    Ma, Xiaoxing
    FRONTIERS OF COMPUTER SCIENCE, 2020, 14 (03)
  • [24] Test generation for specifications modeled by input/output automata
    Tan, QM
    Petrenko, A
    TESTING OF COMMUNICATING SYSTEMS, 1998, : 83 - 99
  • [25] Perspectives on search strategies in automated test input generation
    Yang Cao
    Yanyan Jiang
    Chang Xu
    Jun Ma
    Xiaoxing Ma
    Frontiers of Computer Science, 2020, 14
  • [26] Test Generation for Programs with Binary Tree Structure as Input
    Zhao, Ruilian
    Li, Zheng
    Wang, Qian
    INTERNATIONAL JOURNAL OF SOFTWARE ENGINEERING AND KNOWLEDGE ENGINEERING, 2015, 25 (07) : 1129 - 1151
  • [27] Hybrid input-output conformance and test generation
    van Osch, Michiel
    Formal Approaches to Software Testing and Runtime Verification, 2006, 4262 : 70 - 84
  • [28] A solver-Aided language for test input generation
    Ringer T.
    Grossman D.
    Schwartz-Narbonne D.
    Tasiran S.
    Proceedings of the ACM on Programming Languages, 2017, 1 (OOPSLA)
  • [29] Inputs From Hell: Learning Input Distributions for Grammar-Based Test Generation
    Soremekun, Ezekiel
    Pavese, Esteban
    Havrikov, Nikolas
    Grunske, Lars
    Zeller, Andreas
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2022, 48 (04) : 1138 - 1153
  • [30] Overview of Test Coverage Criteria for Test Case Generation from Finite State Machines Modelled as Directed Graphs
    Rechtberger, Vaclav
    Bures, Miroslav
    Ahmed, Bestoun S.
    2022 IEEE 15TH INTERNATIONAL CONFERENCE ON SOFTWARE TESTING, VERIFICATION AND VALIDATION WORKSHOPS (ICSTW 2022), 2022, : 207 - 214