DocumentCode
2980240
Title
Self-testable components: from pragmatic tests to design-for-testability methodology
Author
Le Treon, Y. ; Deveaux, Daniel ; Jézéquel, Jean-Marc
Author_Institution
INRIA, IRISA, Rennes, France
fYear
1999
fDate
36342
Firstpage
96
Lastpage
107
Abstract
Testing is a key aspect of software development, because of its cost and impact on final product reliability. Classical views on testing and their associated testing models, based on the waterfall model, are not well-suited to an OO development process. The standardization of semi-formal modeling methods, such as UML, reveals this trend: testing can no longer be separated from specification/design/code stages. A test approach integrated with the OO process must be defined with an associated testing philosophy. The approach presented in the paper aims at providing a consistent framework for building trust into components. By measuring the quality of test cases, we seek to build trust in a component passing those test cases. We present a pragmatic approach for linking design and test of classes, seen as basic unit test components. Components are self-testable by enhancing them with embedded test sequences and test oracles. Self-testable components serve as building blocks for performing systematic integration and non-regression testing. The main contribution presented in the paper consists of using component self-tests to systematically exercise main system structural dependencies. This approach has been implemented in the Eiffel, Java, Perl and C++ languages. Since it is simpler, due to the direct support for Design-by-Contract(TM) in the language, the Eiffel implementation is detailed
Keywords
object-oriented languages; object-oriented programming; program testing; software quality; Design-by-Contract; Eiffel implementation; OO development process; UML; basic unit test components; consistent framework; design-for-testability methodology; embedded test sequences; final product reliability; non-regression testing; pragmatic tests; self-testable components; semi-formal modeling methods; software development; systematic integration; test cases; test oracles; testing philosophy; waterfall model; Automatic testing; Buildings; Built-in self-test; Costs; Joining processes; Performance evaluation; Programming; Software testing; Standardization; Unified modeling language;
fLanguage
English
Publisher
ieee
Conference_Titel
Technology of Object-Oriented Languages and Systems, 1999. Proceedings of
Conference_Location
Nancy
Print_ISBN
978-0-7695-0275-5
Type
conf
DOI
10.1109/TOOLS.1999.779003
Filename
779003
Link To Document