Abstract
Since class objects are the major components in
object-oriented (00) programs during run-time, testing
the behavior of these objects become an important
task in testing of object-oriented programs to comple
ment other types of testing, such as, structuretesting
and functional testing. To check the behavior of objects
in 00 programs, it is essential to check each state
and each transition for every object. This paper proposes
a new test model, called object state diagram,
to capture and represent the dynamic behavior of objects
in an 00 program. The model is an extension
of the existing state models, it supports basic 00 features,
such as class objects, inheritance, aggregation
and overloading. Unlike other models, it is a concurrent,
communicating state machine which has the
capability of representing the object state hierarchy
for a complex class object. Based on this model we
address the issues and solutions to object state test
strategy, test criteria and test generation.
Key words: object-state testing, state-based testing,
object-oriented testing, test model.
1 Introduction
Although there is a number of research literatures
addressing object-oriented testing problems and solutions,
almost no research results discussed problems
in testing state behavior of class objects in 00 programs
except [2][7]. Since object-oriented programs
are made of classes (as static components) and objects
(aa dynamic components), object states and their
transitions are the major contributors to the their behavior.
Therefore, it is important to check each state
and each transition in every class object to insure our
confidence in an 00 program. This is called object
state testing, which is complementary to structuretesting
and functional testing of components in 00
programs, The research motivation of object state
testing have been addressed in [2][7]. The focus of
object state testing is to verify the behavior of each