Software Testing in the SDLC: A Structured Review of Testing Levels, Principles, and Lifecycle Practices
DOI:
https://doi.org/10.66108/mna.v5i02.99Keywords:
Software Testing, Software Development Life Cycle, Software Testing Life Cycle, Test Automation, Continuous testing, DevOpsAbstract
Software testing is one of the most crucial activities around Software Testing and is an essential activity in most of the stages of a Software Development Life Cycle (SDLC). Traditional presentations, however, tend to focus on testing as a last-line defect identification operation, and offer little insight into the interplay between various levels of testing, principles, phases of the testing life cycle, test tools, and current best practices. This paper has the intention of providing a structured narration review on software testing in SDLC. The review presents a synthesis of foundational literature, software-testing standards and latest research on testing levels, principles of testing, Software Testing Life Cycle (STLC), test automation, continuous testing, DevOps/CI/CD and testing assisted with AI. The findings indicate that the complementary activities at different levels of testing (unit, integration, system, and acceptance) should be planned and should be accompanied by a systematic quality assurance procedure throughout the life cycle of the testing. The deliverables of the review also highlight the potential for improving speed and repeatability of feedback via automation and continuous testing as well as the ability to take quality actions across the development and operational lifecycle using shift-left and shift-right. Then there is AI-driven exam generation, prioritization and maintenance which presents opportunities, but there's a caveat – they must be of high quality, context-appropriate and validated and require human oversight to be effective. In summary, the results align with an approach that is “botched” and “site” dependent whereby the selected test methods and tools are dependent on software characteristics, quality goals, development methodology, and risks. In addition to this analysis, the review points out research opportunities relating to automated testing, continuous testing, research into AI assisted testing and empirical comparison of testing across various SDLC environments.
Downloads
References
(Ed.). (2002). Information technology laboratory, technical accomplishments 2002. National Institute of Standards and Technology. https://doi.org/10.6028/nist.ir.6909
Zhao, Y., Serebrenik, A., Zhou, Y., Filkov, V., & Vasilescu, B. (2017). The impact of continuous integration on other software development practices: A large-scale empirical study. 2017 32nd IEEE/ACM International Conference on Automated Software Engineering (ASE), 60–71. https://doi.org/10.1109/ase.2017.8115619
Mishra, A., & Otaiwi, Z. (2020). DevOps and software quality: A systematic mapping. Computer Science Review, 38, 100308. https://doi.org/10.1016/j.cosrev.2020.100308
Soares, E., Sizilio, G., Santos, J., da Costa, D. A., & Kulesza, U. (2022). The effects of continuous integration on software development: a systematic literature review. Empirical Software Engineering, 27(3). https://doi.org/10.1007/s10664-021-10114-1
(Ed.). ISO/IEC/IEEE International Standard - Software and systems engineering --Software testing --Part 1:General concepts. IEEE. https://doi.org/10.1109/ieeestd.2022.9698145
(Ed.). ISO/IEC/IEEE International Standard - Software and systems engineering - Software testing -- Part 2: Test processes. IEEE. https://doi.org/10.1109/ieeestd.2021.9591508
Zampetti, F., Scalabrino, S., Oliveto, R., Canfora, G., & Di Penta, M. (2017). How Open Source Projects Use Static Code Analysis Tools in Continuous Integration Pipelines. 2017 IEEE/ACM 14th International Conference on Mining Software Repositories (MSR), 334–344. https://doi.org/10.1109/msr.2017.2
Stocco, A., Shehory, O., Jahangirova, G., Riccio, V., Barash, G., Farchi, E., & Saha, D. (2023). Software testing in the machine learning era. Empirical Software Engineering, 28(3). https://doi.org/10.1007/s10664-023-10326-7
Marir, T., Mokhati, F., & Bouchlaghem-Seridi, H. (2014). Do We Need Specific Quality Models for Multi-Agent Systems? - Toward Using the ISO/IEC 25010 Quality Model for MAS. Proceedings of the 9th International Conference on Software Engineering and Applications, 363–368. https://doi.org/10.5220/0005097303630368
Yan, M., Xia, X., Zhang, X., Xu, L., Yang, D., & Li, S. (2019). Software quality assessment model: a systematic mapping study. Science China Information Sciences, 62(9). https://doi.org/10.1007/s11432-018-9608-3
Yan, M., Xia, X., Zhang, X., Xu, L., Yang, D., & Li, S. (2019). Software quality assessment model: a systematic mapping study. Science China Information Sciences, 62(9). https://doi.org/10.1007/s11432-018-9608-3
Shahin, M., Ali Babar, M., & Zhu, L. (2017). Continuous Integration, Delivery and Deployment: A Systematic Review on Approaches, Tools, Challenges and Practices. IEEE Access, 5, 3909–3943. https://doi.org/10.1109/access.2017.2685629
Rasch, D. (1991). Pressman, R. S.: Software Engineering. Grundkurs für Praktiker. McGraw‐Hill Software, Engineering. Hrsg.: Dipl.‐Inform. John‐Harry Wieken. McGraw‐Hill Book Company GmbH, Hamburg 1989. 302 S., DM 63, 55, ISBN 3–89028–163‐X. Biometrical Journal, 33(3), 378. Portico. https://doi.org/10.1002/bimj.4710330333
Sommerville, I. (1994). Software Engineering: Principles and Practice. Software Engineering Journal, 9(5), 228. https://doi.org/10.1049/sej.1994.0029
Daka, E., & Fraser, G. (2014). A Survey on Unit Testing Practices and Problems. 2014 IEEE 25th International Symposium on Software Reliability Engineering, 201–211. https://doi.org/10.1109/issre.2014.11
Yoo, S., & Harman, M. (2012). Regression testing minimization, selection and prioritization: a survey. Software Testing, Verification and Reliability, 22(2), 67–120. Portico. https://doi.org/10.1002/stvr.430
García, B., Gallego, M., Gortázar, F., & Munoz-Organero, M. (2020). A Survey of the Selenium Ecosystem. Electronics, 9(7), 1067. https://doi.org/10.3390/electronics9071067
Wang, Y., Mäntylä, M. V., Liu, Z., & Markkula, J. (2022). Test automation maturity improves product quality—Quantitative study of open source projects using continuous integration. Journal of Systems and Software, 188, 111259. https://doi.org/10.1016/j.jss.2022.111259
(Ed.). IEEE/ISO/IEC International Standard for Software and systems engineering--Software testing--Part 3:Test documentation. IEEE.
https://doi.org/10.1109/ieeestd.2021.9591577’
Tahir, A., Rasheed, S., Dietrich, J., Hashemi, N., & Zhang, L. (2023). Test flakiness’ causes, detection, impact and responses: A multivocal review. Journal of Systems and Software, 206, 111837. https://doi.org/10.1016/j.jss.2023.111837
Khaliq, Z., Farooq, S. U., & Khan, D. A. (2022). A deep learning-based automated framework for functional User Interface testing. Information and Software Technology, 150, 106969. https://doi.org/10.1016/j.infsof.2022.106969
Khatami, A., & Zaidman, A. (2024). State‐of‐the‐practice in quality assurance in Java‐based open source software development. Software: Practice and Experience, 54(8), 1408–1446. Portico. https://doi.org/10.1002/spe.3321
Ragkhitwetsagul, C., Krinke, J., Choetkiertikul, M., Sunetnanta, T., & Sarro, F. (2024). Adoption of automated software engineering tools and techniques in Thailand. Empirical Software Engineering, 29(4). https://doi.org/10.1007/s10664-024-10472-6
(Ed.). IEEE/ISO/IEC International Standard - Software and systems engineering--Software testing--Part 4: Test techniques. IEEE. https://doi.org/10.1109/ieeestd.2021.9591574
Additional Files
Published
How to Cite
License
Copyright (c) 2026 Shafqat Khalid, Mahmood Ashraf

This work is licensed under a Creative Commons Attribution 4.0 International License.
© This work is published by Machines and Algorithms and licensed under the terms of Creative Commons Attribution 4.0 International License (CC BY 4.0).


