Regression Testing in Agile
Regression testing is valuable in any software development, but it also has specific benefits to Agile software development. In particular, continuity of business is vital to stakeholders. Where traditional development has slow and infrequent software updates, Scrum teams can potentially send out new software every few weeks or even weekly. In any sprint, a feature could be broken and be passed to the customers almost immediately. While special cases might be made, this typically means that customers are stuck with broken code until the next sprint release. By running regression tests quickly and often, problems are caught before they reach stakeholders.
In addition to continuity of business, Agile teams benefit from minimizing problems with old code. When old features are broken, they generate technical debt. This technical debt reduces the overall development pace of the Scrum team. Slowed development pace means the Scrum team can produce fewer features per sprint, and may even fail to meet the goals of the sprint. Technical debt is not something that can be delayed at the expense of later sprints. It must be handled as it is encountered. Regression testing makes these problems less likely to happen at all. When they do happen, they give immediate notice so that developers can handle the problems quickly.
Where traditional development is ongoing for long stretches, Agile development is broken into sprints. These sprints serve as fantastic stopping points to analyze regression testing. After each sprint, the Scrum team can create new regression testing automation for the new features. This puts the Scrum team into the next sprint with a clean slate. As each sprint is completed, all of the developed features (new and old) are handled by the regression tests.
Recommended Further Reading
The following materials may assist you in order to get the most out of this course: