Testing methods for X-machines: a review

The X-machine testing method has been developed as an application of the W-method to testing the control structure of an implementation, against a specification. The method was proven to demonstrate the equivalence of the behaviour of the two, subject to a number of conditions both a specification and an implementation are expected to satisfy, such as (1) determinism of the two and (2) that functions labelling arcs on a transition diagram of a specification control structure have been tested in advance. Since the original publication of the testing method, a number of extensions have been published, removing the restrictions mentioned above. This paper surveys the extensions of the X-machine testing method, for (1) testing of functions together with testing of a transition diagram, (2) equivalence testing of a non-deterministic implementation against a non-deterministic specification, (3) conformance testing of a deterministic implementation against a non-deterministic specification and (4) equivalence testing of a system of concurrently executing and communicating X-machines, against a specification.

[1]  Robert M. Hierons,et al.  Testing from a Finite-State Machine: Extending Invertibility to Sequences , 1997, Comput. J..

[2]  Petros Kefalas,et al.  A DESIGN LANGUAGE AND TOOL FOR X-MACHINES SPECIFICATION , 2000 .

[3]  Mark Harman,et al.  Testing Conformance to a Quasi-Non-Deterministic Stream X-Machine , 2000, Formal Aspects of Computing.

[4]  Mark Harman,et al.  Testing conformance of a deterministic implementation against a non-deterministic stream X-machine , 2004, Theor. Comput. Sci..

[5]  Hasan Ural,et al.  Efficient checking sequences for testing finite state machines , 1999, Inf. Softw. Technol..

[6]  Daniel I. A. Cohen,et al.  Introduction to computer theory , 1986 .

[7]  Nina Yevtushenko,et al.  Testing in context: framework and test derivation , 1996, Comput. Commun..

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

[9]  Robert M. Hierons Testing from Semi-independent Communicating Finite State Machines with a Slow Environment , 1997, IEE Proc. Softw. Eng..

[10]  George Eleftherakis,et al.  Using X-machines to model and test discrete event simulation programs , 2000 .

[11]  Marc J. Balcer,et al.  The category-partition method for specifying and generating fuctional tests , 1988, CACM.

[12]  W. Holcombe,et al.  Applying XP Ideas Formally: The Story Card and Extreme X-Machines , 2003 .

[13]  Florentin Ipate,et al.  A method for refining and testing generalised machine specifications , 1998, Int. J. Comput. Math..

[14]  Krishnaiyan Thulasiraman,et al.  On Testing and Diagnosis of Communication Protocols Based on the FSM Model , 1995, Comput. Commun..

[15]  Florentin Ipate,et al.  Formal black box testing for partially specified deterministic finite state machines , 2003 .

[16]  Kirill Bogdanov Automated testing of Harel's statecharts , 2000 .

[17]  Florentin Ipate Complete deterministic stream X-machine testing , 2004, Formal Aspects of Computing.

[18]  Ming T. Liu,et al.  Generating test cases for EFSM with given fault models , 1993, IEEE INFOCOM '93 The Conference on Computer Communications, Proceedings.

[19]  A. Petrenko,et al.  Queued Testing of Transition Systems with Inputs and Outputs , 2022 .

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

[21]  Robert M. Hierons,et al.  Reduced Length Checking Sequences , 2002, IEEE Trans. Computers.

[22]  Alexandre Petrenko,et al.  Selecting test sequences for partially-specified nondeterministic finite state machines , 1995 .

[23]  Florentin Ipate,et al.  Another Look at Computability , 1996, Informatica.

[24]  Florentin Ipate,et al.  On the Minimality of Stream X-machines , 2003, Comput. J..

[25]  Yuri Gurevich,et al.  Sequential abstract-state machines capture sequential algorithms , 2000, TOCL.

[26]  Florentin Ipate,et al.  An Integrated Refinement and Testing Method for Stream X-machines , 2002, Applicable Algebra in Engineering, Communication and Computing.

[27]  Marie-Claude Gaudel,et al.  Software testing based on formal specifications: a theory and a tool , 1991, Softw. Eng. J..

[28]  Kwang-Ting Cheng,et al.  Automatic Functional Test Generation Using The Extended Finite State Machine Model , 1993, 30th ACM/IEEE Design Automation Conference.

[29]  David Lee,et al.  Principles and methods of testing finite state machines-a survey , 1996, Proc. IEEE.

[30]  Salim K. Vanak Complete functional testing of hardware descriptions , 2002 .

[31]  Florentin Ipate,et al.  An integration testing method that is proved to find all faults , 1997, Int. J. Comput. Math..

[32]  Mike Holcombe X-machines as a basis for dynamic system specification , 1988, Softw. Eng. J..

[33]  Mike Holcombe,et al.  Complete Functional Testing of Safety Critical Systems , 1995 .

[34]  Florentin Ipate,et al.  Generating Test Sets from Non-Deterministic Stream X-Machines , 2000, Formal Aspects of Computing.

[35]  Samuel Eilenberg,et al.  Automata, languages, and machines. A , 1974, Pure and applied mathematics.

[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]  Florentin Ipate,et al.  Testing Conditions for Communicating Stream X-machine Systems , 2002, Formal Aspects of Computing.

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

[39]  G. Bochmann,et al.  Testing deterministic implementations from nondeterministic FSM specifications , 1996 .

[40]  Mike Holcombe,et al.  Specification and testing using generalized machines: a presentation and a case study , 1998 .

[41]  Jan Tretmans,et al.  Test Generation with Inputs, Outputs and Repetitive Quiescence , 1996, Softw. Concepts Tools.

[42]  C. J. Harwood Correct Systems: Building a Business Process Solution , 2000 .

[43]  Amnon Naamad,et al.  The STATEMATE semantics of statecharts , 1996, TSEM.

[44]  Jeremy Dick,et al.  Automating the Generation and Sequencing of Test Cases from Model-Based Specifications , 1993, FME.

[45]  Robert M. Hierons,et al.  Adaptive Testing of a Deterministic Implementation Against a Nondeterministic Finite State Machine , 1998, Comput. J..

[46]  Michael von der Beeck,et al.  A Comparison of Statecharts Variants , 1994, FTRTFT.