Optimizing End-to-End test execution : Unleashing the Resource Dispatcher - WiP
Aug 29, 2024··
0 min read
Cristian Augusto
Jesús Morán
Claudio de la Riva
Javier Tuya
Abstract
Continuous integration practices have transformed software development, but ex-ecuting test suites of modern software developments addresses new challenges due to its complexity and its huge number of test cases. Certain test levels, like End-to-end testing, are even more challenging due to long execution times and re-source-intensive requirements, moreover when we have many End-to-end test suites. Those E2E test suites are executed sequentially and in parallel over the same infrastructure and can be executed several times (e.g., due to some tester consecutive contributions, or version changes performed by automation engines). In previous works, we presented a framework that optimizes E2E test execution by characterizing Resources and grouping/scheduling test cases, based on their compatible usage. However, the approach only optimizes a single test suite exe-cution and neglects other executions or test suites that can share Resources and lead to savings in terms of time and number of Resource redeployments. In this work, we present a new Resource allocation strategy, materialized through a Re-source Dispatcher entity. The Resource Dispatcher centralizes the Resource man-agement and allocates the test Resources to the different test suites executed in the continuous integration system, according to their compatible usage. Our approach seeks efficient Resource sharing among test cases, test suites, and suite execu-tions, reducing the need for Resource redeployments and improving the execution time. We have conducted a proof of concept, based on real-world continuous in-tegration data, that shows savings in both Resource redeployments and execution time.
Type
Publication
In *50th Euromicro Conference Series on Software Engineering and Advanced Applications (SEAA) 2024, Paris, France *