Extended Finite State Machine Based Test Derivation Driven by User Defined Faults

Test derivation based on user defined faults deals with the generation of tests that check if some parts of a given specification are correctly implemented in a corresponding implementation. In this paper, we present a method for test derivation based on user defined faults for extended FSM (EFSM) specifications. Given an EFSM specification ES and a set of selected transitions of ES, the method returns a test suite that is complete with respect to output and transfer faults at the selected transitions, i.e., checks whether the selected transitions are correctly implemented in a corresponding EFSM implementation. Test derivation is based on a formally defined fault model (conformance relation and types of faults) and is guided by some conditions established for complete test derivation. To reduce test derivation efforts, we propose to use appropriate slices of the specification EFSM. The slices, on one hand, preserve the facilities of the original specification (before slicing) EFSM for traversing the selected transitions and for distinguishing their final states and on the other hand, these slices are much smaller than the given specification. Application examples and a simple case study are provided.

[1]  David W. Binkley,et al.  Program slicing , 2008, 2008 Frontiers of Software Maintenance.

[2]  Paul D. Amer,et al.  Test Case Generation for Protocols Specified in Estelle , 1990, FORTE.

[3]  Nina Yevtushenko,et al.  Test Suite Generation from a FSM with a Given Type of Implementation Errors , 1992, PSTV.

[4]  Nina Yevtushenko,et al.  Test Generation Driven by User-defined Fault Models , 1999, IWTCS.

[5]  Richard Lai,et al.  A survey of communication protocol testing , 2002, J. Syst. Softw..

[6]  Itu-T Specification and Description Language (SDL) , 1999 .

[7]  Richard J. Linn,et al.  Automatic generation of test scenario skeletons from protocol specifications written in ESTELLE , 1986 .

[8]  Deepinder P. Sidhu,et al.  Formal Methods for Protocol Testing: A Detailed Study , 1989, IEEE Trans. Software Eng..

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

[10]  Alexandre Petrenko,et al.  Protocol testing: review of methods and relevance for software testing , 1994, ISSTA '94.

[11]  Nina Yevtushenko,et al.  Testing from partial deterministic FSM specifications , 2005, IEEE Transactions on Computers.

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

[13]  Alexandre Petrenko,et al.  Confirming configurations in EFSM testing , 2004, IEEE Transactions on Software Engineering.

[14]  Alexandre Petrenko,et al.  Confirming configurations in EFSM , 1999, FORTE.

[15]  Gregor von Bochmann,et al.  FSM-based incremental conformance testing methods , 2004, IEEE Transactions on Software Engineering.

[16]  Wen-Huei Chen Executable Test Sequence for the Protocol Data Flow Property , 2001, FORTE.

[17]  Alexandre Petrenko,et al.  Techniques for Abstracting SDL Specifications , 2002, SAM.

[18]  Bogdan Korel,et al.  Slicing of state-based models , 2003, International Conference on Software Maintenance, 2003. ICSM 2003. Proceedings..

[19]  Ana R. Cavalli,et al.  Experimental evaluation of FSM-based testing methods , 2005, Third IEEE International Conference on Software Engineering and Formal Methods (SEFM'05).

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