An Improved History-Based Test Prioritization Technique Technique Using Code Coverage

  • Avinash Gupta
  • Nayneesh Mishra
  • Aprna Tripathi
  • Manu Vardhan
  • Dharmender Singh Kushwaha
Conference paper
Part of the Lecture Notes in Electrical Engineering book series (LNEE, volume 315)


Prioritization of test cases provides a way to run test cases with the highest priority earliest. Numerous empirical studies have shown that prioritization can improve a test suite’s rate of fault detection. Software testers prioritize test cases, to reduce the cost of regression testing. History Based Approach is one of the methods to prioritize the test cases. This approach takes into account the history of each of the test cases of the test suite such as fault detection, number of executions and other such factors to prioritize the test cases in the coming sessions. This paper extends the above approach to the modified lines. The modified lines are being prioritized first and subsequently followed by the concerned test cases. The proposed approach has been able to detect fault faster than the previous approach with less effort in comparison to the previous approach.


Prioritization History based Fault detection Test suit 


  1. 1.
    Aggrawal, K., Singh, Y., Kaur, A.: Code coverage based technique for prioritizing test cases for regression testing. ACM SIGSOFT Softw. Eng. Notes 29(5), 1–4, (2004)Google Scholar
  2. 2.
    Chen, T.Y., Lau, M.F.: Dividing strategies for the optimization of a test suite. Inf. Proces. Lett. 60(3), 135–141 (1996)CrossRefMathSciNetMATHGoogle Scholar
  3. 3.
    Ernst, M.D., Cockrell, J., Griswold, W.G., Notkin, D.: Dynamically discovering likely program invariants to support program evolution. IEEE Trans. Softw. Eng. 27(2), 99–123 (2001)Google Scholar
  4. 4.
    Harder, M., Mellen, J., Ernst, M.D.: Improving test suites via operational abstraction. In: Proceedings of the 25th IEEE International Conference on Software Engineering, pp. 60–71 (2003)Google Scholar
  5. 5.
    Harrold, M.J., Gupta, R., Soffa, M.L.: A methodology for controlling the size of a test suite. ACM Trans. Softw. Eng. Methodol. (TOSEM) 2(3), 270–285 (1993)Google Scholar
  6. 6.
    Horgan, J.R,. London, S.: A data flow coverage testing tool for C. In: IEEE Proceedings of the Second Symposium on Assessment of Quality Software Development Tools, pp. 2–10 (1992)Google Scholar
  7. 7.
    Hsu, H.-Y., Orso, A. Mints: a general framework and tool for supporting testsuite minimization. In: Proceedings of IEEE 31st International Conference on Software Engineering. ICSE, pp. 419–429 (2009)Google Scholar
  8. 8.
    Khalilian, M., Azgomi, A., Fazlalizadeh, Y.: An improved method for test case prioritization by incorporating historical test case data. Sci. Comput. Program. 78(1), 93–116 (2012)CrossRefMATHGoogle Scholar
  9. 9.
    Kim, J.-M., Porter, A.: A history-based test prioritization technique for regression testing in resource constrained environments. In: Proceedings of the 24th IEEE International Conference on Software Engineering. ICSE, pp. 119–129 (2002)Google Scholar
  10. 10.
    Leon, D., Podgurski, A.: A comparison of coverage-based and distribution-based techniques for filtering and prioritizing test cases. In: 14th IEEE International Symposium on Software Reliability Engineering. ISSRE, pp. 442–453 (2003)Google Scholar
  11. 11.
    Marr´e, M., Bertolino, A.: Using spanning sets for coverage testing. IEEE Trans. Softw. Eng. 9(11), 974–984 (2003)Google Scholar
  12. 12.
    Offutt, J., Pan, J., Voas, J.M.: Procedures for reducing the size of coverage based test sets. In: Proceedings of the 12th International Conference Testing Computer Software. Citeseer, pp. 111–123 (1995)Google Scholar
  13. 13.
    Papadimitriou, H., Steiglitz, K.: Combinatorial optimization: algorithms and complexity. Courier Dover, New York (1998)Google Scholar
  14. 14.
    Rothermel, G., Harrold, M.J., Ostrin, J., Hong, C.: An empirical study of the effects of minimization on the fault detection capabilities of test suites. In: Proceedings of the IEEE International Conference on Software Maintenance, pp. 34–43 (1998)Google Scholar
  15. 15.
    Rothermel, G., Harrold, M.J., von Ronne, J., Hong, C.: Empirical studies of test-suite reduction. Softw. Test. Verification Reliab. 12(4), 219–249 (2002)CrossRefGoogle Scholar
  16. 16.
    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)Google Scholar
  17. 17.
    Tallam, S. Gupta, N.: A concept analysis inspired greedy algorithm for test suite minimization. ACM SIGSOFT Softw. Eng. Notes. 31, 35–42 (2005)Google Scholar
  18. 18.
    Wong, W.E., Horgan, J.R., Mathur, A.P., Pasquini, A.: Test set size minimization and fault detection effectiveness: a case study in a space application. J. Syst. Softw. 48(2), 79–89 (1999)CrossRefGoogle Scholar
  19. 19.
    Yoo, S., Harman, M.: Regression testing minimization, selection and prioritization: a survey. Softw. Test. Verification Reliab. 22(2), 67–120 (2012)CrossRefGoogle Scholar

Copyright information

© Springer International Publishing Switzerland 2015

Authors and Affiliations

  • Avinash Gupta
    • 1
  • Nayneesh Mishra
    • 1
  • Aprna Tripathi
    • 1
  • Manu Vardhan
    • 2
  • Dharmender Singh Kushwaha
    • 1
  1. 1.MNNITAllahabadIndia
  2. 2.National Institute of TechnologyRaipurIndia

Personalised recommendations