Test automation is a central requirement in DevOps, which many companies adopt to increase the quality of their products and reduce the time to market. Despite the efforts, most companies still rely on manual testing to assess the functionality of their products. Besides the time to automate Tests, expertise is needed to design suitable test cases and to achieve the necessary testability of the products and automatability for the test cases. Given that the individual teams already invested effort in designing and creating the test cases for individual components, it is desirable to reuse these test cases for integration testing. Reusing information of test cases on one level to test on a different level is referred to as vertical reuse.
This project aims for researching approaches to support test automation on the integration level by reusing information contained in those test cases. Research questions include:
- Can indicators of integration failure detection be determined from information extracted from unit test cases?
- Can the expectations of a component towards its environment be derived from the unit test cases?
- Can interactions between a component and its environment, be tested using the information extractable from the unit test cases
of participating components?
- How to automatically transform unit test cases to such interaction test cases?
- How to handle different kinds of interactions and protocols? (e.g., synchronous, asynchronous, REST, AMQP, stateful, unidirectional etc.)
- How to handle different kinds of test cases? (e.g., positive, negative)
- Is it possible to derive tests for complete processes spanning multiple interactions reusing the interaction test cases?
This research is based on a joint project with IVU Traffic Technologies AG and is motivated by IVUs experience in providing high-quality software products for public transport.