A Review on the New Trend in Regression Test Case Prioritization

Hassan Abubakar, Fatima Umar Zambuk, Usman Mahmud Ahmed, Abdulsalam Ya'u Gital

Abstract


The fourth industrial revolution further triggered frequent software evolution, necessitating retesting the system to assure its validity. As a result, regression testing ensures that this occurs. Test Case Prioritization, which organizes test cases based on a specific criterion to be tested according to available resources, ensuring that the most critical test cases are tested first, is one of the most prominent fields of regression testing study. To investigate the research area's trend, 250 scientific articles from 2002 to 2021 were chronologically analyzed in this work. This study looks at different forms of test case prioritization and describes some of the strategies used and the problem that each study raises. It will provide an overview of some major issues currently facing test case prioritization and some suggestions for future research areas to investigate based on the current trend in the field.


Full Text:

PDF

References


Agrawal, A. P., and Kaur, A. (2018). A comprehensive comparison of ant colony and hybrid particle swarm optimization algorithms through test case selection. Data Eng, 397–405.

Arafeen, M. J., and Do, H. (2013). Test case prioritization using requirements-based clustering. Proceedings - IEEE 6th International Conference on Software Testing, Verification and Validation, ICST 2013, 312–321. https://doi.org/10.1109/ICST.2013.12

Bello, A., Md. Sultan, A. B., and Shehu, S. (2019). Multi-Criteria Evolutionary Regression Test Prioritization for Dynamic Object-Oriented Programs. International Journal of Advances in Electronics and Computer Science, 6(1), 14–18.

DeMillo, R., Lipton, R., Computer, F. S.-, and 1978, U. (1978). Hints on test data selection: Help for the practicing programmer. Ieeexplore.Ieee.Org. https://ieeexplore.ieee.org/abstract/document/1646911/

Elbaum, S., Malishevsky, A. G., and Rothermel, G. (2000). Prioritzing test cases for regression testing. Proceedings of the ACM SIGSOFT 2000 International Symposium on Software Testing and Analysis, 102–112. https://doi.org/10.1145/347636.348910

Elbaum, S., Malishevsky, A., and Rothermel, G. (2001). Incorporating varying test costs and fault severities into test case prioritization. Proceedings - International Conference on Software Engineering, 329–338. https://doi.org/10.1109/ICSE.2001.919106

Fang, C. ., Z., C., and B., X. (2012). Comparing Logic Coverage Criteria on Test Case. 0(0), 0–14.

Fraser, G., and Wotawa, F. (2006). Property relevant software testing with model-checkers. SIGSOFT Software Engineering Notes, 31(6), 1–10.

Fraser, G., and Wotawa, F. (2007). Test-case prioritization with model-checkers. SE’07: Proceedings of the 25th Conference on IASTED International Multi-Conference, 267–272.

Fyfe, A. (2016). Journals and Periodicals. A Companion to the History of Science, 387–399. https://doi.org/10.1002/9781118620762.CH27

Goodenough, J. B., and Gerhart, S. L. (1975). Toward a Theory of Test Data Selection. IEEE Transactions on Software Engineering, SE-1(2), 156–173. https://doi.org/10.1109/TSE.1975.6312836

Hao, D., Zhang, L., Zhang, L., Rothermel, G., and Mei, H. (2014). A unified test case prioritization approach. ACM Trans. Softw. Eng, 24(1), 10–31.

Huang, R., Chen, J., Towey, D., Chan, A. T. S., and Lu, Y. (2015). Aggregate-strength interaction test suite prioritization. Journal of Systems and Software, 99, 36–51. https://doi.org/10.1016/j.jss.2014.09.002

Id, D., Pan, R., Bagherzadeh, M., Ghaleb, T. A., and Briand, L. (2021). Test Case Selection and Prioritization Using Machine Learning: A Systematic Literature Review. 1, 1–32.

Jin, W., Orso, A., and Xie, T. (2010). Automated behavioral regression testing. ICST 2010 - 3rd International Conference on Software Testing, Verification and Validation, 137–146. https://doi.org/10.1109/ICST.2010.64

Kaushik, N., Salehie, M., Tahvildari, L., Li, S., and Moore, M. (2011). Dynamic prioritization in regression testing. Proceedings - 4th IEEE International Conference on Software Testing, Verification, and Validation Workshops, ICSTW 2011, 135–138. https://doi.org/10.1109/ICSTW.2011.68

Kim, S., and Baik, J. (2010). An effective fault aware test case prioritization by incorporating a fault localization technique. 10, p. 1.

Kumar, H., and Chauhan, N. (2015). A Module Coupling Slice Based Test Case Prioritization Technique. International Journal of Modern Education and Computer Science, 7(7), 8–16.

Leon, D., and Podgurski, A. (2003). A comparison of coverage-based and distribution-based techniques for filtering and prioritizing test cases. Proceedings - International Symposium on Software Reliability Engineering, ISSRE, 2003-Janua, 442–453. https://doi.org/10.1109/ISSRE.2003.1251065

Li, Z., Harman, M., and Hierons, R. M. (2007). Search algorithms for regression test case prioritization. IEEE Transactions on Software Engineering, 33(4), 225–237. https://doi.org/10.1109/TSE.2007.38

Mahdieh, M., Mirian-Hosseinabadi, S. H., Etemadi, K., Nosrati, A., and Jalali, S. (2020). Incorporating fault-proneness estimations into coverage-based test case prioritization methods. Information and Software Technology, 121. https://doi.org/10.1016/j.infsof.2020.106269

Mishra, D. B., Mishra, R., Acharya, A. A., and Das, K. N. (2019). Test case optimization and prioritization based on multi-objective genetic algorithm. In Advances in Intelligent Systems and Computing (Vol. 741). Springer Singapore. https://doi.org/10.1007/978-981-13-0761-4_36

Mogyorodi, G. (2001). requirements-based testing: an overview caliberrbt/ mercury interactive integration overview. Integrat. VLSI J., 286–295.

Mukherjee, R., and Patnaik, K. S. (2021). A survey on different approaches for software test case prioritization. Journal of King Saud University - Computer and Information Sciences, 33(9), 1041–1054. https://doi.org/10.1016/j.jksuci.2018.09.005

Musa, S. (2014). A Regression Test Case Selection and Prioritization for Object- Oriented Programs using Dependency Graph and Genetic Algorithm. International Journal of Engineering And Science, 4(7), 54–64.

Musa, S., Sultan, A. B. M. D., Abdul Ghani, A. A. Bin, and Baharom, S. (2016). Regression Test Cases Prioritization for Object-Oriented Programs Using Genetic Algorithm with Reduced Value of Fault Severity. International Journal of Soft Computing, 11(4), 247–254.

Prakash, N., and Gomathi, K. (2014). Improving Test Efficiency through Multiple Criteria Coverage Based Test Case Prioritization. International Journal of Scientific & Engineering Research, 5(4), 420–424.

Publish or Perish. (n.d.). Retrieved January 25, 2022, from https://harzing.com/resources/publish-or-perish

Rahmani, A., Ahmad, S., Jalil, I. E. A., and Herawan, A. P. (2021). A Systematic Literature Review on Regression Test Case Prioritization. International Journal of Advanced Computer Science and Applications, 12(9), 253–267. https://doi.org/10.14569/IJACSA.2021.0120929

Ramírez, A., Informática, D. De, and Insti-, U. D. C. (2022). ATaxonomy of Information Attributes for Test Case Prioritisation: Applicability,Machine Learning. ACM Transactions on Software Engineeringand Methodology, 1(1). https://doi.org/10.1145/3511805

Rothermel, G., Untch, R. H., Chu, C., and Harrold, M. J. (1999). Test Case Prioritization: an Empirical Study. Proceedings of the IEEE International Conference on Software Maintenance, 179. https://doi.org/10.1109/ICSM.1999.792604

Rothermel, G., Untch, R. H., Chu, C., Harrold, M. J., and Society, I. C. (2001). Prioritizing Test Cases For Regression Testing Prioritizing Test Cases For Regression Testing. IEEE Transactions on Software Engineering, 27(10), 929–948. https://doi.org/10.1145/347324.348910

Samad, A., Mahdin, H. Bin, Kazmi, R., Ibrahim, R., and Baharum, Z. (2021). Multiobjective Test Case Prioritization Using Test Case Effectiveness: Multicriteria Scoring Method. Scientific Programming, 2021. https://doi.org/10.1155/2021/9988987

Shapiro, S. S., Wilk, M. B., and Chen, H. J. (1968). A Comparative Study of Various Tests for Normality. Journal of the American Statistical Association, 63(324), 1343–1372. https://doi.org/10.1080/01621459.1968.10480932

Singh, V. B., Kapur, P. K., and Tandon, A. (2010). Measuring reliability growth of software by considering fault dependency, debugging time Lag functions and irregular fluctuation. SIGSOFT Softw. Eng. Notes, 35(3), 1–11. https://doi.org/http://dx.doi.org/http://dx.doi.org/10.1145/1764810.1764831

Software Development Life Cycle: The phases of SDLC - TestLodge Blog. (n.d.). Retrieved September 23, 2021, from https://blog.testlodge.com/software-development-life-cycle/

Srikanth, H., Hettiarachchi, C., and Do, H. (2016). Requirements based test prioritization using risk factors: An industrial study. Information and Software Technology, 69, 71–83. https://doi.org/10.1016/j.infsof.2015.09.002

Tucker, A. E. (1965). The Correlation of Computer Program quality with testing effort. https://scholar.google.com/scholar?hl=en&as_sdt=0%2C5&q=A.+E.+Tucker%2C+%22The+Correlation+of+Computer+Program+Quality+with+Testing+Effort%2C%22+System+Development+Corporation%2C+TM+2219%2F000%2F00%2C+January+1965.&btnG=

Umbarkar, A. J., and Sheth, P. D. (2015). Crossover Operators in Genetic Algorithms: a Review. ICTACT Journal on Soft Computing, 06(01), 1083–1092. https://doi.org/10.21917/ijsc.2015.0150

Uusitalo, E. J., Komssi, M., Kauppinen, M., and Davis, A. M. (2008). Linking requirements and testing in practice. Proceedings of the 16th IEEE International Requirements Engineering Conference, 265–270.

Yoo, S., and Harman, M. (2010). Regression testingminimization, selection and prioritization: asurvey. Software Testing Verification and Reliability, 22, 67–120. https://doi.org/10.1002/stvr


Refbacks

  • There are currently no refbacks.