Test Case Prioritization based on Fault Dependency

Full Text (PDF, 614KB), PP.33-45

Views: 0 Downloads: 0


Samia Jafrin 1,* Dip Nandi 2 Sharfuddin Mahmood 2

1. American International University-Bangladesh, Department of Computer Science, Dhaka, Bangladesh

2. American International University- Bangladesh, Dhaka, 1213, Bangladesh

* Corresponding author.

DOI: https://doi.org/10.5815/ijmecs.2016.04.05

Received: 8 Dec. 2015 / Revised: 3 Jan. 2016 / Accepted: 23 Feb. 2016 / Published: 8 Apr. 2016

Index Terms

Software testing, Regression testing, Test case prioritization, Fault dependency, Software quality


Software testers should prioritize test cases so that important ones are run earlier in the regression testing process to reduce the cost of regression testing. Test case prioritization techniques schedule test cases for execution in an order that improves the performance of regression testing. One of the performance goals i.e. the fault detection rate, measures how quickly faults are detected during the testing process. Improved rate of fault dependency detection can provide faster feedback on software and let developers debug the leading faults at first that cause other faults to appear later. Another performance goal i.e. severity detection rate among faults, measures how quickly more severe faults are detected earlier during testing process. Previous studies addressed the second goal, but did not consider dependency among faults. In this paper an algorithm is proposed to prioritize test cases based on rate of severity detection associated with dependent faults. The aim is to detect more severe leading faults earlier with least amount of execution time and to identify the effectiveness of prioritized test case.

Cite This Paper

Samia Jafrin, Dip Nandi, Sharfuddin Mahmood, "Test Case Prioritization based on Fault Dependency", International Journal of Modern Education and Computer Science(IJMECS), Vol.8, No.4, pp.33-45, 2016. DOI:10.5815/ijmecs.2016.04.05


[1]H.Park, H.Ryu, & J.Baik, “Historical value-based approach for cost-cognizant test case prioritization to improve the effectiveness of regression testing In Secure System Integration and Reliability Improvement”, SSIRI'08. Second International Conference, IEEE pp. 39-46, July, 2008.
[2]G. M. Kapfhammer, Software testing. In The Computer Science Handbook, 2004.
[3]A. Singh, “Prioritizing Test Cases in Regression testing using Fault Based Analysis”. International Journal of Computer Science Issues (IJCSI) ,vol: 9(6),2012.
[4]N. Chauhan, “Software Testing: Principles and Practices.” Oxford university press, 2010.
[5]W. E.Wong, J. R. Horgan, S. London, H. Agrawal, (1997, November). “A study of effective regression testing in practice”, The Eighth International Symposium on Software Reliability Engineering Proceedings (pp. 264-274). IEEE, November, 1997.
[6]Institute of Electrical and Electronics Engineers (IEEE). IEEE Standard Computer Dictionary: A Compilation of IEEE Standard Computer Glossaries. New York, NY: 1990.
[7]P. R. Srivastava, (2008). Test case prioritization. Journal of Theoretical and Applied Information Technology, vol: 4(3), pp: 178-181.
[8]B. Hoq, S. Jafrin, S. Hosain, “Dependency Cognizant Test Case Prioritization”. [Unpublished research work, Undergraduate thesis].
[9]E. Dustin, “Effective Software Testing: 50 Ways to Improve Your Software Testing”, Addison-Wesley Longman Publishing Co. Inc., 2002.
[10]S. H. Trivedi, ”Software testing techniques”, International Journal of Advanced Research in Computer Science and Software Engineering, vol: 2(10), pp: 433-438, 2012.
[11]A. G. Malishevsky, J. R.Ruthruff, G. Rothermel, & S. Elbaum, “Cost-cognizant test case prioritization”, Department of Computer Science and Engineering, University of Nebraska-Lincoln, Techical Report.2006
[12]I. Sharma, J. Kaur, M. Sahni, “A Test Case Prioritization Approach in Regression Testing”,2014.
[13]C. Sharma, S. Sabharwal,R. Sibal, ”A survey on software testing techniques using genetic algorithm”, arXiv preprint arXiv:1411.1154, 2014.
[14]C. Kaner, “What is a good test case”. Star East, 16, 2003
[15]G. Rothermel, R. H. Untch, , C. Chu, M. J. Harrold, “Test case prioritization: An empirical study. In Software Maintenance”, IEEE International Conference on 1999.(ICSM'99) Proceedings. , pp: 179-188, 1999.
[16]J. M. Kim, A. Porter, G. Rothermel, ”An empirical study of regression test application frequency”, Software Testing, Verification and Reliability, vol: 15(4), pp: 257-279,2005.
[17]G. Rothermel, S. Elbaum, , A. G. Malishevsky, P. Kallakuri & X.Qiu, “On test suite composition and cost-effective regression testing”, ACM Transactions on Software Engineering and Methodology (TOSEM), vol: 13(3), pp: 277-331, 2004.
[18]A. Srivastava & J. Thiagarajan, “Effectively prioritizing tests in development environment”, ACM SIGSOFT Software Engineering Notes , vol. 27, No. 4, pp: 97-106), July,2002
[19]H. K. Leung & L. White, “Insights into regression testing [software testing]”, Software, Maintenance, 1989., Proceedings., Conference on, IEEE, pp. 60-69, October,1989.
[20]G. Rothermel & M. J. Harrold, “Analyzing regression test selection techniques” , Software Engineering, IEEE Transactions on, vol: 22(8), pp: 529-551, 1996.
[21]S. Elbaum, D. Gable & G. Rothermel, “Understanding and measuring the sources of variation in the prioritization of regression test suites”, In Software Metrics Symposium, 2001. METRICS 2001. Proceedings. Seventh International IEEE, pp: (pp. 169-179), 2001.
[22]G. Rothermel, R. H. Untch, C. Chu & M. J. Harrold, “Prioritizing test cases for regression testing”, Software Engineering, IEEE Transactions on, vol: 27(10), pp: 929-948, 2001.
[23]X. Zhang, C. Nie, B. Xu & B. Qu, “Test case prioritization based on varying testing requirement priorities and test case costs”, In Quality Software, 2007. QSIC'07. Seventh International Conference on IEEE, pp. 15-24, October,2007.
[24]W. E. Wong, J. R. Horgan, A. P. Mathur & A. Pasquini, (1999). “Test set size minimization and fault detection effectiveness: A case study in a space application”, Journal of Systems and Software, vol: 48(2), pp: 79-89, 1999.
[25]M. J. Harrold, “Testing evolving software”, Journal of Systems and Software, vol: 47(2), pp: 173-181, 1999.
[26]J. A. Jones & M. J. Harrold, “Test-suite reduction and prioritization for modified condition/decision coverage”, Software Engineering, IEEE Transactions on, vol: 29(3), pp: 195-209,2003.
[27]P. Tonella, P. Avesani & A. Susi, “Using the case-based ranking methodology for test case prioritization”, In Software Maintenance, 2006. ICSM'06. 22nd IEEE International Conference on IEEE, pp:123-133, September, 2006 .
[28]S. Yoo, M.Harman, P. Tonella & A. Susi, “Clustering test cases to achieve effective and scalable prioritization incorporating expert knowledge”, In Proceedings of the eighteenth international symposium on Software testing and analysis ACM, pp. 201-212, July,2009.
[29]S.Mirarab & L. Tahvildari, “An empirical study on bayesian network-based approach for test case prioritization”, In Software Testing, Verification, and Validation, 2008 1st International Conference on IEEE, pp. :278-287, April,2008.
[30]B. Korel, G. Koutsogiannakis & L. H. Tahat, “Model-based test prioritization heuristic methods and their evaluation”, In Proceedings of the 3rd international workshop on Advances in model-based testing ACM, pp: 34-43, July,2007.
[31]T. Parthiban, R. Kamalraj & S. Karthik, “Establishing a Test Case Prioritization Technique Using Dependency Estimation of Functional Requirement”, International Conference on Engineering Technology and Science-(ICETS’14). International Journal of Innovative Research in Science, Engineering and Technology, 2014.
[32]P. Bansal, “A critical review on test case prioritization and Optimization using soft computing techniques”, In 2nd International Conference on Role Of Technology in Nation Building (ICRTNB), ISBN: 97881925922-1-3, 2013.
[33]Sunita, & M. Gulia, “Study of Regression Test Selection Technique”, International Journal of Advanced Research in Computer Science and Software Engineering. India, 2014.
[34]H. Do, S. Mirarab, L.Tahvildari & G. Rothermel, (2008, November). “An empirical study of the effect of time constraints on the cost-benefits of regression testing”, In Proceedings of the 16th ACM SIGSOFT International Symposium on Foundations of software engineering ACM, (pp. 71-82).
[35]S. Elbaum, A. Malishevsky & G. Rothermel, “Incorporating varying test costs and fault severities into test case prioritization”, In Proceedings of the 23rd International Conference on Software Engineering. IEEE Computer Society, pp. 329-338, July, 2001.
[36]K. R. Walcott, M. L. Soffa, G. M. Kapfhammer & R. S. Roos, (2006, July). “Time aware test suite prioritization”, In Proceedings of the 2006 international symposium on Software testing and analysis ACM, pp. 1-12, July, 2006.
[37]P. R. Srivastva, K. Kumar & G. Raghurama, (2008). “Test case prioritization based on requirements and risk factors”, ACM SIGSOFT Software Engineering Notes, vol: 33(4), 2008.
[38]M. A. Askarunisa, M. L. Shanmugapriya & D. N. Ramaraj, “Cost and coverage metrics for measuring the effectiveness of test case prioritization techniques”, INFOCOMP Journal of Computer Science, vol: 9(1), pp: 43-52, 2010.
[39]A. Singh, (2012). “Prioritizing Test Cases in Regression testing using Fault Based Analysis”, International Journal of Computer Science Issues (IJCSI), vol: 9(6), 2012.
[40]V. B. Singh, P. K. Kapur & A. Tandon, “Measuring reliability growth of software by considering fault dependency, debugging time Lag functions and irregular fluctuation”, ACM SIGSOFT Software Engineering Notes, vol: 35(3), pp: 1-11, 2010.
[41]Y. Wu, R. H. Yap & R. Ramnath, “Comprehending module dependencies and sharing”, In Software Engineering, 2010 ACM/IEEE 32nd International Conference on. IEEE. vol. 2, pp. 89-98, May,2010.
[42]C. Y. Huang & C. T. Lin, “Software reliability analysis by considering fault dependency and debugging time lag”, Reliability, IEEE Transactions on, vol:55(3), pp: 436-450, 2006.
[43]A. Srivastava, J. Thiagarajan & C. Schertz, “Efficient integration testing using dependency analysis”, Microsoft Research, TechReport MSR-TR-2005-94, 2005.
[44]D. Leon, W. Masri & A. Podgurski, “An empirical evaluation of test case filtering techniques based on exercising complex information flows”, In Proceedings of the 27th international conference on Software engineering ACM, pp. 412-421, May, 2005.
[45]H. Kumar, N. Chauhan, “A module coupling slice based test case prioritization technique”, I.J. Modern Education and Computer Science, vol: 7(7), pp: 8-16, 2015.
[46]I. Aslmadi, S. Alda, “Test cases reduction and selection optimization in testing web services”, I.J. Information Engineering and Electronic Business, vol: 4(5), pp: 1-8, 2012.