Abstract
The paper presents a theory of program testing based on formal specifications. The formal semantics of the specifications is the basis for a notion of an exhaustive test set. Under some minimal hypotheses on the program under test, the success of this test set is equivalent to the satisfaction of the specification.
The selection of a finite subset of the exhaustive test set can be seen as the introduction of more hypotheses on the program, called selection hypotheses. Several examples of commonly used selection hypotheses are presented.
Another problem is the observability of the results of a program with respect to its specification: contrary to some common belief, the use of a formal specification is not always sufficient to decide whether a test execution is a success. As soon as the specification deals with more abstract entities than the program, program results may appear in a form which is not obviously equivalent to the specified results. A solution to this problem is proposed in the case of algebraic specifications.
Chapter PDF
Similar content being viewed by others
Keywords
- Label Transition System
- Disjunctive Normal Form
- Selection Hypothesis
- Testing Context
- Finite State Automaton
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
Barbey S., Buchs D., Testing Ada abstract data types using formal specifications, in Ada in Europe, proc. 1st Int. Eurospece-Ada-Europe Symposium, Copenhagen, Sept. 1994, LNCS n°887, Springer-Verlag, 1994, pp. 76–89.
Bernot G., Testing against formal specifications: a theoretical view, TAPSOFT'91 CCPSD proceedings, LNCS n° 494, Springer-Verlag, Brighton, 1991, pp. 99–119.
Bernot G., Gaudel M-C., Marre B., Software testing based on formal specifications: a theory and a tool, Software Engineering Journal, vol. 6, n° 6, Nov. 1991.
Bernot G., Gaudel M-C, Marre B., A Formal Approach to Software Testing, 2nd International Conference on Algebraic Methodology and Software Technology (AMAST), Iowa City, May 1991, Workshops in Computing Series, Springer-Verlag, 1992.
Bougé L., A contribution to the theory of program testing, Theoretical Computer Science, vol. 37, 1985, pp. 151–181.
Bougé L., Choquet N., Fribourg L., Gaudel M.-C., Application of PROLOG to test sets generation from algebraic specifications, TAPSOFT'85 proceedings, LNCS n°186, Springer-Verlag, Berlin, 1985, pp. 246–260.
Bougé L., Choquet N., Fribourg L., Gaudel M.-C., Test set generation from algebraic specifications using logic programming, Journal of Systems and Software, vol. 6, n°4, pp. 343–360, 1986.
Brinksma E., A theory for the derivation of tests, 8th International Conference on Protocol Specification, Testing and Verification, Atlantic City, North-Holland, 1988.
Broy M., Wirsing M., Partial Abstract Types. Acta Informatica, 3, 1982, pp. 47–64.
Caspi P., Halbwachs N., Pilaud D., Plaice J., Lustre: a declarative language for programming synchronous systems, 14th ACM symposium on Principle of Programming Languages, Munich, 1987, pp. 178–188.
Dauchy P., Gaudel M-C, Marre B., Using Algebraic Specifications in Software Testing: a case study on the software of an automatic subway, Journal of Systems and Software, vol. 21, n° 3, June 1993, pp. 229–244.
Dauchy P., Ozello P., Experiments with Formal Specifications on MAGGALY, Second International Conference on Applications of Advanced Technologies in Transportation Engineering, Minneapolis, Aug. 1991.
Dick J., Faivre A., Automating the generation and sequencing of test cases from model-based specifications, FME'93, LNCS n°670, Springer-Verlag, 1993, pp. 268–284.
Dong R. K., Frankl Ph. G., The ASTOOT approach to testing object-oriented programs, ACM Transactions on Software Engineering and Methodology, vol. 3, n° 2, Apr. 1994.
Dssouli R., Bochmann G., Conformance testing with multiple observers, in Protocol Specification Testing and Verification VI, North-Holland 1987, pp. 217–229.
Evans D., Using specifications to check source code, Master thesis, MIT Laboratory for Computer Science, 1994.
Goguen, J.A., Thatcher, J.W. and Wagner E.G., An initial algebra approach to the specification, correctness and implementation of abstract data types, in Current Trends in Programming Methodology, Vol.4: Data Structuring, edited by R.T. Yeh, pp. 80–149, Prentice-Hall, 1978.
Goodenough J. B., Gerhart S., Towards a theory of test data selection, IEEE Transactions on Software Engineering, vol. SE-1, n° 2, June 1975.
Gourlay J., A mathematical framework for the investigation of testing, IEEE Transactions on Software Engineering, vol. SE-9, n° 6, pp. 686–709, Nov. 1983.
Hennicker R., Observational implementations of algebraic specifications, Acta Informatica, vol. 28, n° 3, pp. 187–230, 1991.
Hsiao N. C., Sélection de test de propriétés de sûreté à partir d'une modélisation algébrique de programme Lustre, Thèse de l'Université de Paris-Sud, Orsay, 1994.
Le Gall P., Les Algèbres étiquetées: une sémantique pour les spécifications algébriques fondée sur une utilisation systématique des termes. Application au test de logiciel avec traitement d'exceptions, Thèse de l'université de Paris-Sud, LRI, Orsay, 1993.
Marre B., LOFT, a tool for assisting test data selection from algebraic specifications, in these proceedings.
Marre B., Thévenod-Fosse P., Waeselink H., Le Gall P., Crouzet Y., An experimental evaluation of formal testing and statistical testing, SAFECOMP'92, Zürich, Oct. 1992.
Orejas F., Implementation and behavioural equivalence: a survey, 8th WADT/3rd COMPASS Workshop, Doudan, 1991, LNCS n° 655, Springer-Verlag, 1993, pp. 93–125.
Phalippou M., Relations d'implantation et hypothèses de test sur des automates à entrées et sorties, Thèse de l'université de Bordeaux 1, Sept. 1994.
Pitt D.H., Freestone D., “The derivation of conformance tests from LOTOS specifications”, IEEE Transactions on Software Engineering, vol. 16, n°12, Dec. 1990, pp. 1337–1343.
Sannella D. T., Tarlecki A., On observational equivalence of algebraic specifications, J.C.S.S., vol. 34, pp. 150–178, 1987.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1995 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Gaudel, MC. (1995). Testing can be formal, too. In: Mosses, P.D., Nielsen, M., Schwartzbach, M.I. (eds) TAPSOFT '95: Theory and Practice of Software Development. CAAP 1995. Lecture Notes in Computer Science, vol 915. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-59293-8_188
Download citation
DOI: https://doi.org/10.1007/3-540-59293-8_188
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-59293-8
Online ISBN: 978-3-540-49233-7
eBook Packages: Springer Book Archive