Testselektion für Performanzregressionsbenchmarks in CI-Prozessen

Um Performanzregressionen zu finden, werden in Softwareprojekten Performanzregressionsbenchmarks (PRB) eingesetzt. Die Ausführung der PRBs ist zeitaufwändig und wird deshalb oft unregelmäßig, bspw. nach jedem Release, ausgeführt. Dadurch können Regressionen übersehen werden. Darüber hinaus ist die Ursachenanalyse für länger vergangene Regressionen schwer. Durch Quelltextänderungen verursachte Performanzänderungen können schneller gefunden werden, indem nur die PRBs ausgeführt werden, die geänderten Quelltext aufrufen. Wir stellen eine Erweiterung des Testwerkzeugs Peass vor, mit dem die Regressionstestselektion für PRBs möglich wird. Hierbei werden PRBs unterstützt, die mit dem Benchmarkingframework jmh implementiert sind. Wir evaluieren unsere Erweiterung anhand der PRBs des Anwendungsservers jetty und zeigen, dass Peass die Benchmarkausführungsdauer um 97,9% reduziert und alle von den PRBs abgedeckten Regressionen findet.

Reichelt, David Georg, Stefan Kühne, und Wilhelm Hasselbring: „Testselektion für Performanzregressionsbenchmarks in CI-Prozessen“, INFORMATIK 2021. Gesellschaft für Informatik, Bonn.