The Conceptual Design of Module Documentation Based Testing Tool

Software testing plays an important role to assure the quality of software and can be highly effective if performed rigorously. Studies found that testing can benefit from formal specification as it provides precise description of expected software behavior and most importantly, it is in a form that it can be manipulated easily for automation purpose. Grey-box testing approach usually based on knowledge obtains from specification and source code while seldom the design specification is concerned. In this study, an approach was described with an example of circular queue for testing a module with internal memory from its formal specification based on grey-box approach. However, in this research, we proposed a grey-box testing approach that uses the knowledge of design specification instead of source code. We utilized formal specifications that were documented using Parnas's Module Documentation (MD) method to generate test oracle and to execute the test. The MD provides the information of external and internal view of a module that is useful in our testing approach.

[1]  M. Young Test Oracles , 2001 .

[2]  Axel van Lamsweerde,et al.  Formal specification: a roadmap , 2000, ICSE '00.

[3]  Gregory Tassey,et al.  Prepared for what , 2007 .

[4]  David Lorge Parnas,et al.  Predicate Logic for Software Engineering , 1993, IEEE Trans. Software Eng..

[5]  Ossi Taipale,et al.  Improving software testing by observing practice , 2006, ISESE '06.

[6]  Jeremy Dick,et al.  Making the Most of Formal Specification Through Animation, Testing and Proof , 1997, Sci. Comput. Program..

[7]  Tsong Yueh Chen,et al.  In black and white: an integrated approach to class-level testing of object-oriented programs , 1998, TSEM.

[8]  David Lorge Parnas,et al.  Disciplined methods of software specification: a case study , 2005, International Conference on Information Technology: Coding and Computing (ITCC'05) - Volume II.

[9]  Jonathan P. Bowen,et al.  Ten commandments revisited: a ten-year perspective on the industrial application of formal methods , 2005, FMICS '05.

[10]  Guoliang Zheng,et al.  Generating test cases from UML activity diagram based on Gray-box method , 2004, 11th Asia-Pacific Software Engineering Conference.

[11]  David Lorge Parnas,et al.  Precise Documentation of Well-Structured Programs , 1994, IEEE Trans. Software Eng..

[12]  Jonathan P. Bowen,et al.  From MC/DC to RC/DC: formalization and analysis of control-flow testing criteria , 2006, Formal Aspects of Computing.

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

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

[15]  Daniel J. Paulish,et al.  An empirical investigation of software fault distribution , 1993, [1993] Proceedings First International Software Metrics Symposium.

[16]  Standard Glossary of Software Engineering Terminology , 1990 .

[17]  Sigrid Eldh Software Testing Techniques , 2007 .

[18]  Francis C. M. Lau,et al.  Testing object-oriented industrial software without precise oracles or results , 2007, CACM.