Generating Reduced Tests for FSMs using a Search-Based Testing Approach

Ideally, in FSM-based testing, a test suite should have as few input symbols and sequences as possible, speeding up its execution, and being able to reveal as many faulty implementations as possible in a given fault domain. Unfortunately, in general, it is an NP-hard problem. Several test generation methods have been proposed to generate a test suite with full fault detection capability. However, they usually generate large test suites with many sequences. In this paper, we propose a search-based software testing method aiming to generate test suites that represent a good trade-off between its cost and its fault coverage. A new encoding, called Node-depth-outdegree Encoding (NDOE) and its mutation and initialization operators are proposed. Also, a new fitness function is presented. The proposed fitness is composed of three objectives: minimize the test suite length, minimize the number of test sequences, and maximize the fault coverage, which analysis is based on mutation score. The experimental results show that the proposed method is able to generate lower cost test suites, with high mutation score, than literature test generation methods.

[1]  Alexandre Petrenko,et al.  Fault Coverage-Driven Incremental Test Generation , 2010, Comput. J..

[2]  Roger L. Wainwright,et al.  Designing telecommunications networks using genetic algorithms and probabilistic minimum spanning trees , 1994, SAC '94.

[3]  Nina Yevtushenko,et al.  Generating Reduced Tests for FSMs with Extra States , 2009, TestCom/FATES.

[4]  Lionel C. Briand,et al.  A practical guide for using statistical tests to assess randomized algorithms in software engineering , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

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

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

[7]  Simone do Rocio Senger de Souza,et al.  Reducing FSM-Based Test Suites with Guaranteed Fault Coverage , 2016, Comput. J..

[8]  Bryant A. Julstrom,et al.  Edge sets: an effective evolutionary coding of spanning trees , 2003, IEEE Trans. Evol. Comput..

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

[10]  Alexandre C. B. Delbem,et al.  Node-depth phylogenetic-based encoding, a spanning-tree representation for evolutionary algorithms. part I: Proposal and properties analysis , 2016, Swarm Evol. Comput..

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

[12]  Alexandre Petrenko,et al.  A structural analysis approach to the evaluation of fault coverage for protocol conformance testing , 1994, FORTE.

[13]  Lawrence Davis,et al.  A Genetic Algorithm for Survivable Network Design , 1993, International Conference on Genetic Algorithms.

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

[15]  Nina Yevtushenko,et al.  An Improved Conformance Testing Method , 2005, FORTE.

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

[17]  Franz Rothlauf,et al.  Network Random Keys-A Tree Representation Scheme for Genetic and Evolutionary Algorithms , 2005 .

[18]  Thomas H. Cormen,et al.  Introduction to algorithms [2nd ed.] , 2001 .