|
ABSTRACT
Because of the growing importance of object-oriented programming, a number of testing strategies have been proposed. They are based either on pure black-box or white-box techniques. We propose in this article a methodology to integrate the black- and white-box techniques. The black-box technique is used to select test cases. The white-box technique is mainly applied to determine whether two objects resulting from the program execution of a test care are observationally equivalent. It is also used to select test cases in some situations. We define the concept of a fundamental pair as a pair of equivalent terms that are formed by replacing all the variables on both sides of an axiom by normal forms. We prove that an implementation is consistent with respect to all equivalent terms if and only if it is consistent with respect to all fundamental pairs. In other words, the testing coverage of fundamental pairs is as good as that of all possible term rewritings, and hence we need only concentrate on the testing of fundamental pairs. Our strategy is based on mathematical theorems. According to the strategy, we propose an algorithm for selecting a finite set of fundamental pairs as test cases. Given a pair of equivalent terms as a test case, we should then determine whether the objects that result from executing the implemented program are observationally equivalent. We prove, however, that the observational equivalence of objects cannot be determined using a finite set of observable contexts (which are operation sequences ending with an observer function) derived from any black-box technique. Hence we supplement our approach with a “relevant observable context” technique, which is a heuristic white-box technique to select a relevant finite subset of the set of observable contexts for determining the observational equivalence. The relevant observable contezxts are constructed from a data member relevance graph (DRG), which is an abstraction of the given implementation for a given specificatin. A semiautomatic tool hass been developed to support this technique.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
|
| |
2
|
|
| |
3
|
|
| |
4
|
|
| |
5
|
CHEN, T. Y. AND LOW, C. K. 1997. Error detection in C++ through dynamic data flow analysis. Softw. Concepts Tools 18, 1, 1-13.
|
| |
6
|
CHEN, H. Y. AND TSE, T.H. 1997. Towards a new methodology for object-oriented software testing at the class and cluster levels. Tech. Rep. TR-97-07. Dept. of Computer Science. University of Hong Kong, Hong Kong, China.
|
| |
7
|
CHEN, H. Y., DENG, Y. T., AND TSE, T.H. 1997. ROCS: An object-oriented software testing system at the class level based on the relevant observable context technique. Tech. Rep. TR-97-08, Dept. of Computer Science. University of Hong Kong, Hong Kong, China.
|
| |
8
|
CLARKE, L.A. 1976. A system to generate test data and symbolically execute programs. IEEE Trans. Softw. Eng. SE-2, 3, 215-222.
|
| |
9
|
|
| |
10
|
|
 |
11
|
Roong-Ko Doong , Phyllis G. Frankl, Case studies on testing object-oriented programs, Proceedings of the symposium on Testing, analysis, and verification, p.165-177, October 08-10, 1991, Victoria, British Columbia, Canada
[doi> 10.1145/120807.120822]
|
 |
12
|
|
| |
13
|
ELSHOFF, J. L. 1975. A numerical profile of commercial PL/I programs. Rep. GMR-1927, Computer Science Dept., General Motors Research Laboratory, Warren, MI.
|
| |
14
|
ELSHOFF, J.L. 1976. An analysis of some commercial PL/I programs. IEEE Trans. Softw. Eng. SE-2, 208-215.
|
| |
15
|
FIEDLER, S.P. 1989. Object-oriented unit testing. Hewlett-Packard J. 40, 4, 69-74.
|
| |
16
|
FRANKL, P.G. 1991. A framework for testing object-oriented programs. Tech. Rep. PUCS- 105-91, Dept. of Electrical Engineering and Computer Science, Polytechnic University, Brooklyn, NY.
|
| |
17
|
FRANKL, P. G. AND DOONG, R.-K. 1990. Tools for testing object-oriented programs. In Proceedings of 8th Pacific Northwest Conference on Software Quality, 309-324.
|
| |
18
|
|
 |
19
|
John Gannon , Paul McMullin , Richard Hamlet, Data Abstraction, Implementation, Specification, and Testing, ACM Transactions on Programming Languages and Systems (TOPLAS), v.3 n.3, p.211-223, July 1981
[doi> 10.1145/357139.357140]
|
| |
20
|
|
| |
21
|
|
 |
22
|
|
| |
23
|
KNUTH, D. E. 1971. An empirical study of FORTRAN programs. Softw. Pract. Exper. 1, 105-133.
|
| |
24
|
KUNG, D., GAO, J., HSIA, P., LIN, J., AND TOYOSHIMA, Y. 1993. Design recovery for software testing of object-oriented programs. In Proceedings of the 1st Working Conference on Reverse Engineering (Baltimore, MD). IEEE Press, Piscataway, NJ, 202-211.
|
| |
25
|
|
| |
26
|
JALOTE, P. 1983. Specification and testing of abstract data types. In Proceedings of the 7th Annual International Computer Software and Applications Conference. IEEE Computer Society, New York, NY, 508-511.
|
 |
27
|
|
| |
28
|
MILLER, E.F. 1977. Notes on the philosophy of testing. In Proceedings of the 1st Annual International Computer Software and Applications Conference. IEEE Computer Society, New York, NY.
|
| |
29
|
|
| |
30
|
|
| |
31
|
|
| |
32
|
|
| |
33
|
|
| |
34
|
TURNER, C. D. 1993. State-based testing and inheritance. Tech. Rep. TR-1/93, Computer Science Division, School of Engineering and Computer Science, University of Durham, Durham, UK.
|
| |
35
|
TURNER, C. D. AND ROBSON, D.J. 1993. Guidance for the testing of object-oriented programs. Tech. Rep. TR-2/93, Computer Science Division, School of Engineering and Computer Science, University of Durham, Durham, UK.
|
| |
36
|
TURNER, C. D. AND ROBSON, D.J. 1995. A state-based approach to the testing of class-based programs. Softw. Concepts Tools 16, 3, 106-112.
|
| |
37
|
TSE, T. H. AND GOGUEN, J.n. 1992. Function and object-oriented design (FOOD). Foundations of Information Systems Specification and Design, Dagstuhl Seminar Rep. No. 35. International Conference and Research Center for Computer Science, Wadern, Germany.
|
| |
38
|
WHITE, L. J. AND COHEN, E.I. 1980. A domain strategy for computer program testing. IEEE Trans. Softw. Eng. SE-6, 3, 247-257.
|
| |
39
|
|
CITED BY 14
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Sreedevi Sampath , Sara Sprenkle , Emily Gibson , Lori Pollock, Integrating customized test requirements with traditional requirements in web application testing, Proceedings of the 2006 workshop on Testing, analysis, and verification of web services and applications, p.23-32, July 17-17, 2006, Portland, Maine
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Robert M. Hierons , Kirill Bogdanov , Jonathan P. Bowen , Rance Cleaveland , John Derrick , Jeremy Dick , Marian Gheorghe , Mark Harman , Kalpesh Kapoor , Paul Krause , Gerald Lüttgen , Anthony J. H. Simons , Sergiy Vilkomir , Martin R. Woodward , Hussein Zedan, Using formal specifications to support testing, ACM Computing Surveys (CSUR), v.41 n.2, p.1-76, February 2009
|
REVIEW
"Christopher Martin Holt : Reviewer"
This paper is concerned with devising tests to help determine
whether the implementation of an object satisfies its specification. A
specification is assumed to follow the OBJ style of multisorted initial
algebras, where the equations are unde
more...
|