Test Automation Maturity Improves Product Quality -- Quantitative Study of Open Source Projects Using Continuous Integration
This provides empirical evidence for software developers and teams using continuous integration that adopting standard best practices in test automation can improve product quality and speed up releases without extra effort, though it is incremental and specific to open source Java projects.
The study investigated how test automation maturity affects product quality, effort, and release cycles in continuous integration for open source Java projects, finding that higher maturity is positively associated with higher product quality (p=0.000624) and shorter release cycles (p=0.01891), with no significant increase in effort.
The popularity of continuous integration (CI) is increasing as a result of market pressure to release product features or updates frequently. The ability of CI to deliver quality at speed depends on reliable test automation. In this paper, we present an empirical study to observe the effect of test automation maturity (assessed by standard best practices in the literature) on product quality, test automation effort, and release cycle in the CI context of open source projects. We run our test automation maturity survey and got responses from 37 open source java projects. We also mined software repositories of the same projects. The main results of regression analysis reveal that, higher levels of test automation maturity are positively associated with higher product quality (p-value=0.000624) and shorter release cycle (p-value=0.01891); There is no statistically significant evidence of increased test automation effort due to higher levels of test automation maturity and product quality. Thus, we conclude that, a potential benefit of improving test automation maturity (using standard best practices) is product quality improvement and release cycle acceleration in the CI context of open source projects. We encourage future research to extend our findings by adding more datasets with different programming languages and CI tools, closed source projects, and large-scale industrial projects. Our recommendation to practitioners (in the similar CI context) is to utilize standard best practices to improve test automation maturity.