Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.5555/962289.962327dlproceedingsArticle/Chapter ViewAbstractPublication PagescasconConference Proceedingsconference-collections
Article
Free access

A case study in class testing

Published: 24 October 1993 Publication History

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

[1]
{Bei90} B. Beizer. Software Testing Techniques. Van Nostrand Reinhold, 1990.
[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]
{Dav88} A. M. Davis. A comparison of techniques for the specification of external system behavior. Commun. ACM, 31(9): 1098--1115, September 1988.
[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]
{GMH81} J. Gannon, P. McMullin, and R. Hamlet. Data-abstraction implementation, specification and testing. ACM Trans. Program Lang. Syst., 3(3): 211--223, July 1981.
[7]
{HMF92} M. J. Harrold, J. D. McGregor, and K. J. Fitzpatrick. Incremental testing of object-oriented class structures. In Proc. 14th Int. Conf. on Software Engineering, pages 68--80, 1992.
[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]
{HS91} D. M. Hoffman and P. A. Strooper. Automated module testing in Prolog. IEEE Trans. Soft. Eng., 17(9): 933--942, September 1991.
[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]
{PK90} D. E. Perry and G. K. Kaiser. Adequate testing and object-oriented programming. Journal of Object-Oriented Programming, pages 13--19, January 1990.
[17]
{Rat9l} Rational. The C++ Booch Components-Class Catalog, 1991.
[18]
{SL89} D. P. Sidhu and T. K. Leung. Formal methods for protocol testing: A detailed study. IEEE Trans. Soft. Eng., 15(4): 413--426, April 1989.
[19]
{SR92} M. D. Smith and D. J. Robson. A framework for testing object-oriented programs. Journal of Object-Oriented Programming, 4(6): 45--53, June 1992.
[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]
{Str9l} B. Stroustrup. The C++ Programming Language. Addison-Wesley Publishing Co., 1991.
[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.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image DL Hosted proceedings
CASCON '93: Proceedings of the 1993 conference of the Centre for Advanced Studies on Collaborative research: software engineering - Volume 1
October 1993
12 pages

Sponsors

  • IBM Centre for Advanced Studies (CAS)
  • NRC: National Research Council - Canada

Publisher

IBM Press

Publication History

Published: 24 October 1993

Qualifiers

  • Article

Acceptance Rates

Overall Acceptance Rate 24 of 90 submissions, 27%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)12
  • Downloads (Last 6 weeks)2
Reflects downloads up to 01 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (1999)Testing Object-Oriented Programs An Integrated ApproachProceedings of the 10th International Symposium on Software Reliability Engineering10.5555/851020.856192Online publication date: 1-Nov-1999
  • (1994)Protocol testingProceedings of the 1994 ACM SIGSOFT international symposium on Software testing and analysis10.1145/186258.187153(109-124)Online publication date: 1-Aug-1994
  • (1994)Design for testability in object-oriented systemsCommunications of the ACM10.1145/182987.18407737:9(87-101)Online publication date: 1-Sep-1994
  • (1994)Experiences with cluster and class testingCommunications of the ACM10.1145/182987.18299037:9(39-47)Online publication date: 1-Sep-1994

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Get Access

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media