Gray-Box Conformance Testing for Symbolic Reactive State Machines

Model-based testing (MBT) is typically a black-box testing technique. Therefore, generated test suites may leave some untested gaps in a given implementation under test (IUT). We propose an approach to use the structural and behavioural information exploited from the implementation domain to generate effective and efficient test suites. Our approach considers both specification models and implementation models, and generates an enriched test model which is used to automatically generate test suites. We show that the proposed approach is sound and exhaustive and cover both the specification and the implementation. We examine the applicability and the effectiveness of our approach by applying it to a well-known example from the railway domain.

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

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

[3]  Alexandre Petrenko,et al.  On Fault Coverage of Tests for Finite State Specifications , 1996, Comput. Networks ISDN Syst..

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

[5]  Nikolai Tillmann,et al.  Achieving both model and code coverage with automated gray-box testing , 2007, A-MOST '07.

[6]  Stavros Tripakis,et al.  Learning Moore machines from input–output traces , 2016, International Journal on Software Tools for Technology Transfer.

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

[8]  Margus Veanes,et al.  Action machines - towards a framework for model composition, exploration and conformance testing based on symbolic computation , 2005, Fifth International Conference on Quality Software (QSIC'05).

[9]  William G. Griswold,et al.  Dynamically discovering likely program invariants to support program evolution , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[10]  John Derrick,et al.  Inferring extended finite state machine models from software executions , 2013, 2013 20th Working Conference on Reverse Engineering (WCRE).

[11]  Bengt Jonsson,et al.  Active learning for extended finite state machines , 2016, Formal Aspects of Computing.

[12]  Jan Tretmans,et al.  A Symbolic Framework for Model-Based Testing , 2006, FATES/RV.

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

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

[15]  Alexandre Petrenko,et al.  Checking Experiments for Finite State Machines with Symbolic Inputs , 2015, ICTSS.

[16]  Grigore Rosu,et al.  Mining parametric specifications , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[17]  Alexandre Petrenko,et al.  Checking Experiments for Symbolic Input/Output Finite State Machines , 2016, 2016 IEEE Ninth International Conference on Software Testing, Verification and Validation Workshops (ICSTW).