skip to main content
10.1145/3019612.3019831acmconferencesArticle/Chapter ViewAbstractPublication PagessacConference Proceedingsconference-collections
research-article

Failure history data-based test case prioritization for effective regression test

Published:03 April 2017Publication History

ABSTRACT

For regression testing in the continuous integration environments, the time and cost should be considered; to satisfy these constraints, it is necessary to improve the test efficiency regarding the achievement of the test goal. It is especially important to identify the problem quickly by first executing a test case with a high probability of failure. This paper therefore proposes the FHD (<u>F</u>ailure <u>H</u>istory <u>D</u>ata)-Prioritization technique for the purpose of effective regression testing. This technique uses the failed test case history, the flipped result of method test case and the correlation data as the prioritization criteria, and the algorithm is designed to calculate the weight through the following two-step classification: 1) The FHD-Prioritization analyzes the failure history data statistically and sequentially arranges the test cases from the highest failure occurrence probability in the current session. 2) If a failure occurs during the test, the FHD-Prioritization reprioritizes in real time based on the correlation data. The performance of the FHD-Prioritization technique is evaluated with Tomcat and Camel, Apache open source software projects that were developed in the continuous integration environment. Because all of these projects are composed of the real faults of real-world projects, it is possible to practically evaluate the efficiency of the proposed approach. The FHD-Prioritization improved the efficiency of test case prioritization by about 5.62+ and 2.17+, respectively, compared to ROCKET and AFSAC.

References

  1. Wong, W. E., Horgan, J. R., London, S., and Agrawal, H. A study of effective regression testing in practice. In Proceedings of International Symposium Software Reliability Engineering, 1997, 264--274. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Yoo, S., and Harman, M. Regression testing minimization, selection and prioritization: a survey. Software Testing, Verification and Reliability, 2012, 22(2), 67--120. Google ScholarGoogle ScholarCross RefCross Ref
  3. Wong, W. E., Horgan, J. R., Mathur, A. P., and Pasquini, A. Test set size minimization and fault detection effectiveness: A case study in a space application. In Proceedings of Computer Software and Applications Conference, 1997, 522--528. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Rothermel, G. and Harrold, M. J. A safe, efficient regression test selection technique. IEEE Transactions on Software Engineering and Methodology, 1997, 6(2), 173--210. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Rothermel, G., Untch, R. H., Chu, C. and Harrold, M. J., Prioritizing test cases for regression testing. IEEE Transactions on software engineering, 2001, 2, 7(10), 929--948. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Kim, J. M., and Porter, A. A history-based test prioritization technique for regression testing in resource constrained environments. In Proceedings of International Conference on Software Engineering, 2002, 119--129. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Aggrawal, K. K., Singh, Y., and Kaur, A. Code coverage based technique for prioritizing test cases for regression testing. ACM SIGSOFT Software Engineering Notes, 2004, 29(5), 1--4. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Korel, B., Tahat, L. H, and Harman, M. Test prioritization using system models. In Proceedings of International Conference on Software Maintenance, 2005, 559--568. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Arafeen, M. J., and Do, H. Test case prioritization using requirements-based clustering. In Proceedings of International Conference on Software Testing, Verification and Validation, 2013, 312--321. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Di Nardo, D., Alshahwan, N., Briand, L., and Labiche, Y. Coverage-based test case prioritisation: An industrial case study. In Proceedings of International Conference on Software Testing, Verification and Validation, 2013, 302--311. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Saha, R. K., Zhang, L., Khurshid, S., and Perry, D. E. An information retrieval approach for regression test prioritization based on program changes. In Proceedings of International Conference on Software Engineering-Volume 1, 2015, 268--279. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Srikanth, H., and Williams, L. On the economics of requirements-based test case prioritization. In ACM SIGSOFT Software Engineering Notes, 2005, Vol. 30, No. 4, 1--3. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Cho, Y., Kim, J., and Lee, E. History-based Test Case Prioritization for Failure Information. In Proceedings of Asia-Pacific Software Engineering Conference. 2016 (Poster session in press) Google ScholarGoogle ScholarCross RefCross Ref
  14. Marijan, D., Gotlieb, A., and Sen, S. Test case prioritization for continuous regression testing: An industrial case study. In Proceedings of International Conference on Software Maintenance, 2013, 540--543. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Carlson, R., Do, H., and Denton, A. A clustering approach to improving test case prioritization: An industrial case study. In Proceedings of International Conference on Software Maintenance, 2011, 382--391. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Apache Software Foundation Projects Directory, URL: https://projects.apache.orgGoogle ScholarGoogle Scholar
  17. Elbaum, S., Rothermel, G., and Penix, J. Techniques for improving regression testing in continuous integration development environments. In Proceedings of the International Symposium on Foundations of Software Engineering, 2014, 235--245. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Elbaum, S., Malishevsky, A. G., and Rothermel, G. Test case prioritization: A family of empirical studies. IEEE transactions on software engineering, 2002, 28(2), 159--182. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Failure history data-based test case prioritization for effective regression test

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in
    • Published in

      cover image ACM Conferences
      SAC '17: Proceedings of the Symposium on Applied Computing
      April 2017
      2004 pages
      ISBN:9781450344869
      DOI:10.1145/3019612

      Copyright © 2017 ACM

      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 3 April 2017

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article

      Acceptance Rates

      Overall Acceptance Rate1,650of6,669submissions,25%

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader