Component-based software engineering emphasizes the composition of software systems through loosely coupled independent components.
Although software components are binary units of independent software artifacts, they typically interact with other components as they form a functioning system and thus implicitly define dependency relations.
However, in case of distributed component-based software systems current testing strategies either assume total independence of components or require usage of mock-up frameworks which do not facilitate testing of the entire component but only a subset of it. Consequently, the dependency structure between components is not really taken into account. Therefore, those tests are limited in their effectiveness of detecting defects in software systems with distributed components.
In this paper the "Effective Tester in the Middle" (ETM) approach is presented, which improves testing of components depending on other distributed components. The approach relies on test scenario specific interaction models and network communication models which facilitate isolated testing of entire components without the need to run the overall system. We evaluate the approach by implementing test scenarios for a system integration platform. The prototype implementation demonstrates that software testers are able to create unit test like integration tests with minimal effort and that it increases the quality of the system by enabling the injection of fault-messages.