A new philosophy contributing towards the design of testable object-oriented (OO) software is introduced in this paper. The testing of conventional OO software focuses on the generation of tests for existing objects and systems; the testable object-oriented programming (TOOP) method draws attention to building testabilities into objects and systems during coding or compiling, so that the succeeding processes in test generation and implementation can be simplified. A new method of TOOP is developed to improve the testability of OO software. Software testability at object level and system level is quantitatively modelled. A set of fundamental built-in testable mechanisms oriented to the basic control structures in objects is constructed in order to improve the testability of OO software in terms of test controllability and observability. The most interesting feature obtained by TOOP is that the built-in tests in any objects can be inherited and reused in the same way as that of codes or functions in conventional OO software.
[1]
Roger S. Pressman,et al.
Software Engineering: A Practitioner's Approach
,
1982
.
[2]
K. C. Tai.
What to do beyond branch testing
,
1989,
SOEN.
[3]
Roy S. Freedman,et al.
Testability of Software Components
,
1991,
IEEE Trans. Software Eng..
[4]
Boris Beizer,et al.
Software testing techniques (2. ed.)
,
1990
.
[5]
Boris Beizer,et al.
Software System Testing and Quality Assurance
,
1984
.
[6]
J. Voas,et al.
Software Testability: The New Verification
,
1995,
IEEE Softw..
[7]
Roger S. Pressman,et al.
Software engineering (3rd ed.): a practitioner's approach
,
1992
.
[8]
Bjarne Stroustrup,et al.
C++ Programming Language
,
1986,
IEEE Softw..