Choosing a Method of Test Cases Prioritizing for Regression Testing of a Software System
https://doi.org/10.21869/2223-1536-2021-11-4-120-129
Abstract
The purpose of research is to conduct a comparative analysis of several methods for prioritizing test suites described in the literature to select the most promising method for regression testing of software systems.
Methods. Regression testing being performed to check a previously tested software product after the next modification to eliminate detected defects is associated with a significant investment of time and money. Methods for prioritizing test cases are aimed at determining the optimal (from the point of view of early detection of defects) and efficient (from the point of view of the number of executed test cases) order of their execution. Several such methods are known, and the software development team faces the problem of choosing the most effective one. In this paper, the following prioritization methods are considered: a method based on the analysis of the similarity of texts of software requirements, a method based on a joint analysis of risk factors and the importance of requirements, a method based on identifying a critical component in the source code, a method based on the use of additional coverage of functions and a method based on the analysis of the system of artifacts of the life cycle of software product development.
Results. Based on a comparative analysis of the considered prioritization methods, it was concluded that among the considered alternatives, the method based on the analysis of the artifact system of the software product development life cycle seems to be the most effective.
Conclusion. The prioritization method based on the analysis of the system of artifacts of the life cycle of software product development is most fully consistent with the basic ones for modern software engineering methodology. principles of systems analysis and can be used to solve the problems of ensuring the quality of programs.
About the Authors
E. I. AnikinaRussian Federation
Elena I. Anikina, Cand. of Sci. (Engineering), Associate Professor, Associate Professor of the Software Engineering Department
50 Let Oktyabrya str. 94, Kursk 305040
Isheunesu Tembo
Russian Federation
Isheunesu Tembo, Student
50 Let Oktyabrya str. 94, Kursk 305040
References
1. Avila G. H., Torres J. J., Gonzalez H. L., Hernandez V. Metaheuristic approach for constructing functional test-suites. IETSoftware, 2013, vol. 7, no. 2, рр. 104-117.
2. Rajarathinam K., Natarajan S. Test suite prioritisation using trace events technique. IET Software, 2013, vol. 7, no. 2, рр. 85-92.
3. Pan L., Wang T., Qin J., Xiang X. A dynamic test prioritisation based on du-chain coverage for regression testing. International Journal of Embedded Systems, 2018, vol. 10, no. 2, рр. 113-119.
4. Hasan A., Rahman A., Siddik M. S. Test case prioritization based on dissimilarity clustering using historical data analysis. International Conference on Information, Communiation and Computing Technology. Springer, 2017, рр. 269-281.
5. Rahman M. A., Hasan M. A., Siddik M. S. Prioritizing dissimilar test cases in regression testing using historical failure data. Int. Journal of Computer Applications, 2018, vol. 180, no. 14, рр. 1-8.
6. Sangaiah A. K., Samuel O. W., Li X., Abdel-Basset M., Wang H. Towards an efficient risk assessment in software projects-fuzzy reinforcement paradigm. Computers & Electrical Engineering, 2018, vol. 71, pp. 833-846.
7. Islam M. M., Marchetto A., Susi A. G. A multi-objective technique to prioritize test cases based on latent semantic indexing. 16th European Conference on Software Maintenance and Reengineering (CSMR), 2012, рр. 21-30.
8. Arafeen M., Do H. Test case prioritization using requirements-based clustering // Sixth International Conference on Software Testing, Verification and Validation (ICST). IEEE, 2013, рр. 312-321.
9. Srivastva P. R., Kumar K., Raghurama G. Test case prioritization based on requirements and risk factors. ACM SIGSOFT Software Engineering Notes, 2008, vol. 33. no. 4, р. 7.
10. Haidry S., Miller T. Using dependency structures for prioritization of functional test suites. IEEE Transactions on Software Engineering, 2013, vol. 39, no. 2, рр. 258-275.
11. Li S., Bian N., Chen Z., You D., He Y. A simulation study on some search algorithms for regression test case prioritization. 10th International Conference on Quality Software (QSIC), IEEE, 2012, рр. 72-81.
12. Malhotra R., Tiwari D. Development of a framework for test case prioritization using genetic algorithm. ACM SIGSOFT Software Engineering Notes, 2013, vol. 38, no. 3,
13. рр. 1-6.
14. Islam M. M., Marchetto A., Susi A., Kessler F. B., Scanniello G. MOTCP: a tool for the prioritization of test cases based on a sorting genetic algorithm and latent semantic indexing. 28th International Conference on Software Maintenance (ICSM), IEEE, 2012, рр. 654657.
15. Mala D. J., Praba M. R. Critical components identification and verification for effective software test prioritization. Third International Conference on Advanced Computing (IcoAC), IEEE, 2011, рр. 181-186.
16. Elbaum S., Malishevsky A. G., Rothermel G. Test case prioritization: a family of empirical studies. IEEE Transactions on Software Engineering, 2012, vol. 28, no. 2, рр. 159182.
17. Corriveau J., Shi W. Traceability in Acceptance Testing. Journal of Software Engineering and Applications, 2013, vol. 6, no. 10, рр. 36-46.
18. Zielinska A. Framework for Extensible Application Testing. Journal of Software Engineering and Applications, 2012, vol. 5, no. 5, рр. 351-363.
19. Siddik M. S., Sakib K. RDCC: an effective test case prioritization framework using software requirements, design and source code collaboration. 17th International Conference on Computer and Information Technology (ICCIT), IEEE, 2014, рр. 75-80.
20. Siddik M. S., Rahman M. A., Sakib K. Prioritising test cases by collaborating artefacts of software development life cycle. Int. J. Forensic Software Engineering, 2019, vol. 1, no. 1, рр. 47-72.
Review
For citations:
Anikina E.I., Tembo I. Choosing a Method of Test Cases Prioritizing for Regression Testing of a Software System. Proceedings of the Southwest State University. Series: IT Management, Computer Science, Computer Engineering. Medical Equipment Engineering. 2021;11(4):120-129. (In Russ.) https://doi.org/10.21869/2223-1536-2021-11-4-120-129


