Incorporating Historical Test Case Performance Data and Resource Constraints into Test Case Prioritization

  • Yalda Fazlalizadeh
  • Alireza Khalilian
  • Mohammad Abdollahi Azgomi
  • Saeed Parsa
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5668)


Software regression testing occurs continuously during the software development process in order to detect faults as early as possible. Growing size of test suites on one hand and resource constraints on the other hand, necessitates the test case prioritization process. Test case prioritization techniques schedule test cases for regression testing in an order that increases the chances of early detection of faults. Some prior techniques used the notion of history-based test case prioritization. In this paper, we present a new approach for prioritization using historical test case performance data which considers time and resource constraints. This approach directly calculates the priority of each test case using historical information from the previous executions of the test case. The results of applying our approach to Siemens suite and Space program are also presented. Our results present interesting insights into the effectiveness of the proposed approach in terms of faster fault detection.


Software regression test test case prioritization history-based prioritization historical fault detection 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Mirarab, S.: A Bayesian Framework for Software Regression Testing. Master of applied science thesis, Waterloo, Ontario, Canadia (2008)Google Scholar
  2. 2.
    Burnstein, I.: Practical software testing: a process-oriented approach. Springer, New York (2003)zbMATHGoogle Scholar
  3. 3.
    Rothermel, G., Untch, R.H., Chu, C., Harrold, M.J.: Test case prioritization: an empirical study. In: Proc. IEEE Int. Conf. on Software Maintenanc, Oxford, England, pp. 179–188 (1999)Google Scholar
  4. 4.
    Rothermel, G., Harrold, M.J.: A Safe, Efficient Regression Test Selection Technique. Proc. ACM Transactions on Software Engineering & Methodology 6(2), 173–210 (1997)CrossRefGoogle Scholar
  5. 5.
    Rothermel, G., Untch, R.H., Chu, C., Harrold, M.J.: Prioritizing Test Cases for Regression Testing. Proc. IEEE Transactions on Software Engineering, 102–112 (2001)Google Scholar
  6. 6.
    Li, Z., Harmanand, M., Hierons, R.: Search Algorithms for Regression Test Case Prioritization. Proc. IEEE Transactions on Software Engineering 33, 225–237 (2007)CrossRefGoogle Scholar
  7. 7.
    Kim, J.M., Porter, A.: A History-Based Test Prioritization Technique for Regression Testing in Resource Constrained Environment. In: Proc. 24th Int’l. Conf. Software Engineering, pp. 119–129 (2002)Google Scholar
  8. 8.
    Wong, W.E., Horgan, J.R., Londonm, S., Agrawal, H.: A study of effective regression testing in practice. In: Proc. 8th Int’l. Symp. Software Reliability Engineering, pp. 230–238 (1997)Google Scholar
  9. 9.
    Malishevsky, G., Elbaum, S., Rothermel, G., Kanduri, S.: Selecting a Cost-Effective Test Case Prioritization Technique. In: Proc. Software Quality Control, vol. 12, pp. 185–210 (2004)Google Scholar
  10. 10.
    Malishevsky, G., Ruthruff, J.R., Rothermel, G., Elbaum, S.: Cost-cognizant test case prioritization. Tech. Rep. Department of Computer Science and Engineering, Nebraska, Lincoln, TR-UNL-CSE-2006-0004 (March 2006)Google Scholar
  11. 11.
    Srivastava, P.R.: Test Case prioritization. Journal of Theoretical and Applied Information Technology (JATIT), BITS Pilani, India-333031Google Scholar
  12. 12.
    Korel, B., Koutsogiannakis, G., Tahat, L.H.: Model-based test prioritization heuristic methods and their evaluation. In: Proc. 3rd Int’l. Workshop on Advances in Model-Based Testing, London, UK (July 2007)Google Scholar
  13. 13.
    Elbaum, S., Malishevsky, A.G., Rothermel, G.: Prioritizing test cases for regression testing. In: Proc. 7th Int’l. Syrup. Software Testing and Analysis, August 2000, pp. 102–112 (2000)Google Scholar
  14. 14.
    Elbaum, S., Malishevsky, A.G., Rothermel, G.: Test Case Prioritization: A Family of Empirical Studies. Proc. IEEE Transactions on Software Engineering 28(2), 159–182 (2002)CrossRefGoogle Scholar
  15. 15.
    Park, H., Ryu, H., Baik, J.: Historical Value-Based Approach for Cost-Cognizant Test Case Prioritization to Improve the Effectiveness of Regression Testing. In: 2nd Int’l. Conf. Secure System Integration and Reliability Improvement, Japan, pp. 39–46 (to appear, 2008)Google Scholar
  16. 16.
    Elbaum, S., Malishevsky, A.G., Rothermel, G.: Incorporating varying test costs and fault severities into test case prioritization. In: Proc. 23rd Int. Conf. on Software Engineering, Toronto, Ontario, Canada. IEEE Computer Society, Los Alamitos (2001)Google Scholar
  17. 17.
    Rothermel, G., Elbaum, S., Kinneer, A., Do, H.: Software-artifact infrastructure repository,
  18. 18.
    SAS 9.1.3 Documentation, SAS/GRAPH 9.1 Reference,
  19. 19.
  20. 20.
    Jeffrey, D., Gupta, N.: Improving Fault Detection Capability by Selectively Retaining Test Cases during Test Suite Reduction. Source IEEE Transactions on Software Engineering archive, 108–123 (2007)Google Scholar
  21. 21.
    Horgan, J.R., London, S.A.: ATAC: A Data Flow Coverage Testing Tool for C. In: Proc. Symp. Assessment of Quality Software Development Tools, May 1992, pp. 2–10 (1992)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2009

Authors and Affiliations

  • Yalda Fazlalizadeh
    • 1
  • Alireza Khalilian
    • 1
  • Mohammad Abdollahi Azgomi
    • 1
  • Saeed Parsa
    • 1
  1. 1.Iran University of Science and TechnologyTehranIran

Personalised recommendations