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 :
بازگشت