To perform conformance checking of a software implementation with a
(possibly non-deterministic) specification, a software implementation and
a software specification are applied to produce a CT enabled
implementation. Nondeterministic choices of the software specification
result in assigning a corresponding choice of the CT enabled
implementation to a variable. The CT enabled implementation includes a
test that the variable then comprises one of the nondeterministic choices
of the software specification. To perform conformance testing where the
software specification includes ordered steps, and calls to methods of
other classes (mandatory calls), a software object is produced and
organized such that each step of the software specification has a
corresponding code section in the software object. The software object
includes instructions to generate an identification of a mandatory call
comprised by the software specification, and instructions to test that
the state of the implementation conforms to the software specification
during the mandatory call.