Automatic Transformation from Formal Specifications to Functional Scenario Forms for Automatic Test Case Generation

Functional scenario-based test case generation is an important technique for specification-based testing and it can be fully automated. The vital first step of achieving the automation is automatic transformation from a formal specification into an equivalent functional scenario form from which all functional scenarios are derived. In this paper, we first explain the concepts of the functional scenario form and the functional scenario in the context of a VDM operation specification, and then discuss the techniques for the transformation implemented in a software tool we have built. The techniques for discussion include (1) transformation from compound expressions into predicate expressions, (2) transformation from quantified expressions into non-quantified expressions, (3) replacing implications and equivalences in predicate expressions, (4) transformation from predicate expressions into functional scenario forms, and (5) the derivation of the testing condition from a functional scenario for test case generation. Based on these transformations, the tool can also automatically produce test cases to meet required conditions.

[1]  Sarfraz Khurshid,et al.  TestEra: Specification-Based Testing of Java Programs Using SAT , 2004, Automated Software Engineering.

[2]  David A. Carrington,et al.  A Framework for Specification-Based Testing , 1996, IEEE Trans. Software Eng..

[3]  Jan Tretmans,et al.  TorX: Automated Model-Based Testing , 2003 .

[4]  Thomas Santen,et al.  Automating Test Case Generation from Z Specifications with Isabelle , 1997, ZUM.

[5]  Shaoying Liu,et al.  Generating test data from SOFL specifications , 1999, J. Syst. Softw..

[6]  Marko Samer,et al.  Technology of Test-Case Generation , 2004, Model-Based Testing of Reactive Systems.

[7]  Pascale Le Gall,et al.  Testing Data Types Implementations from Algebraic Specifications , 2008, Formal Methods and Testing.

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

[9]  Michael R. Donat Automating Formal Specification-Based Testing , 1997, TAPSOFT.

[10]  Paul Ammann,et al.  Using formal methods to derive test frames in category-partition testing , 1994, Proceedings of COMPASS'94 - 1994 IEEE 9th Annual Conference on Computer Assurance.

[11]  Shaoying Liu Integrating Specification-Based Review and Testing for Detecting Errors in Programs , 2007, ICFEM.

[12]  Shaoying Liu,et al.  A Decompositional Approach to Automatic Test Case Generation Based on Formal Specifications , 2010, 2010 Fourth International Conference on Secure Software Integration and Reliability Improvement.

[13]  Sarfraz Khurshid,et al.  A Case for Efficient Solution Enumeration , 2003, SAT.

[14]  Manfred Broy,et al.  Model-Based Testing of Reactive Systems: Advanced Lectures (Lecture Notes in Computer Science) , 2005 .

[15]  Shaoying Liu,et al.  A relation-based method combining functional and structural testing for test case generation , 2008, J. Syst. Softw..