Test Generation Based on Abstraction and Test Purposes to Complement Structural Tests

This paper presents a computer aided model-based test generation method. We propose this approach as a complement to the LTG (Leirios Test Generator) method, which extracts functional tests out of a formal behavioral model M by means of static (or structural) selection criteria. Our method computes additional tests by applying dynamic (or behavioral) selection criteria (test purposes called TP). Applying TP directly to M is usually not possible for industrial applications due to the huge (possibly infinite) size of their state space. We compute an abstraction A of M by predicate abstraction. We propose a method to define a set of abstraction predicates from information of TP. We generate symbolic tests from A by using TP as a dynamic selection criterion. Then we instantiate them on M, which allows us play the tests on the implementation the same way as we play the functional ones. Our experimental results show that our tests are complementary to the structural ones.

[1]  Fabrice Bouquet,et al.  CLPS–B – A constraint solver to animate a B specification , 2004, International Journal on Software Tools for Technology Transfer.

[2]  Harold W. Thimbleby,et al.  The directed Chinese Postman Problem , 2003, Softw. Pract. Exp..

[3]  Bertrand Jeannet,et al.  Symbolic Test Selection Based on Approximate Analysis , 2005, TACAS.

[4]  K. Rustan M. Leino,et al.  The Spec# Programming System: An Overview , 2004, CASSIS.

[5]  Paul Ammann,et al.  Using model checking to generate tests from specifications , 1998, Proceedings Second International Conference on Formal Engineering Methods (Cat.No.98EX241).

[6]  Thomas Ball,et al.  A Theory of Predicate-Complete Test Coverage and Generation , 2004, FMCO.

[7]  Thierry Jéron,et al.  Test Generation Derived from Model-Checking , 1999, CAV.

[8]  Thierry Jéron,et al.  TGV : theory , principles and algorithms A tool for the automatic synthesis of conformance test cases for non-deterministic reactive systems , 2004 .

[9]  Hassen Saïdi,et al.  Construction of Abstract State Graphs with PVS , 1997, CAV.

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

[11]  Radha Jagadeesan,et al.  On the Expressiveness of 3-Valued Models , 2002, VMCAI.

[12]  Edsger W. Dijkstra,et al.  Guarded commands, nondeterminacy and formal derivation of programs , 1975, Commun. ACM.

[13]  Gordon Fraser,et al.  Coverage Based Testing with Test Purposes , 2008, 2008 The Eighth International Conference on Quality Software.

[14]  Kedar S. Namjoshi,et al.  Syntactic Program Transformations for Automatic Abstraction , 2000, CAV.

[15]  Jacques Julliand,et al.  Generating tests from B specifications and dynamic selection criteria , 2009, Formal Aspects of Computing.

[16]  S. Wieczorek,et al.  Practical model-based testing of user scenarios , 2012, 2012 IEEE International Conference on Industrial Technology.

[17]  Cedric Mesnil,et al.  Demoney: A Demonstrative Electronic Purse Card Specification , 2002 .

[18]  Jacques Julliand,et al.  Génération de tests à partir de critères dynamiques de sélection et par abstraction , 2009 .

[19]  Jaco van de Pol,et al.  Automatic Model-Based Generation of Parameterized Test Cases Using Data Abstraction , 2007, Electron. Notes Theor. Comput. Sci..

[20]  Andreas Hoffmann,et al.  Model-Based Testing , 2012, IEEE Software.

[21]  Bruno Legeard,et al.  LEIRIOS Test Generator: Automated Test Generation from B Models , 2007, B.

[22]  Marie-Laure Potet,et al.  GeneSyst: A Tool to Reason About Behavioral Aspects of B Event Specifications. Application to Security Properties , 2005, ZB.

[23]  Jacques Julliand,et al.  Generating security tests in addition to functional tests , 2008, AST '08.