  Model-based testing is a promising technology for black-box software and
hardware testing, in which test cases are generated automatically from
high-level specifications. Nowadays, systems typically consist of multiple
interacting components and, due to their complexity, testing presents a
considerable portion of the effort and cost in the design process. Exploiting
the compositional structure of system specifications can considerably reduce
the effort in model-based testing. Moreover, inferring properties about the
system from testing its individual components allows the designer to reduce the
amount of integration testing.
  In this paper, we study compositional properties of the IOCO-testing theory.
We propose a new approach to composition and hiding operations, inspired by
contract-based design and interface theories. These operations preserve
behaviors that are compatible under composition and hiding, and prune away
incompatible ones. The resulting specification characterizes the input
sequences for which the unit testing of components is sufficient to infer the
correctness of component integration without the need for further tests. We
provide a methodology that uses these results to minimize integration testing
effort, but also to detect potential weaknesses in specifications. While we
focus on asynchronous models and the IOCO conformance relation, the resulting
methodology can be applied to a broader class of systems.
