Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.5555/647882.738092guideproceedingsArticle/Chapter ViewAbstractPublication PagesConference Proceedingsacm-pubtype
Article

Constructing Self-Testable Software Components

Published: 01 July 2001 Publication History
  • Get Citation Alerts
  • Abstract

    Abstract: Component-based software engineering techniques are gaining substantial interest because of their potential to improve productivity and lower development costs of new software applications, yet satisfying high reliability requirements. A first step to address such high reliability requirements consists in reusing reliable components. To merit the attribute "reliable", a component should be extensively validated. As far as testing is the technique most commonly used for validation, this means that reusable components should well tested. For tests to be applied efficiently and on time, a component should be testable. This paper presents an approach to improve component testability by integrating testing resources into it, and hence obtaining a self-testable component. A prototyping tool, Concat, was developed to support the proposed approach. The tool is intended for OO components implemented in C++. Some preliminary results of an empirical evaluation of the fault detection effectiveness of the proposed testing approach are also discussed.

    References

    [1]
    F. Bachmann, L. Bass et al. "Technical Concepts of Component Based Software Engineering". Technical Report CMU/SEI-2000-TR-008, 04/2000.
    [2]
    S. Barbey, D. Buchs, C. Péraire. "A Theory of Specification-Based Testing for Object-Oriented Software", in Proc. 2nd European Dependable Computing Conference (EDCC-2), Italy, 1996, pp.303-320.
    [3]
    A. Beugnard, J. Jezequel, N. Plouzeau, D. Watkins. "Making Components Contract Aware", IEEE Computer, July/1999, pp.38-45.
    [4]
    B. Beizer. "Software Testing Techniques". International Thomson Computer Press, 2nd Edition, 1990.
    [5]
    B. Beizer. "Black-Box Testing". John Wiley & Sons, 1995.
    [6]
    R.V. Binder. "Testing Object-Oriented Systems: Models, Patterns and Tools". Addison-Wesley, 2000.
    [7]
    R.Y. Binder. "The FREE Approach to Testing Object-Oriented Software: an Overview", report of RSBC, 1994, available on the Web: www.rsbc.com.
    [8]
    R.V. Binder. "Design for Testability in Object-Oriented Systems", Comm. of ACM, 37(9), Sept./1994, pp.87-101.
    [9]
    R.Y. Binder. "Testing for Reuse: Libraries and Frameworks", in Journal of Object-Oriented Programming (JOOP), 6(6), Aug/1996.
    [10]
    M.E. Delamaro. "Interface Mutation: an Adequacy Criterion for Integration Testing". PhD Thesis, Physics Institute, S. Paulo State University at S. Carlos, 1997. (in Portuguese).
    [11]
    M.E. Delamaro, J.C. Maldonado, A.M.R. Vincenzi. "Proteum/IM 2.0: An Integrated Mutation Testing environment", in Proc. of Mutation 2000 Symposium, USA, Oct/2000.
    [12]
    R.A. DeMillo, R.J. Lipton, F.G. Sayward. "Hints on test data selection: Help for the Practitioner Programmer". IEEE Computer, 11(4), 1978, pp.34-43.
    [13]
    R.K. Doong, P. Frankl. "The ASTOOT Approach to Testing Object-Oriented Programs", in ACM Trans on Software Engineering and Methodology, 3(2), April/1994, pp. 101-130.
    [14]
    S.C.P.F. Fabbri, J.C. Maldonado, P.C. Masiero, M.E. Delamaro. "Mutation Analysis Testing for Finite State Machines", in Proc. 5th International Symposium on Software Reliability Engineering (ISSRE'94), USA, Nov/1994, pp.220-229.
    [15]
    S.C.P.F. Fabbri, J.C. Maldonado, P.C. Masiero, M.E. Delamaro. "Mutation Analysis Applied to Validate Specifications Based on Petri Nets", in FORTE'95 - 8th IFIP Conference on Formal Descriptions Techniques for Distributed Systems and Communication Protocols, Canada, Oct/1995, pp.329-337.
    [16]
    S.C.P.F. Fabbri, J.C. Maldonado, T. Sugeta, P.C. Masiero. "Mutation Testing Applied to Validate Specifications Based on Statecharts", in Proc. 9th International Symposium on Software Reliability Engineering (ISSRE'99), USA, Nov/1999, pp.210-219.
    [17]
    X. Franch. "The Convenience for a Notation to Express Non-Functional Characteristics of Software Components", in Proc. 1st Workshop on Component-Based Systems, Switzerland, 1997. Available on the Web: www.cs.iastate.edu/~leavens/FoCBS/FoCBS.html.
    [18]
    R.S. Freedman. "Testability of Software Components". IEEE Trans. Software Eng., 17(6), June/1991, pp.553-564.
    [19]
    J. Gao. "Testing Component-Based Software". Proc. of STARWest, San Jose, USA, 1999. Available on the Web: www.engr.sjsu/edu/gaojerry/report/star-test.htm.
    [20]
    M.-J. Harrold, J. McGregor, K. Fitzpatrick. "Incremental Testing of Object-Oriented Class Structures, in Proc. 14th IEEE Int. Conference on Software engineering (ICSE-14), 1992, pp.68-80.
    [21]
    D. Hoffman. "Hardware Testing and Software Ics". Proc. Northwest Software Quality Conference, USA, Sept/1989, pp.234-244.
    [22]
    D. Hoffman, P. Strooper. "The Testgraph Methodology", in Journal of Object-Oriented Programming (JOOP), Nov-Dec/1995, pp.35-41.
    [23]
    IEEE Standard Glossary of Software Engineering Terminology ANSI/IEEE 610.12, 1990, IEEE Press.
    [24]
    D. Kung, J. Gao, P. Hsia, Y. Toyoshima, C. Chen, Y.S. Kim, Y.K. Song. "Developping an Object-Oriented Software Testing and Maintenance Environment", in Comm. of the ACM, 38(10), Oct/1995, pp.75-87.
    [25]
    B. Meyer. Object-Oriented Software Construction. Prentice Hall, 1988.
    [26]
    B. Meyer. "Applying Design by Contract". IEEE Computer, Oct./1992, pp.40-51.
    [27]
    G.J. Myers. "The Art of Software Testing". John Wiley & Sons, 1978.
    [28]
    R.S. Pressman, Software Engineering, a Practitioner's Approach. McGraw-Hill, 1997, 4th Edition.
    [29]
    S. Siegel. "Object-Oriented Software Testing: a Hierarchical Approach", John Wiley & Sons, 1996.
    [30]
    S.R.S. Souza, J.C. Maldonado, S.C.P.F. Fabbri, W. Lopes de Souza. "Mutation Testing Applied to Estelle Specifications", in Proc. of 33th Hawaii Intern. Conf. On System Science, mini-track on Distributed Systems Testing, Hawaii, Jan/2000.
    [31]
    C. Szyperski. "Component Software. Beyond OO Programming". Addison-Wesley, 1998.
    [32]
    C.M. Toyota, E. Martins. "Reuse in OO Testing: a Methodology for the Construction of Self-Testing Classes", in IX International Conference on Software Technology - Software Quality, Curitiba, Brazil, June/1998. (in Portuguese).
    [33]
    C.M. Toyota. "Improving Class Testability using the Self-Testing concept". Master Dissertation, Institute of Computing, State University of Campinas, June/2000. (in Portuguese).
    [34]
    Y. Traon; D. Deveaux; J.-M. Jézéquel. "Self-testable Components: from Pragmatic Tests to Design-for-Testability Methodology". in Proc. 1st Workshop on Component-Based Systems, Switzerland, 1997. URL: www.cs.iastate.edu/~leavens/FoCBS/FoCBS.html.
    [35]
    A.M.R. Vincenzi, J.C. Maldonado, E.F. Barbosa, M.E. Delamaro. "Essential Interface Operators a Case Study", in XlII Brazilian Symposium on Software Engineering, S. Catarina, Brazil, Oct/1999, pp.373-391.
    [36]
    J.M. Voas; K.W. Miller. "Software Testability: the New Verification". IEEE Software, March/1995, pp.17-28.
    [37]
    J.M. Voas, M. Schmid, M. Schatz. "A Testability based Assertion Placement Tool for Object-Oriented Software". Technical Report - Information Technology Laboratory, NIST CGR 98-735, Jan/1998. Available on the Web: http://www.rstcorp.com.
    [38]
    Y. Wang, G. King, I. Court, M. Ross. "On Testable Object-Oriented Programming", in ACM Software Engineering Notes, 22(4), July/1997, pp.84-90.
    [39]
    Y. Wang; G. King; H. Wickburg. "A Method for Built-in Tests in Component-based Software Maintenance". Proc. 3rd European Conference on Software Maintenance and Reengeneering (CSMR), Holanda, March/1999, pp.186-189.
    [40]
    E.J. Weyuker. "Axiomatizing Software Test Data Adequacy". IEEE Trans. Software Eng. SE-12, 12, Dec/1986, pp.1128-1138.
    [41]
    E.J. Weyuker. "Testing Component-Based Software: a Cautionary Tale". IEEE Software, Sept-Oct/1998 pp.54-59.
    [42]
    R.L. Yanagawa. "Evaluating the approach for construction and use of self-testable components". Master Dissertation, Institute of Computing, State University of Campinas, December/2000. (in Portuguese).

    Cited By

    View all
    • (2013)ReuseACM SIGSOFT Software Engineering Notes10.1145/2439976.243998238:2(1-11)Online publication date: 23-Mar-2013
    • (2007)Component airbagThe 6th Joint Meeting on European software engineering conference and the ACM SIGSOFT symposium on the foundations of software engineering: companion papers10.1145/1295014.1295052(599-601)Online publication date: 3-Sep-2007
    • (2007)Component airbagProceedings of the the 6th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering10.1145/1287624.1287720(599-602)Online publication date: 7-Sep-2007
    • Show More Cited By

    Index Terms

    1. Constructing Self-Testable Software Components
      Index terms have been assigned to the content through auto-classification.

      Recommendations

      Comments

      Information & Contributors

      Information

      Published In

      cover image Guide Proceedings
      DSN '01: Proceedings of the 2001 International Conference on Dependable Systems and Networks (formerly: FTCS)
      July 2001
      500 pages
      ISBN:0769511015

      Publisher

      IEEE Computer Society

      United States

      Publication History

      Published: 01 July 2001

      Author Tag

      1. component testability - design for testability - self-testable component - OO testing

      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
      • (2007)Component airbagThe 6th Joint Meeting on European software engineering conference and the ACM SIGSOFT symposium on the foundations of software engineering: companion papers10.1145/1295014.1295052(599-601)Online publication date: 3-Sep-2007
      • (2007)Component airbagProceedings of the the 6th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering10.1145/1287624.1287720(599-602)Online publication date: 7-Sep-2007
      • (2005)A method for modeling and testing exceptions in component-based software developmentProceedings of the Second Latin-American conference on Dependable Computing10.1007/11572329_8(61-79)Online publication date: 25-Oct-2005
      • (2005)Regression test selection for testable classesProceedings of the 5th European conference on Dependable Computing10.1007/11408901_33(453-470)Online publication date: 20-Apr-2005

      View Options

      View options

      Media

      Figures

      Other

      Tables

      Share

      Share

      Share this Publication link

      Share on social media