|IEEE Transactions on Software Engineering 39 (11): 1549-1563 (2013)|
Huo Yan Chen 2 and T.H. Tse 3
[paper from IEEE Xplore | paper from IEEE digital library | technical report TR-2013-06]
Algebraic specifications have been used in the testing of object-oriented programs and received much attention
since the 1990s.
It is generally believed that class-level testing based on algebraic specifications involves two independent
aspects: the testing of equivalent and nonequivalent ground terms.
Researchers have cited intuitive examples to illustrate the
philosophy that even if an implementation satisfies all the requirements specified by the equivalence of ground terms, it may still
fail to satisfy some of the requirements specified by the nonequivalence of ground terms.
Thus, both the testing of equivalent
ground terms and the testing of nonequivalent ground terms have been considered as significant and cannot replace each
In this paper, we present an innovative finding that, given any canonical specification of a class with proper imports, a
complete implementation satisfies all the observationally equivalent ground terms if and only if it satisfies all the observationally
nonequivalent ground terms.
As a result, these two aspects of software testing cover each other and can therefore replace each
These findings provide a deeper understanding of software testing based on algebraic specifications, rendering the theory
more elegant and complete.
We also highlight a couple of important practical implications of our theoretical results.
Keywords: Software testing, equivalence criterion, nonequivalence criterion, algebraic specification, object-oriented software
|EVERY VISITOR COUNTS:|