Test Case Prioritization Based on Dissimilarity Clustering Using Historical Data Analysis

  • Md. Abu HasanEmail author
  • Md. Abdur Rahman
  • Md. Saeed Siddik
Conference paper
Part of the Communications in Computer and Information Science book series (CCIS, volume 750)


Test case prioritization reorders test cases based on their fault detection capability. In regression testing when new version is released, previous versions’ test cases are also executed to cross check the desired functionality. Historical data ensures the previous fault information, which would lead the potential faults in new version. Faults are not uniformed in all software versions, where similar test cases may stack in same faults. Most of the prioritization techniques are either similar coverage based or requirements clustering, where some used historical data. However, no one incorporate dissimilarity and historical data together, which ensure the coverage of various un-uniformed faults. This paper presents a prioritization approach based on dissimilarity test case clustering using historical data analysis to detect various faults in minimum test case execution. Proposed scheme is evaluated using well established Defects4j dataset, and it has reported that dissimilarity algorithm performs better than untreated, random and similarity based prioritization.


Software testing Test case prioritization Historical data Similarity Dissimilarity 


  1. 1.
    Rothermel, G., Untch, R.H., Chu, C., Harrold, M.J.: Prioritizing test cases for regression testing. IEEE Trans. Softw. Eng. 27(10), 929–948 (2001)CrossRefGoogle Scholar
  2. 2.
    Nguyen, C.D., Marchetto, A., Tonella, P.: Test case prioritization for audit testing of evolving web services using information retrieval techniques. In: 2011 IEEE International Conference on Web Services (ICWS). IEEE (2011)Google Scholar
  3. 3.
    Catal, C.: The ten best practices for test case prioritization. In: Skersys, T., Butleris, R., Butkiene, R. (eds.) ICIST 2012. CCIS, vol. 319, pp. 452–459. Springer, Heidelberg (2012). doi: 10.1007/978-3-642-33308-8_37 CrossRefGoogle Scholar
  4. 4.
    Rothermel, G., Untch, R.H., Chu, C., Harrold, M.J.: Test case prioritization: an empirical study. In: Proceedings of IEEE International Conference on Software Maintenance (ICSM 1999), 30 Aug – 3 Sept 1999 (1999)Google Scholar
  5. 5.
    Noor, T.B., Hemmati, H.: Test Case analytics: mining test case traces to improve risk-driven testing. In: SWAN 2015, Montréal, Canada, IEEE (2015)Google Scholar
  6. 6.
    Konsaard, P., Ramingwong L.: Total coverage based regression test case prioritization using genetic algorithm, IEEE (2015)Google Scholar
  7. 7.
    Mirarab, S., Tahvildari, L.: A prioritization approach for software test cases based on Bayesian networks. In: Dwyer, M.B., Lopes, A. (eds.) FASE 2007. LNCS, vol. 4422, pp. 276–290. Springer, Heidelberg (2007). doi: 10.1007/978-3-540-71289-3_22 CrossRefGoogle Scholar
  8. 8.
    Arafeen, M.J., Do, H.: Test case prioritization using requirements-based clustering, In: 2013 IEEE Sixth International Conference (2013)Google Scholar
  9. 9.
    Siddik, M.S., Sakib, K.: 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)Google Scholar
  10. 10.
    Wang, X., Zeng, H.: History-based dynamic test case prioritization for requirement properties in regression testing. In: IEEE/ACM International Workshop on Continuous Software Evolution and Delivery (CSED), pp. 41–47, 14 May 2016. IEEE (2016)Google Scholar
  11. 11.
    Kim, J.-M., Porter, A.: A history-based test prioritization technique for regression testing in resource constrained environments. In: International Conference of Software Engineering, ICSE (2002)Google Scholar
  12. 12.
    Zhao, X., Wang, Z., Fan, X., Wang, Z.: A clustering – Bayesian network based approach for test case prioritization, In: 2015 IEEE 39th Annual International Computers, Software and Applications Conference (2015)Google Scholar
  13. 13.
    Just, R., Jalali, D., Ernst, M.D.: 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. ACM, (2014)Google Scholar
  14. 14.
    Wang Y., Zhao X., Ding X.: An effective test case prioritization method based on fault severity. In: IEEE (2015)Google Scholar
  15. 15.
    Marijan, D.: Multi-perspective regression test prioritization for time-constrained environments, In: IEEE International Conference on Software Quality, Reliability and Security (2015)Google Scholar
  16. 16.
    Siddik, S., Gias, A.U., Khaled, S.M.: 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 (2013)Google Scholar
  17. 17.
    Gao, D., Guo, X., Zhao, L.: Test case prioritization for regression testing based on ant colony optimization. In: 2015 6th IEEE International Conference on Software Engineering and Service Science (ICSESS). IEEE (2015)Google Scholar

Copyright information

© Springer Nature Singapore Pte Ltd. 2017

Authors and Affiliations

  1. 1.Institute of Information Technology, University of DhakaDhakaBangladesh
  2. 2.Centre for Advanced Research in Sciences, University of DhakaDhakaBangladesh

Personalised recommendations