Call for Paper - March 2023 Edition
IJCA solicits original research papers for the March 2023 Edition. Last date of manuscript submission is February 20, 2023. Read More

Prioritizing Dissimilar Test Cases in Regression Testing using Historical Failure Data

International Journal of Computer Applications
Foundation of Computer Science (FCS), NY, USA
Year of Publication: 2018
Md. Abdur Rahman, Md. Abu Hasan, Md. Saeed Siddik

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. BibTeX

	author = {Md. Abdur Rahman and Md. Abu Hasan and Md. Saeed Siddik},
	title = {Prioritizing Dissimilar Test Cases in Regression Testing using Historical Failure Data},
	journal = {International Journal of Computer Applications},
	issue_date = {January 2018},
	volume = {180},
	number = {14},
	month = {Jan},
	year = {2018},
	issn = {0975-8887},
	pages = {1-8},
	numpages = {8},
	url = {},
	doi = {10.5120/ijca2018916258},
	publisher = {Foundation of Computer Science (FCS), NY, USA},
	address = {New York, USA}


Test case prioritization assigns new order of test cases for detecting regression faults at early. In regression testing when new version is released, all the test cases of both previous and current versions are executed to ensure the desired functionality. This process increases the volume of test cases in regression testing, which is expensive and time consuming. That is why the test cases are needed to be reordered for exploring maximum faults in minimum test cases execution. Usually test case prioritization techniques are designed based on source code coverage, requirements clustering, etc. Most of these techniques contain the similarity relationship among the test cases. However, similarity based technique may stuck in local minima. To overcome the limitation of similarity based prioritization, this paper proposed the dissimilar clustering based approach using historical data analysis to detect maximum faults. In this approach, dissimilar test cases placed in the top of the test suites and executed earlier than similar test cases. Proposed scheme is evaluated using well established Defects4j dataset, and it has reported that proposed strategy performs 54.95%, 41.83% and 7.00% better than untreated (normal ordering), random and similarity cluster based prioritization methods respectively.


  1. G. Rothermel and M. J. Harrold, “A safe, efficient regression test selection technique,” ACM Transactions on Software Engineering and Methodology, vol. 6, no. 2, pp. 173–210, 1997.
  2. G. Rothermel, R. H. Untch, C. Chu, and M. J. Harrold, “Prioritizing test cases for regression testing,” IEEE Transactions on software engineering, vol. 27, no. 10, pp. 929–948, 2001.
  3. M. J. Arafeen and H. Do, “Test case prioritization using requirements-based clustering,” in Software Testing, Verification and Validation (ICST), 2013 IEEE Sixth International Conference on, pp. 312–321, IEEE, 2013.
  4. S. Mirarab and L. Tahvildari, “A prioritization approach for software test cases based on bayesian networks,” Fundamental Approaches to Software Engineering, pp. 276–290, 2007.
  5. M. S. Siddik and K. Sakib, “Rdcc: An effective test case prioritization framework using software requirements, design and source code collaboration,” in 17th International Conference on Computer and Information Technology (ICCIT), pp. 75– 80, IEEE, 2014.
  6. P. Konsaard and L. Ramingwong, “Total coverage based regression test case prioritization using genetic algorithm,” in 12th Int. Conf. on Electrical Engineering/Electronics, Computer, Telecommunications and Information Technology (ECTI-CON), pp. 1–6, IEEE, 2015.
  7. X. Zhao, Z. Wang, X. Fan, and Z. Wang, “A clusteringbayesian network based approach for test case prioritization,” in Computer Software and Applications Conference (COMPSAC), 2015 IEEE 39th Annual, vol. 3, pp. 542–547, IEEE, 2015.
  8. X. Wang and H. Zeng, “History-based dynamic test case prioritization for requirement properties in regression testing,” in Continuous Software Evolution and Delivery (CSED), IEEE/ACM International Workshop on, pp. 41–47, IEEE, 2016.
  9. M. A. Hasan, M. A. Rahman, and M. S. Siddik, “Test case prioritization based on dissimilarity clustering using historical data analysis,” in International Conference on Information, Communication and Computing Technology, pp. 269– 281, Springer, 2017.
  10. J.-M. Kim and A. Porter, “A history-based test prioritization technique for regression testing in resource constrained environments,” in Proceedings of the 24th international conference on software engineering, pp. 119–129, ACM, 2002.
  11. T. B. Noor and H. Hemmati, “A similarity-based approach for test case prioritization using historical failure data,” in Software Reliability Engineering (ISSRE), 2015 IEEE 26th International Symposium on, pp. 58–68, IEEE, 2015.
  12. R. Just, D. Jalali, and M. 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, pp. 437–440, ACM, 2014.
  13. D. Marijan, “Multi-perspective regression test prioritization for time-constrained environments,” in Software Quality, Reliability and Security (QRS), 2015 IEEE International Conference on, pp. 157–162, IEEE, 2015.
  14. H. Do and G. Rothermel, “A controlled experiment assessing test case prioritization techniques via mutation faults,” in Software Maintenance, 2005. ICSM’05. Proceedings of the 21st IEEE International Conference on, pp. 411–420, IEEE, 2005.
  15. S. Siddik, A. U. Gias, and S. M. Khaled, “Optimizing software design migration from structured programming to object oriented paradigm,” in 16th International Conference on Computer and Information Technology (ICCIT), pp. 1–6, IEEE, 2014.
  16. J. A. Hartigan and M. A. Wong, “Algorithm as 136: A kmeans clustering algorithm,” Journal of the Royal Statistical Society. Series C (Applied Statistics), vol. 28, no. 1, pp. 100– 108, 1979.


Prioritization, Dissimilarity, Clustering, Historical Data