Testing stateful component-based software systems is difficult. While unit tests allow effective and economic verification of individual components, they cannot detect integration faults. Interactions between different components are tested by complex and hard-to-maintain integration tests instead. With special interaction tests generated by given unit test suits, a partial solution for this problem already exists. However, the approach currently neglects the correctness of system states. This thesis proposes their consideration by specifying related interactions. The preparation and influence of system states are thereby indirectly described through series of interactions. To represent and test individual relations, we utilize contracts and make them executable. Further, we introduce an automatic contract verification process exploiting existing interaction testing techniques. An implementation of the proposed concept is then presented and discussed for its feasibility to overcome some problems of state-based integration testing. Because of the natural description of system states with contracts and no need for additional test cases through the reuse of existing unit tests, we consider our approach a viable alternative for some integration tests.
Project information
Finished
Master
Sandro Schulte
An Approach for Vertical Reuse of Unit Test Cases to Automate Integration Testing
2023-033