Improving Test Execution Efficiency Through Clustering and Reordering of Independent Test Steps
Benedikt Walter, Maximilian Schilling, Marco Piechotta, Stephan Rudolph · 2018
We observe an inefficient execution order of tests in the way that for a given set of test cases, a significant number of test steps occur in more than one test case. During test executions these duplicates increase the test load while providing none or limited additional test results. Removing such test steps interrupts the initial execution chain of steps inside a test case. To solve this issue, we propose a test case synthesis. After removing redundant steps, all (non-redundant) test steps are rearranged into a new set of test cases. This is achieved by using a clustering technique to group similar test steps into new test cases. A Path finding algorithm is used to find an optimized test step execution order for each test case. By applying this method in a case study at Mercedes-Benz Passenger Car Development, we observe a test load reduction of 15% due to removing redundant test steps and an additional reduction of at least 3% for rearranging test steps. This totals up to at least 18% overall test load reduction for the proposed method including removing redundant elements. We see this as strong indication for the usefulness of our approach.