An AI Based Minimization Approach to Help You Move
Most long-lived software systems also have big test suites, grown over time and with long execution times. This comes with a problem: Sometimes, we have to move our test suite from one test framework to another. Maybe because the current framework increased its prices, or because we decided to automate our manual tests. But where and how should we start? Migrating thousands of tests is highly expensive.
One idea is to not migrate the entire test suite, but to select a subset of tests, which are able to detect a majority of the bugs the entire test suite would have detected. Here, test minimization techniques from research can help: Since test suites grown over time are highly redundant, these techniques are able to select such a subset of tests. As a result it can be sufficient to only migrate or automate these tests, which saves us a lot of effort and is an opportunity to get rid of this redundancy. In addition, these techniques provide an ordering of tests, so we always know which test to migrate next.
In my talk, I will show how we can use AI Test Clustering to do such a selection, and which experiences I gained applying it together with different teams. And while the technique itself is based on a modern, ai-based approach, I will also use old-school code coverage to compare the bugfinding power of the determined subset of tests against the whole test suite. Finally, I will talk about the resources saved by applying this technique.