A Decompositional Approach to Automatic Test Case Generation Based on Formal Specifications

Automatic functional testing is a potentially effective technique for software reliability, but it has been a challenge due to the difficulties in automatically deriving adequate test cases and test oracle from informal or semi-formal specifications that are often used in practice. This paper puts forward a new decompositional approach to automatic test case generation on the basis of model-based formal specifications. The approach offers a functional scenario-based test strategy, a set of test case generation criteria, a set of automatic test case generation algorithms, and a well-defined test oracle for automatic test result analysis. A small experiment on the application of the approach is presented, and the result shows that the approach can achieve a higher statement coverage of programs than random testing.

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

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

[3]  Margus Veanes,et al.  Model-Based Testing of Object-Oriented Reactive Systems with Spec Explorer , 2008, Formal Methods and Testing.

[4]  Hasan Ural,et al.  Improving Coverage in Functional Testing , 2006, 2006 Sixth International Conference on Quality Software (QSIC'06).

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

[6]  T. Kanade Model-Based Testing of Reactive Systems , 2005 .

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

[8]  Luciano Baresi,et al.  An Introduction to Software Testing , 2006, FoVMT.

[9]  Shaoying Liu,et al.  An Automated Approach to Specification-Based Program Inspection , 2005, ICFEM.

[10]  A. Jefferson Offutt,et al.  Introduction to Software Testing , 2008 .

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

[12]  Manfred Broy,et al.  Model-Based Testing of Reactive Systems, Advanced Lectures [The volume is the outcome of a research seminar that was held in Schloss Dagstuhl in January 2004] , 2005, Model-Based Testing of Reactive Systems.

[13]  Sudipto Ghosh,et al.  Test Input Generation Using UML Sequence and State Machines Models , 2009, 2009 International Conference on Software Testing Verification and Validation.

[14]  Michael R. Donat Automating Formal Speci cation-Based Testing To Appear: TAPSOFT '97 , 1997 .

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

[16]  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.

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

[18]  Simon Burton Automated Testing From Z Specifications , 2000 .

[19]  Elaine J. Weyuker,et al.  Automatically Generating Test Data from a Boolean Specification , 1994, IEEE Trans. Software Eng..