Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
article

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

Published: 01 August 2002 Publication History
  • Get Citation Alerts
  • 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

    Index Terms

    1. Embedding built-in tests in hot spots of an object-oriented framework
      Index terms have been assigned to the content through auto-classification.

      Recommendations

      Comments

      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 27 Jul 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

      Get Access

      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