A theory of specification-based testing for object-oriented software
The current strategies for testing object-oriented software all lack the formal basis which is necessary to perform this task efficiently. We propose the adaptation to object-oriented software of an existing theory of testing for stateless ADTs, to find errors in a class by checking that its implementation meets its specification. We present shortly in an informal way an object-oriented language, CO-OPN/2, in which language we will write the specification. We introduce a notion of test that takes into account the possible and impossible sequences of call of class methods. We examine the black-box test procedure, and give techniques to select a finite and pertinent test set from an exhaustive test set, including all the possible behaviors of the class under test, by applying test reduction hypothesis. We also study the construction of an oracle, the procedure that analyses the results of the tests, adapted to object-oriented software.
Keywordsobject-orientation testing black-box testing strategy formal methods validation and verification test and evaluation
Unable to display preview. Download preview PDF.
- Stéphane Barbey, Manuel Ammann, and Alfred Strohmeier. Open issues in testing object-oriented software. In Karol Frühauf, editor, ECSQ '94 (European Conference on Software Quality), pages 257–267, Basel, Switzerland, October 17–20 1994. vdf Hochschulverlag AG an der ETH Zürich. Also available as Technical Report (EPFL-DI-LGL No 94/45).Google Scholar
- Stéphane Barbey, Didier Buchs, and Cécile Péraire. A theory of specification-based testing for object-oriented software. Technical Report 96/163, EPFL-DI-LGL, January 1996.Google Scholar
- Gilles Bernot, Marie-Claude Gaudel, and Bruno Marre. Software testing based on formal specifications: a theory and a tool. IEE Software Engineering Journal, 6(6):387–405, November 1991.Google Scholar
- Olivier Biberstein and Didier Buchs. Structured algebraic nets with object-orientation. In Workshop on Object-Oriented Programming and Models of Concurrency '95, Turin, June 1995.Google Scholar
- Didier Buchs and Nicolas Guelfi. A concurrent object-oriented Petri nets approach for system specification. In M. Silva, editor, 12th International Conference on Application and Theory of Petri Nets, pages 432–454, Aahrus, Denmark, June 1991.Google Scholar
- Roong-Ko Doong and Phyllis G. Frankl. The ASTOOT approach to testing object-oriented programs. ACM Transactions on Software Engineering and Methodology, 3(2):101–130, April 1994.Google Scholar
- Matthew Hennessy and Robin Milner. Algebraic laws for nondeterminism and concurrency. Journal of the ACM, 32(1):137–161, January 1985.Google Scholar
- Jarle Hulaas. An evolutive distributed algebraic petri nets simulator. In A. Javor, A. Lehmann, and I. Molnar, editors, Modelling and Simulation 1996, pages 348–352, Budapest, Hungary, June 2–6 1996. 10th European Simulation Multiconference ESM96, Society for Computer Simulation International.Google Scholar
- Bruno Marre. Sélection automatique de jeux de tests à partir de spécifications algébriques en utilisant la programmation logique. PhD thesis, LRI, Université de Paris XI, Orsay, France, January 1991.Google Scholar
- Robin Milner. Communication and Concurrency. Prentice Hall, 1989.Google Scholar
- James Rumbaugh, Michael Blaha, William Premerlani, Frederick Eddy, and William Lorensen. Object-Oriented Modeling and Design. Prentice Hall, 1991.Google Scholar
- Elaine J. Weyuker. The oracle assumption of program testing. In 13th International Conference on System Sciences, pages 44–49, Hawaii, USA, 1980.Google Scholar