A relation-based method combining functional and structural testing for test case generation

Specification-based (or functional) testing enables us to detect errors in the implementation of functions defined in specifications, but since specifications are often incomplete in practice for some reasons (e.g., lack of ideas, no time to write), it is unlikely to be sufficient for testing all parts of corresponding programs. On the other hand, implementation-based (or structural) testing focuses on the examination of program structures, which allows us to test all parts of the programs, but may not be effective to show whether the programs properly implement the corresponding specifications. To perform a comprehensive testing of a program in practice, it is important to adopt both specification-based and implementation-based testing. In this paper we describe a relation-based test method that combines the specification-based and the implementation-based testing approaches. We establish a set of relations for test case generation, illustrate how the method is used with an example, and investigate the effectiveness and weakness of the method through an experiment on testing a software tool system.

[1]  Victor R. Basili,et al.  Iterative and incremental developments. a brief history , 2003, Computer.

[2]  James A. Whittaker,et al.  Model‐Based Software Testing , 2002 .

[3]  Shaoying Liu Formal Engineering for Industrial Software Development: Using the SOFL Method , 2004 .

[4]  Shaoying Liu,et al.  An Approach to Integration Testing Based on Data Flow Specifications , 2004, ICTAC.

[5]  Jim Woodcock,et al.  Using Z - specification, refinement, and proof , 1996, Prentice Hall international series in computer science.

[6]  Alexander Pretschner,et al.  Model-Based Testing in Practice , 2005, FM.

[7]  Marie-Claude Gaudel,et al.  Software testing based on formal specifications: a theory and a tool , 1991, Softw. Eng. J..

[8]  Boris Beizer,et al.  Black-box testing , 1995 .

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

[10]  Jason McDonald,et al.  Translating Object-Z specifications to passive test oracles , 1998, Proceedings Second International Conference on Formal Engineering Methods (Cat.No.98EX241).

[11]  Larry Apfelbaum,et al.  Model Based Testing , 1997 .

[12]  Sigrid Eldh Software Testing Techniques , 2007 .

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

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

[15]  Mark Blackburn,et al.  Interface-Driven, Model-Based Test Automation , 2003 .

[16]  Shaoying Liu,et al.  A review approach to detecting structural consistency violations in programs , 2005, Fourth Annual ACIS International Conference on Computer and Information Science (ICIS'05).

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

[18]  T. Mexia,et al.  Author ' s personal copy , 2009 .

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