Continuous delivery is nowadays a popular software engineering approach that is adopted by many organizations. Due to the nature of continuous delivery where software is produced in short cycles in an automated manner, the role of regression testing becomes increasingly crucial in order to ensure that the modifications to any existing software functionalities do not introduce new bugs. As most software grow larger and more complex over time, the size of the test suite consequently becomes larger as well. Hence, regression testing turns into a rather expensive maintenance activity and demands the execution to be more efficient. This leads to the need for an automated regression test optimization. Regression test optimization uses techniques, such as test suite prioritization and selection, together with the optimize data required to utilize the techniques to acquire which tests and in what order need to be executed in a particular iteration. As a result, a test suite that is usually smaller in size and optimally ordered is executed, effectively saving the limited resources such as time.
To adapt the regression test optimization for continuous delivery, it must be automated as part of the delivery process. Thus, this thesis provides an integration of the regression test optimization into the delivery system such that it ensures an easy implementation of new optimization techniques and at the same time, can be flexibly used in the delivery process. This thesis also solves the challenge regarding the architectural migration to refactor the monolithic regression test optimization system within the microservice architecture of the delivery system.