Automated Boundary Testing from Z and B

We present a method for black-box boundary testing from B and Z formal specifications. The basis of the method is to test every operation of the system at every boundary state using all input boundary values of that operation. The test generation process is highly automated. It starts by calculating boundary goals from Pre/Post predicates derived from the formal model. Then each boundary goal is instantiated to a reachable boundary state, by searching for a sequence of operations that reaches the boundary goal from the initial state. This process makes intensive use of a set-oriented constraint technology, both for boundary computation and to traverse the state space. The method was designed on the basis of industrial applications in the domain of critical software (Smart card and transportation). Application results show the effectiveness and the scalability of the method. In this paper, we give an overview of the method and focus on the calculation of the boundary goals and states.

[1]  Marie-Claude Gaudel,et al.  Testing Can Be Formal, Too , 1995, TAPSOFT.

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

[3]  Leesa Murray,et al.  Formal Derivation of Finite State Machines for Class Testing , 1998, ZUM.

[4]  Cliff B. Jones,et al.  Systematic software development using VDM , 1986, Prentice Hall International Series in Computer Science.

[5]  J. Michael Spivey,et al.  The Z notation - a reference manual , 1992, Prentice Hall International Series in Computer Science.

[6]  Debra J. Richardson,et al.  Specification-based test oracles for reactive systems , 1992, International Conference on Software Engineering.

[7]  A. Pretschner Classical search strategies for test case generation with Constraint Logic Programming , 2001 .

[8]  Jean-Raymond Abrial,et al.  The B-book - assigning programs to meanings , 1996 .

[9]  Glenford J. Myers,et al.  Art of Software Testing , 1979 .

[10]  Bruno Legeard,et al.  Generation of functional test sequences from B formal specifications presentation and industrial case-study , 2001, Proceedings 16th Annual International Conference on Automated Software Engineering (ASE 2001).

[11]  Jan Tretmans,et al.  Test Generation with Inputs, Outputs and Repetitive Quiescence , 1996, Softw. Concepts Tools.

[12]  J. Gross,et al.  Graph Theory and Its Applications , 1998 .

[13]  Fabrice Bouquet,et al.  CLPS-B - A Constraint Solver for B , 2002, TACAS.

[14]  Jim Woodcock,et al.  FME '93: Industrial-Strength Formal Methods , 1993, Lecture Notes in Computer Science.

[15]  Robert M. Hierons,et al.  Testing from a Z Specification , 1997, Softw. Test. Verification Reliab..

[16]  Daniel Le Métayer,et al.  CASTING: a formally based software test generation method , 1997, First IEEE International Conference on Formal Engineering Methods.

[17]  Mogens Nielsen,et al.  TAPSOFT '95: Theory and Practice of Software Development , 1995, Lecture Notes in Computer Science.

[18]  Patrick Behm,et al.  MÉTÉOR : An Industrial Success in Formal Development , 1998, B.