Towards Autonomous Testing: How Can We Automate Test Case Design?
Automated execution of tests as part of the continuous integration (CI) process is a well-established practice for efficiently discovering bugs early in the development process. However, tests are typically created manually. Identification and implementation of meaningful test cases significantly contribute to the total cost of the testing process. To reduce this cost and take one step towards a fully autonomous testing process, test case design and implementation need to be automated. Like exploratory testing, an autonomous tester interacts with the application under test (AUT) to discover its structure and generate optimized test cases. In this paper, we present ideas of how an autonomous system might operate and discuss challenges for creating such a system.