Increase software trustability with self-testable classes in Java

The rise of component-based software development poses the problem of components trustability. To know whether a given component can be used within a certain context, there must be a way of telling what the component is supposed to do (its contract) without entering into the details of the how. Based on this idea, we have proposed a general Design-for-Trustability methodology ("DfT"), starting from simple self-testing of individual classes to optimized integration testing, This paper describes the "DfT" methodology, the self-testable class model that supports it and the associated tools for Java development.

[1]  Jean-Marc Jézéquel,et al.  Reliable Objects : Lightweight Testing for OO Languages , 2001 .

[2]  Kent Beck,et al.  Test-infected: programmers love writing tests , 2000 .

[3]  Paul C. Jorgensen,et al.  Object-oriented integration testing , 1994, CACM.

[4]  Patrice Frison,et al.  Software engineering teaching: a “Docware” approach , 1999, ITiCSE '99.

[5]  Robert V. Binder,et al.  Testing object‐oriented software: a survey , 1996 .

[6]  R. Kramer iContract - The Java(tm) Design by Contract(tm) Tool , 1998 .

[7]  Bertrand Meyer,et al.  Object-Oriented Software Construction, 2nd Edition , 1997 .

[8]  Philippe Collet,et al.  Efficient Implementation Techniques for Advanced Assertion Languages , 1999, Obj. Logiciel Base données Réseaux.

[9]  Cecilia Mascolo,et al.  XML technologies and software engineering , 2001, Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001.

[10]  Elaine J. Weyuker,et al.  Testing Component-Based Software: A Cautionary Tale , 1998, IEEE Softw..

[11]  Jean-Marc Jézéquel,et al.  Making Components Contract Aware , 1999, Computer.

[12]  Daniel Hoffman,et al.  Programmatic testing of the Standard Template Library containers , 1998, Proceedings 13th IEEE International Conference on Automated Software Engineering (Cat. No.98EX239).

[13]  Jean-Marc Jézéquel,et al.  Design by Contract: The Lessons of Ariane , 1997, Computer.

[14]  Philippe Collet,et al.  Towards efficient support for executing the Object Constraint Language , 1999, Proceedings of Technology of Object-Oriented Languages and Systems - TOOLS 30 (Cat. No.PR00278).

[15]  Gail E. Kaiser,et al.  Adequate testing and object-oriented programming , 1990 .

[16]  John D. McGregor,et al.  Incremental testing of object-oriented class structures , 1992, ICSE '92.

[17]  A. Jefferson Offutt,et al.  Investigations of the software testing coupling effect , 1992, TSEM.

[18]  Jean-Marc Jézéquel,et al.  Self-testable components: from pragmatic tests to design-for-testability methodology , 1999, Proceedings Technology of Object-Oriented Languages and Systems. TOOLS 29 (Cat. No.PR00275).

[19]  John D. McGregor,et al.  Incremental Testing Of Object-Oriented Class Structures/spl dagger/ , 1992, International Conference on Software Engineering.

[20]  David Chenho Kung,et al.  Or Regression Testing of Object-Oriented Programs , 1996, J. Syst. Softw..

[21]  Robert V. Binder,et al.  Design for testability in object-oriented systems , 1994, CACM.