ACM Home Page
Please provide us with feedback. Feedback
A case study in class testing
Full text PdfPdf (731 KB)
Source IBM Centre for Advanced Studies Conference archive
Proceedings of the 1993 conference of the Centre for Advanced Studies on Collaborative research: software engineering - Volume 1 table of contents
Toronto, Ontario, Canada
SESSION: Testing and debugging table of contents
Pages: 472 - 482  
Year of Publication: 1993
Authors
Daniel Hoffman  University of Victoria, Victoria, B.C., Canada
Paul Strooper  University of Queensland, St. Lucia, Australia
Sponsors
: National Research Council of Canada (NRC)
: IBM Centre for Advanced Studies (CAS)
Publisher
IBM Press 
Bibliometrics
Downloads (6 Weeks): 0,   Downloads (12 Months): 24,   Citation Count: 3
Additional Information:

abstract   references   cited by   collaborative colleagues  

Tools and Actions: Review this Article  

ABSTRACT

In contrast to the explosion of activity in object-oriented design and programming, little attention has been given to object testing. In our approach, a driver class and an oracle class are developed for each class-under-test (CUT). The driver class is based on a testgraph which partially models the CUT as a state machine, but with vastly fewer states and transitions. The oracle class provides essentially the same operations as the CUT, but supports only the testgraph states and transitions. Surprisingly thorough testing is achievable with simple test graphs and oracles. The key is designing the two together, to avoid tests for which input generation and output checking are unaffordable. We illustrate our approach with a test suite developed for a class from a commercial library.


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
{Cho78} T. S. Chow. Testing software design modeled by finite-state machines. IEEE Trans. Soft. Eng., SE-4(3): 178--187, May 1978.
3
 
4
{Fie89} S. P. Fiedler. Object-oriented unit testing. Hewlett-Packard Journal, pages 69--74, April 1989.
 
5
{Fra90} P. G. Frankl. Tools for testing object-oriented programs. In Proc. Pacific Northwest Software Quality Conf., pages 309--324, 1990.
6
7
 
8
{Hof89} D. M. Hoffman. A CASE study in module testing. In Proc. Conf. Software Maintenance, pages 100--105. IEEE Computer Society, October 1989.
 
9
{How76} W. E. Howden. Reliability of the path analysis testing strategy. IEEE Trans. Soft. Eng., SE-2(3): 208--215, September 1976.
 
10
 
11
{HS93} D. M. Hoffman and P. A. Strooper. Graph-based class testing. In 7th Australian Software Engineering Conf. (to appear), 1993.
 
12
{iee82} Soft. Eng. Tech. Comm. of the IEEE Computer Society. IEEE Standard Glossary of Software Engineering Terminology, September 1982.
 
13
{McI69} D. McIllroy69. Mass-produced software components. In Proc. Conf. NATO Science Committee, 1969.
 
14
{MW92} G. Murphy and P. Wong. Object-oriented systems testing methodology: An overview. Technical Report TR92-0656, MPR Teltech Ltd., October 1992.
 
15
{Pan78} D. J. Panzl. A language for specifying software tests. In Proc. AFIPS Natl. Comp. Conf., pages 609--619. AFIPS, 1978.
 
16
 
17
{Rat9l} Rational. The C++ Booch Components-Class Catalog, 1991.
 
18
 
19
 
20
{SRWG80} G. D. Schultz, D. B. Rose, C. H. West, and J. P. Gray. Executable description and validation of sna. IEEE Transactions on Communications, COM-28(4), April 1980.
 
21
 
22
{TR92} C. D. Turner and D. J. Robson. The testing of object-oriented programs. Technical Report TR-13/92, University of Durham, 1992.
 
23
{Won92} P. Wong. Automated class exerciser (ACE) user's guide. Technical Report TR92-0655, MPR Teltech Ltd., September 1992.

Collaborative Colleagues:
Daniel Hoffman: colleagues
Paul Strooper: colleagues