MULTIPARTITE BASED TEST CASE PRIORITIZATION USING FAILURE HISTORY

Published 30 APR 2019 •  vol 125  • 


Authors:

 

Md. Abdur Rahman, Centre for Advanced Research in Sciences, University of Dhaka, Bangladesh
Md. Abu Hasan, Institute of Information Technology, University of Dhaka, Bangladesh
Khaled Shah, Waterloo Management of Integrated Manufacturing Systems Lab, University of Waterloo, Canada
Md. Saeed Siddik, Institute of Information Technology, University of Dhaka, Bangladesh

Abstract:

 

Test case prioritization reorders test case execution sequence based on their early fault detection capability. In regression testing when new version is released, both current and previous version test cases are executed to cross check the desired functionality. Historical failure data ensures the previous fault detection information, which leads the potential faults in new version. Most of the existing prioritization strategies are developed either similar code or requirement coverage based, where some incorporated historical failure data. Clustering similar test cases may detect similar fault consecutively, which never ensure the maximum variety of fault coverage. This paper presents a prioritization approach based on multipartite graph clustering using historical data analysis to detect faults of different code coverage in minimum test case execution. In this strategy, test cases within each partite are distinct in terms of function coverage, which ensures dissimilarity among them. Proposed scheme is evaluated using well established Defects4j dataset, and it has reported that multipartite algorithm performs better than normal ordering, random, similarity clustering, and dissimilarity based test case prioritization approaches. The proposed method performs 42.85% and 14.28% better than similarity and dissimilarity based approaches respectively in terms of early fault detection.

Keywords:

 

Test Case Prioritization, Dissimilarity, Multipartite, Failure History

References:

 

[1] Rothermel G, Untch RH, Chu C, Harrold MJ. Prioritizing test cases for regression testing. IEEE Transactions on software engineering. 2001 Oct;27(10):929-48.
[2] Nguyen CD, Marchetto A, Tonella P. Test case prioritization for audit testing of evolving web services using information retrieval techniques. InWeb Services (ICWS), 2011 IEEE International Conference on 2011 Jul 4 (pp. 636-643). IEEE.
[3] Catal C. The ten best practices for test case prioritization. In International Conference on Information and Software Technologies 2012 Sep 13 (pp. 452-459). Springer, Berlin, Heidelberg.
[4] Rothermel G, Untch RH, Chu C, Harrold MJ. Test case prioritization: An empirical study. In Software Maintenance. (ICSM'99) Proceedings. IEEE International Conference on 1999 (pp. 179-188). IEEE.
[5] Catal C, Mishra D. Test case prioritization: a systematic mapping study. Software Quality Journal. 2013 Sep 1;21(3):445-78.
[6] Arafeen MJ, Do H. Test case prioritization using requirements-based clustering. InSoftware Testing, Verification and Validation (ICST), 2013 IEEE Sixth International Conference on 2013 Mar 18 (pp. 312-321). IEEE.
[7] Siddik MS, Sakib K. RDCC: An effective test case prioritization framework using software requirements, design and source code collaboration. InComputer and Information Technology (ICCIT), 2014 17th International Conference on 2014 Dec 22 (pp. 75-80). IEEE.
[8] Wang X, Zeng H. History-based dynamic test case prioritization for requirement properties in regression testing. InProceedings of the International Workshop on Continuous Software Evolution and Delivery 2016 May 14 (pp. 41-47). ACM.
[9] Kim JM, Porter A. A history-based test prioritization technique for regression testing in resource constrained environments. In Proceedings of the 24th international conference on software engineering 2002 May 19 (pp. 119-129). ACM.
[10] Cho Y, Kim J, Lee E. History-based Test Case Prioritization for Failure Information. In2016 23rd Asia-Pacific Software Engineering Conference (APSEC) 2016 Dec 6 (pp. 385-388). IEEE.
[11] Konsaard P, Ramingwong L. Total coverage based regression test case prioritization using genetic algorithm. InElectrical engineering/electronics, computer, telecommunications and information technology (ECTI-CON), 2015 12th international conference on 2015 Jun 24 (pp. 1-6). IEEE.
[12] Mirarab S, Tahvildari L. A prioritization approach for software test cases based on bayesian networks. InInternational Conference on Fundamental Approaches to Software Engineering 2007 Mar 24 (pp. 276-290). Springer, Berlin, Heidelberg.
[13] Zhao X, Wang Z, Fan X, Wang Z. A Clustering-Bayesian network based approach for test case prioritization. InComputer Software and Applications Conference (COMPSAC), 2015 IEEE 39th Annual 2015 Jul 1 (Vol. 3, pp. 542-547). IEEE.
[14] Hasan MA, Rahman MA, Siddik MS. Test Case Prioritization Based on Dissimilarity Clustering Using Historical Data Analysis. InInternational Conference on Information, Communication and Computing Technology 2017 May 13 (pp. 269-281). Springer, Singapore.
[15] Just R, Jalali D, Ernst MD. Defects4J: A database of existing faults to enable controlled testing studies for Java programs. InProceedings of the 2014 International Symposium on Software Testing and Analysis 2014 Jul 21 (pp. 437-440). ACM.
[16] Nayak S, Kumar C, Tripathi S. Effectiveness of prioritization of test cases based on Faults. In Recent Advances in Information Technology, 3rd International Conference on 2016 Mar 3 (pp. 657-662). IEEE.
[17] Noor TB, Hemmati H. A similarity-based approach for test case prioritization using historical failure data. In2015 IEEE 26th International Symposium on Software Reliability Engineering (ISSRE) 2015 Nov 1 (pp. 58-68). IEEE.
[18] Siddik S, Gias AU, Khaled SM. Optimizing software design migration from structured programming to object oriented paradigm. InComputer and Information Technology (ICCIT), 2013 16th International Conference on 2014 Mar 8 (pp. 1-6). IEEE.
[19] Marijan D. Multi-perspective regression test prioritization for time-constrained environments. InSoftware Quality, Reliability and Security (QRS), 2015 IEEE International Conference on 2015 Aug 3 (pp. 157-162). IEEE.
[20] Jiang B, Zhang Z, Chan WK, Tse TH. Adaptive random test case prioritization. InProceedings of the 2009 IEEE/ACM International Conference on Automated Software Engineering 2009 Nov 16 (pp. 233-244). IEEE Computer Society.
[21] Zhang L, Hao D, Zhang L, Rothermel G, Mei H. Bridging the gap between the total and additional test-case prioritization strategies. InProceedings of the 2013 International Conference on Software Engineering 2013 May 18 (pp. 192-201). IEEE Press.
[22] Rothermel G, Harrold MJ. A safe, efficient regression test selection technique. ACM Transactions on Software Engineering and Methodology (TOSEM). 1997 Apr 1;6(2):173-210.
[23] Wong WE, Horgan JR, London S, Agrawal H. A study of effective regression testing in practice. InSoftware Reliability Engineering, 1997. Proceedings., The Eighth International Symposium on 1997 Nov 2 (pp. 264-274). IEEE.
[24] Murphy GC, Notkin D, Griswold WG, Lan ES. An empirical study of static call graph extractors. ACM Transactions on Software Engineering and Methodology (TOSEM). 1998 Apr 1;7(2):158-91.
[25] Md. Abdur Rahman, Md. Abu Hasan and Md. Saeed Siddik. Prioritizing Dissimilar Test Cases in Regression Testing using Historical Failure Data. International Journal of Computer Applications 180(14):1-8, January 2018.

Citations:

 

APA:
Rahman, M. A., Hasan, M. A., Shah, K., & Siddik, M. S. (2019). Multipartite Based Test Case Prioritization Using Failure History. International Journal of Advanced Science and Technology (IJAST), ISSN: 2005-4238(Print); 2207-6360 (Online), NADIA, 125, 25-42. doi: 10.33832/ijast.2019.125.03.

MLA:
Rahman, Md. Abdur, et al. “Multipartite Based Test Case Prioritization Using Failure History.” International Journal of Advanced Science and Technology, ISSN: 2005-4238(Print); 2207-6360 (Online), NADIA, vol. 125, 2019, pp. 25-42. IJAST, http://article.nadiapub.com/IJAST/Vol125/3.html.

IEEE:
[1] M. A. Rahman, M. A. Hasan, K. Shah and M. S. Siddik, “Multipartite Based Test Case Prioritization Using Failure History.” International Journal of Advanced Science and Technology (IJAST), ISSN: 2005-4238(Print); 2207-6360 (Online), NADIA, vol. 125, pp. 25-42, Apr 2019.