Nothing Special   »   [go: up one dir, main page]

skip to main content
article

Embedding built-in tests in hot spots of an object-oriented framework

Published: 01 August 2002 Publication History

Abstract

This paper describes a scheme of encapsulating test support code as built-in test (BIT) components and embedding them into the hot spots of an object-oriented framework so that defects caused by the modification and extension of the framework can be detected effectively and efficiently through testing. The test components embedded into a framework in this way increase the testability of the framework by making it easy to control and observe the process of framework testing. The proposed technique is illustrated using the facilities of C++. Our testing scheme, however, is equally applicable to other object-oriented languages. Using our scheme, test components can be designed and embedded into the hot spots of a framework without incurring changes or intervention to the framework code, and also can be attached and detached dynamically to/from the framework as needed at run-time.

References

[1]
Fayad, M.E., Schmidt, D.C. and Johnson, R.E., Building Application Frameworks, John Wiley & Sons, Inc., 1999.
[2]
Fayad, M.E., Schmidt, D.C. and Johnson, R.E., Implementing Application Frameworks, John Wiley & Sons, Inc., 1999.
[3]
Fayad, M.E. and Johnson, R.E., Domain-Specific Application Frameworks, John Wiley & Sons, Inc., 2000.
[4]
Gamma, E., et al., Design Patterns: Elements of Reusable Object-Oriented Software, Addison-Wesley, 1995.
[5]
Codenie, W, et al., "From Custom Applications to Domain-Specific Frameworks", Comm. ACM, 40(10), Oct. 1997, pp. 71-77.
[6]
Garlan, D., et al., "Architectural Mismatch or Why its hard to build systems out of existing parts", Proc. 17th Int'l Conf. Software Engineering, Apr. 1995, pp. 179-185.
[7]
Kung, D.C., Hsia, p. and Gao, J. (eds.), Testing Object-Oriented Software, IEEE CS Press, 1998.
[8]
Binder, R.V., Testing Object-Oriented Systems: Models, Patterns, and Tools, Addison-Wesley, 2000.
[9]
Doong, R. and Frankl, P., "The ASTOOT Approach to Testing Object-Oriented Programs", ACM Transactions on Software Engineering and Methodology, 3(2), Apr. 1994, pp. 101-130.
[10]
Hoffman, D. and Strooper, P., "ClassBench: a Framework for Automated Class Testing", Software Maintenance: Practice and Experience, 27(5), May 1997, pp. 573-597.
[11]
Harrold, M.J., Mcgregor, J.D. and Fitzpatrick, K.J., "Incremental Testing of Object-Oriented Class Structures", Proceedings of 14th Int'l Conference on Software Engineering, May 1992, pp. 68-80.
[12]
Jorgensen, P.C. and Erickson, C., "Object-Oriented Integration Testing", Comm. ACM, 37(9), Sept. 1994, pp. 30-38.
[13]
Sparks, S, et al., "Managing Object-Oriented Framework Reuse", IEEE Computer, September 1996, 29(9), pp. 52-61.
[14]
Fayad, M.E., Wang, Y. and King, G., "Built-In Test Reuse", In the Building Application Frameworks, Fayad, M.E., et al, John Wiley & Sons, Inc., 1999, pp. 488-491.
[15]
Binder, R.V., "Design for Testability in Object-Oriented Systems", Comm. ACM, 37(9), Sep. 1994, pp. 87-101.
[16]
Voas, J.M., Morell, L and Miller, K., "Predicting Where Faults Can Hide from Testing", IEEE Software, Mar. 1991, pp. 41-48.
[17]
Voas, J.M. and Miller, K.W., "Software Testability: The New Verification", IEEE Software, 12(3), May 1995, pp. 17-28.
[18]
Meyer, B., "Applying Design by Contract", IEEE Computer, Oct. 1992, pp. 40-51.
[19]
Rosenblum, D.S., "A Practical Approach to Programming with Assertions", IEEE Transactions on Software Engineering, 21(1), Jan. 1995, pp. 19-31.
[20]
Voas, J. and Kassab, L., "Using Assertions to Make Untestable Software More Testable", Software Quality Professional Journal, 1(4), Sep. 1999.
[21]
Pree, W., Design Patterns for Object-Oriented Software Development, Addison-Wesley, 1995.
[22]
Schmid, H.A. "Systematic Framework Design by Generalization", Comm. ACM, 40(10), Oct. 1997, pp. 48-51.
[23]
Helm, R, et al., "Contracts: Specifying Behavioral Compositions in Object-Oriented Systems", Proc. OOPSLA'90, Ottawa, Canada, 1990.
[24]
Steyaert, P, et al., "Reuse Contracts: Managing the Evolution of Reusable Assets", Proc. OOPSLA'96, San Jose, CA, USA, Oct. 6-10, 1996.
[25]
D. Harel, et. al., "STATEMATE: a Working Environment for the Development of Complex Reactive Systems", IEEE Transactions on Software Engineering, 16(4), April 1990, pp. 403-414.
[26]
The XUnit Home Page, http://www.xprogramming.com/software.htm
[27]
Gamma, E. and Beck, K. "JUnit A Cook's Tour", Java Report, May 1995.
[28]
Edwards, S. H., "A Framework for Practical Automated Black-Box Testing of Component-Based Software", Software Testing, Verification and Reliability, Vol. 11, 2001, pp. 97-111.

Cited By

View all

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM SIGPLAN Notices
ACM SIGPLAN Notices  Volume 37, Issue 8
August 2002
64 pages
ISSN:0362-1340
EISSN:1558-1160
DOI:10.1145/596992
Issue’s Table of Contents

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 August 2002
Published in SIGPLAN Volume 37, Issue 8

Check for updates

Author Tags

  1. built-in test (BIT)
  2. hook classes
  3. object-oriented framework
  4. testability

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 20 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2013)ReuseACM SIGSOFT Software Engineering Notes10.1145/2439976.243998238:2(1-11)Online publication date: 23-Mar-2013
  • (2012)Testability Estimation of Framework Based ApplicationsJournal of Software Engineering and Applications10.4236/jsea.2012.51109705:11(841-849)Online publication date: 2012
  • (2010)Variability-Based Models for Testability Analysis of FrameworksJournal of Software Engineering and Applications10.4236/jsea.2010.3505103:05(455-459)Online publication date: 2010
  • (2010)Effect of variability of a framework upon its testing effort: An empirical evaluation5th International Conference on Computer Sciences and Convergence Information Technology10.1109/ICCIT.2010.5711046(146-151)Online publication date: Nov-2010
  • (2006)Employing user profiles to test a new version of a GUI component in its context of useSoftware Quality Journal10.1007/s11219-006-0040-714:4(359-377)Online publication date: 1-Dec-2006

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media