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. On the one hand, this requires a definition of testability and factors that hinder and promote it. On the other hand, testability does not guarantee automatability. This must be considered as well. Enabling these features of the software and the transformation of manual tests into automated tests can be considered as refactoring tasks.
This project aims for researching approaches to support test automation efforts by considering the difference between manual testing and automation testing and the requirements for the system under test. Topics in this field of research are:
- How to achieve testability for different quality attributes of software.
- How to achieve automatability.
- Patterns and structures that promote testability and automatability.
- Transformation of manual tests into automated tests.
- Classification of bugs found with manual testing in contrast to certain types of automated tests.
- Assessment of the influence of different test automation strategies on the effort needed for manual testing.
- Based on that knowledge, a notion of completeness for these transformations of manual tests to automated tests.
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.