Experimental evaluation of a novel equivalence class partition testing strategy

In this paper, a complete model-based equivalence class testing strategy recently developed by the authors is experimentally evaluated. This black-box strategy applies to deterministic systems with infinite input domains and finite internal state and output domains. It is complete with respect to a given fault model. This means that conforming behaviours will never be rejected, and all non-conforming behaviours inside a given fault domain will be uncovered. We investigate the question how this strategy performs for systems under test whose behaviours lie outside the fault domain. Furthermore, a strategy extension is presented, that is based on randomised data selection from input equivalence classes. While this extension is still complete with respect to the given fault domain, it also promises a higher test strength when applied against members outside this domain. This is confirmed by an experimental evaluation that compares mutation coverage achieved by the original and the extended strategy with the coverage obtained by random testing. For mutation generation, not only typical software errors, but also critical HW/SW integration errors are considered. The latter can be caused by mismatches between hardware and software design, even in the presence of totally correct software.

[1]  Myra B. Cohen,et al.  An orchestrated survey of methodologies for automated software test case generation , 2013, J. Syst. Softw..

[2]  Ferhat Khendek,et al.  Test Selection Based on Finite State Models , 1991, IEEE Trans. Software Eng..

[3]  Viktor Schuppan,et al.  Linear Encodings of Bounded LTL Model Checking , 2006, Log. Methods Comput. Sci..

[4]  Tsong Yueh Chen,et al.  Adaptive Random Testing: The ART of test case diversity , 2010, J. Syst. Softw..

[5]  Jan Peleska,et al.  Industrial-Strength Model-Based Testing - State of the Art and Current Challenges , 2013, MBT.

[6]  Alexander Romanovsky,et al.  Reliability, Safety, and Security of Railway Systems. Modelling, Analysis, Verification, and Certification , 2016, Lecture Notes in Computer Science.

[7]  A. Jefferson Offutt,et al.  MuJava: an automated class mutation system , 2005, Softw. Test. Verification Reliab..

[8]  Stuart Reid,et al.  An empirical analysis of equivalence partitioning, boundary value analysis and random testing , 1997, Proceedings Fourth International Software Metrics Symposium.

[9]  Jan Peleska,et al.  Complete model-based equivalence class testing , 2014, International Journal on Software Tools for Technology Transfer.

[10]  Patrick Cousot,et al.  Why does Astrée scale up? , 2009, Formal Methods Syst. Des..

[11]  René Just,et al.  The major mutation framework: efficient and scalable mutation analysis for Java , 2014, ISSTA 2014.

[12]  Robert M. Hierons,et al.  Generating Feasible Transition Paths for Testing from an Extended Finite State Machine (EFSM) , 2009, 2009 International Conference on Software Testing Verification and Validation.

[13]  Marie-Claude Gaudel,et al.  Testing Can Be Formal, Too , 1995, TAPSOFT.

[14]  Patrick Cousot,et al.  Combination of Abstractions in the ASTRÉE Static Analyzer , 2006, ASIAN.

[15]  Insup Lee,et al.  A Temporal Logic Based Theory of Test Coverage and Generation , 2002, TACAS.

[16]  Jan Peleska,et al.  Complete model-based equivalence class testing for nondeterministic systems , 2016, Formal Aspects of Computing.

[17]  Jan Peleska,et al.  Automated Test Case Generation with SMT-Solving and Abstract Interpretation , 2011, NASA Formal Methods.

[18]  Florentin Ipate,et al.  JSXM: A Tool for Automated Test Generation , 2012, SEFM.

[19]  Lionel C. Briand,et al.  Black-Box System Testing of Real-Time Embedded Systems Using Random and Search-Based Testing , 2010, ICTSS.

[20]  Stephan Merz,et al.  Model Checking , 2000 .

[21]  Ulf Schlichtmann,et al.  System C-based multi-level error injection for the evaluation of fault-tolerant systems , 2014, 2014 International Symposium on Integrated Circuits (ISIC).

[22]  Bruno Legeard,et al.  Boundary coverage criteria for test generation from formal models , 2004, 15th International Symposium on Software Reliability Engineering.

[23]  Jüri Vain,et al.  Generating Tests from EFSM Models Using Guided Model Checking and Iterated Search Refinement , 2006, FATES/RV.

[24]  S. Seshu,et al.  Introduction to the theory of finite-state machines , 1963 .

[25]  Jan Peleska,et al.  A Novel Approach to HW/SW Integration Testing of Route-Based Interlocking System Controllers , 2016, RSSRail.

[26]  M. P. Vasilevskii Failure diagnosis of automata , 1973 .

[27]  Bernhard K. Aichernig,et al.  MoMut::UML Model-Based Mutation Testing for UML , 2015, 2015 IEEE 8th International Conference on Software Testing, Verification and Validation (ICST).

[28]  References , 1971 .

[29]  Daniel Kästner,et al.  Applying Abstract Interpretation to Verify EN-50128 Software Safety Requirements , 2016, RSSRail.

[30]  Luc Jaulin,et al.  Applied Interval Analysis , 2001, Springer London.

[31]  Alexandre Petrenko,et al.  Model-based testing of software and systems: recent advances and challenges , 2012, International Journal on Software Tools for Technology Transfer.

[32]  Tsun S. Chow,et al.  Testing Software Design Modeled by Finite-State Machines , 1978, IEEE Transactions on Software Engineering.

[33]  Jan Peleska,et al.  Experimental Evaluation of a Novel Equivalence Class Partition Testing Strategy , 2015, TAP@STAF.

[34]  Jan Tretmans,et al.  Model Based Testing with Labelled Transition Systems , 2008, Formal Methods and Testing.

[35]  Mikel Azkarate-askasua,et al.  Codesign and Simulated Fault Injection of Safety-Critical Embedded Systems Using SystemC , 2010, 2010 European Dependable Computing Conference.

[36]  Alexandre Petrenko,et al.  Test Selection Based on Communicating Nondeterministic Finite-State Machines Using a Generalized WP-Method , 1994, IEEE Trans. Software Eng..

[37]  Axel Belinfante,et al.  JTorX: A Tool for On-Line Model-Driven Test Derivation and Execution , 2010, TACAS.

[38]  Ana Cavalcanti,et al.  Testing for refinement in Circus , 2011, Acta Informatica.

[39]  Christel Baier,et al.  Principles of model checking , 2008 .

[40]  Jan Peleska,et al.  Test automation of safety-critical reactive systems , 1997 .

[41]  Nina Yevtushenko,et al.  Fault Models for Testing in Context , 1996, FORTE.

[42]  Frits W. Vaandrager,et al.  Testing timed automata , 1997, Theor. Comput. Sci..

[43]  Anne Elisabeth Haxthausen,et al.  Complete Model-Based Equivalence Class Testing for the ETCS Ceiling Speed Monitor , 2014, ICFEM.