Formalizing Regression Testing for Agile and Continuous Integration Environments
Abstract
Software developed using modern agile practices delivers a stream of software versions that require continuous regression testing rather than testing once close to the delivery or maintenance phase, as assumed by classical regression-testing theory. In this work, we formalize the phenomenon of continuous or near-continuous regression testing using successive builds as a time-ordered chain, where each build contains the program, requirements, and the accompanying tests. We also formalize the regression test window between any two builds, which captures the limited time budget available for regression testing. As the time limit is set to infinity and the chain is closed to two builds, the model degenerates to retest-all, thereby preserving semantics for the classical two-version case. The formalization is validated by directly representing two state-of-the-art agile regression testing algorithms in terms of build-tuple operations without requiring auxiliary assumptions, followed by proof of the soundness and completeness of our formalization.
Cite
@article{arxiv.2511.02810,
title = {Formalizing Regression Testing for Agile and Continuous Integration Environments},
author = {Suddhasvatta Das and Kevin Gary},
journal= {arXiv preprint arXiv:2511.02810},
year = {2025}
}
Comments
This is the first attempt to formalize regression testing in agile context as a continuous/near-continuos activity. This formalization will help practitioners and researchers to answer 'when', 'what' and 'how much' question of regression testing in real world time constrained agile projects. This work is currently under review with Software Quality Journal