Regression Testing in Agile—A Systematic Mapping Study
Abstract
:1. Introduction
2. Related Work
3. Methods
3.1. Study Selection
- Google Scholar: (agile regression test) OR (continuous regression test)
- SCOPUS: TITLE ((agile AND regression AND test) OR (continuous AND regression AND test))
- ACM: [Title: agile] AND [Title: regression] AND [Title: test] OR [Title: continuous] AND [Title: regression] AND [Title: test]
- IEEE: (“Document Title”: agile regression test) OR (“Document Title”: continuous regression test)
- Title and Abstract Screening: Studies were excluded if their titles or abstracts did not explicitly reference agile methodologies and regression testing. This step ensured that only studies directly relevant to the research questions were retained for further review.
- Duplicate Removal: The authors manually identified and removed duplicates across databases.
- Full-Text Review: The remaining studies were fully reviewed, focusing on alignment with the research questions and methodological rigor.
- Snowballing: A backward snowballing step was performed to find relevant works.
- Credibility of data sources and methodological rigor (e.g., data used in the studies, detailed experimental setups, benchmarking practices).
- Relevance to regression testing within agile environments.
3.2. Data Extraction and Results
4. Discussion
Actionable Recommendation
- Enhance Test Case Relevance: Collaborate closely with testers to align test cases with business-critical requirements and user stories. By embedding business value into the testing framework, developers can ensure that delivered increments maintain their intended purpose and impact across iterations.
- Incorporate Foundational Techniques: While prioritization and selection are essential for immediate optimization, attention must also be given to generation and minimization. Generation aids in generating high-quality test cases that reflect agile’s iterative and user-centric development. At the same time, minimization helps maintain efficiency as test suites grow, ensuring scalability in continuous delivery environments.
- Adopt Advanced Prioritization Techniques: Testers can better align testing practices with agile, rapid feedback, and value delivery priorities by focusing on defect severity, testing time, and business impact metrics.
- Address Cost Components: Integrate cost awareness into regression testing workflows by considering execution time, resource consumption, and setup/tear-down costs. A cost-centric perspective ensures efficient use of resources, particularly in constrained agile settings.
- Develop Agile-Specific Datasets: Create datasets that include user story value, defect severity’s impact on business outcomes, and resource utilization during testing. These datasets can facilitate research and improve the strategic alignment of regression testing with agile goals.
- Broaden Framework Coverage: Ensure regression testing strategies extend beyond continuous integration to frameworks like Scrum and Kanban. Scrum, for instance, is the most widely used agile framework, adopted by 63% [15] of organizations. Tailoring testing practices to these frameworks enhances their applicability and relevance across diverse agile settings.
- Promote Value-Driven Testing: Support the adoption of metrics and tools that emphasize business value preservation. For example, incorporating defect severity and user satisfaction metrics into regression testing ensures alignment with agile’s core principle of delivering customer value.
- Invest in Long-Term Efficiency: Allocate resources to under-explored areas like generation and minimization, which, while foundational, contribute to sustainable and scalable testing practices.
5. Threats to Validity
6. Conclusions and Future Work
Author Contributions
Funding
Institutional Review Board Statement
Informed Consent Statement
Data Availability Statement
Acknowledgments
Conflicts of Interest
Appendix A
- S01 Singh, M., Chauhan, N., Popli, R. (2024). Test case reduction and SWOA optimization for distributed agile software development using regression testing. Multimedia Tools and Applications, 1-26.
- S02 Mafi, Z., Mirian-Hosseinabadi, S. H. (2024). Regression test selection in test-driven development. Automated Software Engineering, 31(1), 9.
- S03 Vescan, A., Gaceanu, R. D., Szederjesi-Dragomir, A. (2024). Embracing Unification: A Comprehensive Approach to Modern Test Case Prioritization. In ENASE (pp. 396-405).
- S04 Wang, D., Zhao, Y., Xiao, L., Yu, T. (2023, October). An Empirical Study of Regression Testing for Android Apps in Continuous Integration Environment. In 2023 ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM) (pp. 1-11). IEEE.
- S05 Da Roza, E. A., Lima, J. A. P., Silva, R. C., Vergilio, S. R. (2022, March). Machine learning regression techniques for test case prioritization in continuous integration environment. In 2022 IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER) (pp. 196-206). IEEE.
- S06 Elsner, D., Wuersching, R., Schnappinger, M., Pretschner, A., Graber, M., Dammer, R., Reimer, S. (2022, May). Build system aware multi-language regression test selection in continuous integration. In Proceedings of the 44th International Conference on Software Engineering: Software Engineering in Practice (pp. 87-96).
- S07 Chen, R., Xiao, Z., Xiao, L., Li, Z. (2022, August). Regression Testing Prioritization Technique Based on Historical Execution Information. In 2022 International Conference on Machine Learning, Cloud Computing and Intelligent Mining (MLCCIM) (pp. 276-281). IEEE.
- S08 Abdelkarim, M., ElAdawi, R. (2022, April). Tcp-net: Test case prioritization using end-to-end deep neural networks. In 2022 IEEE International Conference on Software Testing, Verification and Validation Workshops (ICSTW) (pp. 122-129). IEEE.
- S09 Mirzaei, H., Keyvanpour, M. R. (2022, March). Reinforcement Learning Reward Function for Test Case Prioritization in Continuous Integration. In 2022 9th Iranian Joint Congress on Fuzzy and Intelligent Systems (CFIS) (pp. 1-6). IEEE.
- S10 Bagherzadeh, M., Kahani, N., Briand, L. (2021). Reinforcement learning for test case prioritization. IEEE Transactions on Software Engineering, 48(8), 2836-2856.
- S11 Kauhanen, E., Nurminen, J. K., Mikkonen, T., Pashkovskiy, M. (2021, March). Regression test selection tool for python in continuous integration process. In 2021 IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER) (pp. 618-621). IEEE.
- S12 Elsner, D., Hauer, F., Pretschner, A., Reimer, S. (2021, July). Empirically evaluating readily available information for regression test optimization in continuous integration. In Proceedings of the 30th acm sigsoft international symposium on software testing and analysis (pp. 491-504).
- S13 Xu, J., Du, Q., Li, X. (2021, July). A requirement-based regression test selection technique in behavior-driven development. In 2021 IEEE 45th Annual Computers, Software, and Applications Conference (COMPSAC) (pp. 1303-1308). IEEE.
- S14 Marijan, D., Gotlieb, A., Sapkota, A. (2020, August). Neural network classification for improving continuous regression testing. In 2020 IEEE International Conference On Artificial Intelligence Testing (AITest) (pp. 123-124). IEEE.
- S15 Medhat, N., Moussa, S. M., Badr, N. L., Tolba, M. F. (2020). A framework for continuous regression and integration testing in iot systems based on deep learning and search-based techniques. IEEE Access, 8, 215716-215726.
- S16 Bertolino, A., Guerriero, A., Miranda, B., Pietrantuono, R., Russo, S. (2020, June). Learning-to-rank vs ranking-to-learn: Strategies for regression testing in continuous integration. In Proceedings of the ACM/IEEE 42nd International Conference on Software Engineering (pp. 1-12).
- S17 Ali, S., Hafeez, Y., Hussain, S., Yang, S. (2020). Enhanced regression testing technique for agile software development and continuous integration strategies. Software Quality Journal, 28, 397-423.
- S18 Lima, J. A. P., Mendonça, W. D., Vergilio, S. R., Assunção, W. K. (2020, October). Learning-based prioritization of test cases in continuous integration of highly-configurable software. In Proceedings of the 24th ACM conference on systems and software product line: Volume A-Volume A (pp. 1-11).
- S19 Xiao, L., Miao, H., Shi, T., Hong, Y. (2020). LSTM-based deep learning for spatial–temporal software testing. Distributed and Parallel Databases, 38, 687-712.
- S20 Shi, T., Xiao, L., Wu, K. (2020, October). Reinforcement learning based test case prioritization for enhancing the security of software. In 2020 IEEE 7th International Conference on Data Science and Advanced Analytics (DSAA) (pp. 663-672). IEEE.
- S21 Shi, A., Zhao, P., Marinov, D. (2019, October). Understanding and improving regression test selection in continuous integration. In 2019 IEEE 30th International Symposium on Software Reliability Engineering (ISSRE) (pp. 228-238). IEEE.
- S22 Marijan, D., Gotlieb, A., Liaaen, M. (2019). A learning algorithm for optimizing continuous integration development and testing practice. Software: Practice and Experience, 49(2), 192-213.
- S23 Yu, T., Wang, T. (2018, October). A study of regression test selection in continuous integration environments. In 2018 IEEE 29th International Symposium on Software Reliability Engineering (ISSRE) (pp. 135-143). IEEE.
- S24 Kwon, J. H., Ko, I. Y. (2017, December). Cost-effective regression testing using bloom filters in continuous integration development environments. In 2017 24th Asia-Pacific Software Engineering Conference (APSEC) (pp. 160-168). IEEE.
- S25 de S. Campos Junior, H., de Paiva, C. A., Braga, R., Araújo, M. A. P., David, J. M. N., Campos, F. (2017, September). Regression tests provenance data in the continuous software engineering context. In Proceedings of the 2nd Brazilian Symposium on Systematic and Automated Software Testing (pp. 1-6).
- S26 Kandil, P., Moussa, S., Badr, N. (2017). Cluster-based test cases prioritization and selection technique for agile regression testing. Journal of Software: Evolution and Process, 29(6), e1794.
- S27 Labuschagne, A., Inozemtseva, L., Holmes, R. (2017, August). Measuring the cost of regression testing in practice: A study Java projects using continuous integration. In Proceedings of the 2017 11th joint meeting on foundations of software engineering (pp. 821-830).
- S28 Kim, J., Jeong, H., Lee, E. (2017, April). Failure history data-based test case prioritization for effective regression test. In Proceedings of the Symposium on Applied Computing (pp. 1409-1415).
- S29 Spieker, H., Gotlieb, A., Marijan, D., Mossige, M. (2017, July). Reinforcement learning for automatic test case prioritization and selection in continuous integration. In Proceedings of the 26th ACM SIGSOFT international symposium on software testing and analysis (pp. 12-22).
- S30 Marijan, D., Liaaen, M. (2016, October). Effect of time window on the performance of continuous regression testing. In 2016 IEEE International Conference on Software Maintenance and Evolution (ICSME) (pp. 568-571). IEEE.
- S31 Arora, M., Chopra, S., Gupta, P. (2016). Estimation of regression test effort in agile projects. Far East J. Electron. Commun, 3, 741-753.
- S32 Kandil, P., Moussa, S., Badr, N. (2015, December). A methodology for regression testing reduction and prioritization of agile releases. In 2015 5th international conference on Information Communication Technology and accessibility (ICTA) (pp. 1-6). IEEE.
- S33 Anita, N. C. (2014). A regression test selection technique by optimizing user stories in an agile environment. In 2014 IEEE International Advance Computing Conference (IACC) (pp. 1454-1458).
- S34 Elbaum, S., Rothermel, G., Penix, J. (2014, November). Techniques for improving regression testing in continuous integration development environments. In Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering (pp. 235-245).
- S35 Marijan, D., Gotlieb, A., Sen, S. (2013, September). Test case prioritization for continuous regression testing: An industrial case study. In 2013 IEEE International Conference on Software Maintenance (pp. 540-543). IEEE.
References
- Rothermel, G.; Untch, R.H.; Chu, C.; Harrold, M.J. Test case prioritization: An empirical study. In Proceedings of the IEEE International Conference on Software Maintenance-1999 (ICSM’99). ‘Software Maintenance for Business Change’ (Cat. No. 99CB36360), Oxford, UK, 30 August–3 September 1999; pp. 179–188. [Google Scholar]
- Fowler, M.; Foemmel, M. Continuous Integration. Available online: https://martinfowler.com/articles/continuousIntegration.html (accessed on 10 January 2025).
- Lima, J.A.P.; Mendonça, W.D.; Vergilio, S.R.; Assunção, W.K. Learning-based prioritization of test cases in continuous integration of highly-configurable software. In Proceedings of the 24th ACM Conference on Systems and Software Product Line: Volume A-Volume A, Montreal, QC, Canada, 19–23 October 2020; pp. 1–11. [Google Scholar]
- Spieker, H.; Gotlieb, A.; Marijan, D.; Mossige, M. Reinforcement learning for automatic test case prioritization and selection in continuous integration. In Proceedings of the 26th ACM SIGSOFT International Symposium on Software Testing and Analysis, Santa Barbara, CA, USA, 10–14 July 2017; pp. 12–22. [Google Scholar]
- Pan, R.; Bagherzadeh, M.; Ghaleb, T.A.; Briand, L. Test case selection and prioritization using machine learning: A systematic literature review. Empir. Softw. Eng. 2022, 27, 29. [Google Scholar] [CrossRef]
- Kazmi, R.; Jawawi, D.N.A.; Mohamad, R.; Ghani, I. Effective regression test case selection: A systematic literature review. ACM Comput. Surv. (CSUR) 2017, 50, 1–32. [Google Scholar] [CrossRef]
- Beck, K.; Beedle, M.; van Bennekum, A.; Cockburn, A.; Cunningham, W.; Fowler, M.; Grenning, J.; Highsmith, J.; Hunt, A.; Jeffries, R.; et al. Manifesto for Agile Software Development. Available online: https://agilemanifesto.org/ (accessed on 10 January 2025).
- Yoo, S.; Harman, M. Regression testing minimization, selection and prioritization: A survey. Softw. Test. Verif. Reliab. 2012, 22, 67–120. [Google Scholar] [CrossRef]
- CrowdStrike. Channel File 291 Incident Root Cause Analysis; Technical Report; CrowdStrike, Inc.: Austin, TX, USA, 2024; Available online: https://www.crowdstrike.com/ (accessed on 10 January 2025).
- CrowdStrike. What Is CI/CD? Available online: https://www.crowdstrike.com/en-us/cybersecurity-101/cloud-security/continuous-integration-continuous-delivery-ci-cd/ (accessed on 12 September 2024).
- Coutinho, J.C.; Andrade, W.L.; Machado, P.D. Requirements engineering and software testing in agile methodologies: A systematic mapping. In Proceedings of the XXXIII Brazilian Symposium of Software Engineering, Salvador, Brazil, 23–27 September 2019; pp. 322–331. [Google Scholar]
- Silva, A.; Araújo, T.; Nunes, J.; Perkusich, M.; Dilorenzo, E.; Almeida, H.; Perkusich, A. A systematic review on the use of definition of done on agile software development projects. In Proceedings of the 21st International Conference on Evaluation and Assessment in Software Engineering, Karlskrona, Sweden, 15–16 June 2017; pp. 364–373. [Google Scholar]
- Heidenberg, J.; Weijola, M.; Mikkonen, K.; Porres, I. A model for business value in large-scale agile and lean software development. In Systems, Software and Services Process Improvement, Proceedings of the 19th European Conference, EuroSPI 2012, Vienna, Austria, 25–27 June 2012; Proceedings; Springer: Berlin/Heidelberg, Germany, 2012; Volume 19, pp. 49–60. [Google Scholar]
- Poppendieck, M. Principles of Lean Thinking. IT Manag. Sel. 2011, 18, 1–7. [Google Scholar]
- Digital.ai. 17th State of Agile Report. Available online: https://digital.ai/resource-center/analyst-reports/state-of-agile-report/ (accessed on 28 October 2024).
- Greca, R.; Miranda, B.; Bertolino, A. State of practical applicability of regression testing research: A live systematic literature review. ACM Comput. Surv. 2023, 55, 1–36. [Google Scholar] [CrossRef]
- Khatibsyarbini, M.; Isa, M.A.; Jawawi, D.N.; Tumeng, R. Test case prioritization approaches in regression testing: A systematic literature review. Inf. Softw. Technol. 2018, 93, 74–93. [Google Scholar] [CrossRef]
- Durelli, V.H.; Durelli, R.S.; Borges, S.S.; Endo, A.T.; Eler, M.M.; Dias, D.R.; Guimarães, M.P. Machine learning applied to software testing: A systematic mapping study. IEEE Trans. Reliab. 2019, 68, 1189–1212. [Google Scholar] [CrossRef]
- Petersen, K.; Vakkalanka, S.; Kuzniarz, L. Guidelines for conducting systematic mapping studies in software engineering: An update. Inf. Softw. Technol. 2015, 64, 1–18. [Google Scholar] [CrossRef]
- Kitchenham, B.; Charters, S. Guidelines for performing systematic literature reviews in software engineering. Available online: https://www.researchgate.net/profile/Barbara-Kitchenham/publication/302924724_Guidelines_for_performing_Systematic_Literature_Reviews_in_Software_Engineering/links/61712932766c4a211c03a6f7/Guidelines-for-performing-Systematic-Literature-Reviews-in-Software-Engineering.pdf (accessed on 28 October 2024).
- Moher, D.; Liberati, A.; Tetzlaff, J.; Altman, D.G.; Prisma Group. Preferred reporting items for systematic reviews and meta-analyses: The PRISMA statement. Int. J. Surg. 2010, 8, 336–341. [Google Scholar] [CrossRef] [PubMed]
- Takahashi, K.; Yamamoto, K.; Kuchiba, A.; Koyama, T. Confidence interval for micro-averaged F1 and macro-averaged F1 scores. Appl. Intell. 2022, 52, 4961–4972. [Google Scholar] [CrossRef] [PubMed]
- Raghavan, V.; Bollmann, P.; Jung, G.S. A critical investigation of recall and precision as measures of retrieval system performance. ACM Trans. Inf. Syst. (TOIS) 1989, 7, 205–229. [Google Scholar] [CrossRef]
- Das, S.; Gary, K. Agile transformation at scale: A tertiary study. In Agile Processes in Software Engineering and Extreme Programming–Workshops, Proceedings of the XP 2021 Workshops, Virtual Event, 14–18 June 2021; Revised Selected Papers 22; Springer International Publishing: Cham, Switzerland, 2021; pp. 3–11. [Google Scholar]
- Das, S.; Gary, K. Challenges and Success Factors in Large Scale Agile Transformation—A Systematic Literature Review. In Proceedings of the International Conference on Information Technology-New Generations, Las Vegas, NV, USA, 14–18 April 2024; Springer: Cham, Switzerland, 2024; pp. 405–416. [Google Scholar]
Library | Count |
---|---|
Google Scholar | 100 |
SCOPUS | 24 |
ACM | 18 |
IEEE | 16 |
Focus Definition | |
---|---|
RTM (regression test minimization) | Given a test suite T, and test requirements {r1, …, rn}, with subsets T1, …, Tn ⊆ T such that each Ti satisfies ri, find a minimal hitting set T′ ⊆ T that satisfies all ri, i.e., remove redundant tests from the suite so the reduced set still meets all testing requirements [8]. |
RTS (regression test selection) | Given program P, modified version P′, and test suite T, find a subset T′ ⊆ T with which to test P′, i.e., select tests from the set of available tests relevant to test the changed program [8]. |
RTP (regression test prioritization) | Given test suite T, its permutations PT, and function f: PT → R, find T′ ∈ PT such that ∀T ″∈ PT, f (T′) ≥ f (T″), i.e., order tests to maximize some desirable property of the test (e.g., those likely to find faults earlier) [8]. |
RTG (regression test generation) | Creates tests to ensure software changes do not break existing functionality [S25]. |
Cost (costs of regression test) | Cost is the total resources measured in person-hours for regression testing [S31]. |
Paper ID | Year | Focus | Metric | Agile Type | Paper # | Year | Focus | Metric | Agile Type |
---|---|---|---|---|---|---|---|---|---|
S01 | 2024 | RTP | Precision, Recall, F-score | Not specified | S19 | 2020 | RTP | APFD | Continuous Integration |
S02 | 2024 | RTS | Num of test case | Not specified | S20 | 2020 | RTP | APFD, NAPFD | Continuous Integration |
S03 | 2024 | RTP | NAPFD | Not specified | S21 | 2019 | RTS | Time Saved with RTS Fault | Continuous Integration |
S04 | 2023 | Cost | Cost of RTS | Continuous Integration | S22 | 2019 | RTM | Detection vs Time Budgets | Continuous Integration |
S05 | 2022 | RTP | NAPFD | Continuous Integration | S23 | 2018 | RTS | Cost of RTS | Continuous Integration |
S06 | 2022 | RTS | Test Time Saving | Continuous Integration | S24 | 2017 | Cost | Precision | Continuous Integration |
S07 | 2022 | RTP | FDR | Continuous Integration | S25 | 2017 | RTG | Coverage | Continuous Integration |
S08 | 2022 | RTP | FDR | Continuous Integration | S26 | 2017 | RTS, RTP | F-Score, APFD | Scrum |
S09 | 2022 | RTP | NAPFD | Continuous Integration | S27 | 2017 | cost of regression test | cost of regression test | Continuous Integration |
S10 | 2022 | RTP | NRPA, APFD | Continuous Integration | S28 | 2017 | RTP | APFD | Continuous Integration |
S11 | 2021 | RTS | MSR | Continuous Integration | S29 | 2017 | RTS, RTP | NAPFD | Continuous Integration |
S12 | 2021 | RTS, RTP | APFDc | Continuous Integration | S30 | 2016 | RTP | APFD | Continuous Integration |
S13 | 2021 | RTS | Precision, Efficiency | BDD | S31 | 2016 | cost of regression test | Cost of RT | Not specified |
S14 | 2020 | RTP | Time to Prioritize Tests | Continuous Integration | S32 | 2015 | RTM, RTP | Coverage, Test Set Size | Not specified |
S15 | 2020 | RTP | Precision | Continuous Integration | S33 | 2014 | RTS | Coverage | Not specified |
S16 | 2020 | RTP | RPA | Continuous Integration | S34 | 2014 | RTS, RTP | APFD | Continuous Integration |
S17 | 2020 | RTS, RTP | APFD | Continuous Integration | S35 | 2013 | RTP | APFDc vs Time | Continuous Integration |
S18 | 2020 | RTP | NAPFD, RFTC, NTR | Continuous Integration |
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |
© 2025 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Das, S.; Gary, K. Regression Testing in Agile—A Systematic Mapping Study. Software 2025, 4, 9. https://doi.org/10.3390/software4020009
Das S, Gary K. Regression Testing in Agile—A Systematic Mapping Study. Software. 2025; 4(2):9. https://doi.org/10.3390/software4020009
Chicago/Turabian StyleDas, Suddhasvatta, and Kevin Gary. 2025. "Regression Testing in Agile—A Systematic Mapping Study" Software 4, no. 2: 9. https://doi.org/10.3390/software4020009
APA StyleDas, S., & Gary, K. (2025). Regression Testing in Agile—A Systematic Mapping Study. Software, 4(2), 9. https://doi.org/10.3390/software4020009