Defect Prediction-Based Test Case Prioritization

  • C.M. Tiutin Department of Computer Science, Faculty of Mathematics and Computer Science, Babes-Bolyai University, 1 Kogalniceanu St., 400084 Cluj-Napoca, Romania
  • M.-T. Trifan Department of Computer Science, Faculty of Mathematics and Computer Science, Babes-Bolyai University, 1 Kogalniceanu St., 400084 Cluj-Napoca, Romania
  • A. Vescan Department of Computer Science, Faculty of Mathematics and Computer Science, Babes-Bolyai University, 1 Kogalniceanu St., 400084 Cluj-Napoca, Romania

Abstract

Changes in the software necessitate confirmation testing and regression testing to be applied since new errors may be introduced with the modification. Test case prioritization is one method that could be applied to optimize which test cases should be executed first, involving how to schedule them in a certain order that detect faults as soon as possible.
The main aim of our paper is to propose a test case prioritization technique by considering defect prediction as a criteria for prioritization in addition to the standard approach which considers the number of discovered faults. We have performed several experiments, considering only faults and the defect prediction values for each class. We compare our approach with random test case execution (for a theoretical example) and with the fault-based approach (for the Mockito project). The results are encouraging, for several class changes we obtained better results with our proposed hybrid approach.

References

[1] Paul Ammann and Jeff Offutt. Introduction to Software Testing, 2nd edition. Cambridge University Press, 2016.
[2] G. Canfora, A. De Lucia, M. Di Penta, R. Oliveto, A. Panichella, and S. Panichella. Multi-objective cross-project defect prediction. In 2013 IEEE Sixth International Conference on Software Testing, Verification and Validation, pages 252-261, 2013.
[3] Anjali Choudhary and Tarun Dalal. A review on regression testing techniques. IJ of Emerging Trends and Technology in Computer Science, 4(3):56-59, 2015.
[4] Jean-Francois Collard and Ilene Burnstein. Practical Software Testing. Springer-Verlag New York, Inc., 2002.
[5] A. Freitas. Software repository mining analytics to estimate software component reliability, Faculdade de engenharia da Universidade do Porto, master's thesis, 2015.
[6] Andre Freitas. Software Repository Mining Analytics to Estimate Software Component Reliability. PhD thesis, Faculdade de engenharia da Universidade do Porto, 6 2015.
[7] T. L. Graves, M. J. Harrold, J. Kim, A. Porters, and G. Rothermel. An empirical study of regression test selection techniques. In Proceedings of the 20th International Conference on Software Engineering, pages 188-197, 1998.
[8] René Just, Darioush Jalali, and Michael D. Ernst. Defects4j: A database of existing faults to enable controlled testing studies for java programs. In Proceedings of the 2014 International Symposium on Software Testing and Analysis, ISSTA 2014, page 437-440, New York, NY, USA, 2014. Association for Computing Machinery.
[9] Ruchika Malhotra and Rajeev Raje. An empirical comparison of machine learning techniques for software defect prediction. In Proceedings of the 8th International Conference on Bioinspired Information and Communications Technologies, BICT '14, page 320-327, Brussels, BEL, 2014. ICST (Institute for Computer Sciences, Social-Informatics and Telecommunications Engineering).
[10] Glenford J. Myers and Corey Sandler. The Art of Software Testing. John Wiley & Sons, 2004.
[11] D. Paterson, J. Campos, R. Abreu, G. M. Kapfhammer, G. Fraser, and P. McMinn. An empirical study on the use of defect prediction for test case prioritization. In 2019 12th IEEE Conference on Software Testing, Validation and Verification (ICST), pages 346-357, 2019.
[12] R Pradeepa and K VimalDevi. E?ectiveness of test case prioritization using apfd metric: Survey. In International Conference on Research Trends in Computer Technologies (ICRTCT-2013). Proceedings published in International Journal of Computer Applications®(IJCA), pages 1-4, 2013, ISSN: 0975-8887.
[13] D. Pradhan, S. Wang, S. Ali, T. Yue, and M. Liaaen. Remap: Using rule mining and multi-objective search for dynamic test case prioritization. In 2018 IEEE 11th International Conference on Software Testing, Veri?cation and Validation (ICST), pages 46-57, 2018.
[14] Mohammad Rava and Wan M.N. Wan-Kadir. A review on prioritization techniques in regression testing. International Journal of Software Engineering and Its Applications, 01(1):221-232, 2016.
[15] Gregg Rothermel, Roland H Untch, Chengyun Chu, and Mary Jean Harrold. Test case prioritization: An empirical study. In Proceedings IEEE International Conference on Software Maintenance-1999 (ICSM'99). Software Maintenance for Business Change (Cat. No. 99CB36360), pages 179-188. IEEE, 1999.
[16] Gregg Rothermel, Roland H Untch, Chengyun Chu, and Mary Jean Harrold. Test case prioritization: an empirical study. In Software Maintenance, 1999. (ICSM '99) Proceedings. IEEE International Conference on, pages 179-188, 1999.
[17] Z. Wan, X. Xia, A. E. Hassan, D. Lo, J. Yin, and X. Yang. Perceptions, expectations, and challenges in defect prediction. IEEE Transactions on Software Engineering, pages 1-1, 2018.
[18] Robert K. Yin. Case Study Research: Design and Methods (Applied Social Research Methods). Sage Publications, fourth edition. edition, 2008.
[19] Shin Yoo and Mark Harman. Pareto eficient multi-objective test case selection. In Proceedings of the 2007 International Symposium on Software Testing and Analysis, ISSTA '07, page 140-150, New York, NY, USA, 2007. Association for Computing Machinery.
[20] Michal Young and Mauro Pezze. Software Testing and Analysis: Process, Principles and Techniques. John Wiley and Sons, 2005
Published
2020-12-14
How to Cite
TIUTIN, C.M.; TRIFAN, M.-T.; VESCAN, A.. Defect Prediction-Based Test Case Prioritization. Studia Universitatis Babeș-Bolyai Informatica, [S.l.], v. 65, n. 2, p. 78-93, dec. 2020. ISSN 2065-9601. Available at: <https://www.cs.ubbcluj.ro/~studia-i/journal/journal/article/view/60>. Date accessed: 16 may 2021. doi: https://doi.org/10.24193/subbi.2020.2.06.
Section
Articles