Skip to main content

A Genetic Algorithm-Based Approach for Test Case Prioritization

  • Conference paper
  • First Online:
Information and Communication Technology for Development for Africa (ICT4DA 2019)

Abstract

Software maintenance is the most important and expensive activity in the process of Software Development Life Cycle (SDLC). In the maintenance stage, after modification, the software goes through verification and validation. Regression testing is performed at the maintenance stage of SDLC to ensure that the old functionalities are working perfectly. Test case prioritization, which is about making a sequence of the test case, is one of the important parts of regression testing. Test case prioritization(TCP), which is a class of NP-hard problem, can have a better solution using soft computing approach as per no-free-lunch theorem [1]. The same no-free-lunch theorem states that a soft computing approach yields a case-specific result. In this article, we propose a novel genetic algorithm approach to solve the TCP problem. The proposed algorithm is experimentally compared with random technique. For the experiment three-benchmark program from the software artifact infrastructure repository is selected. From the experiment, it was found that the Average Percentage of Fault Detection (APFD) of the GA technique gives a better result than random technique. Also, an experiment was conducted to record the execution time with different numbers of generations. The results confirm that the result is not directly dependent on the number of generation.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    Software-artifact Infrastructure Repository, https://sir.csc.ncsu.edu/portal/index.php (Accessed 5th September 2018).

  2. 2.

    Jumble home page http://jumble.sourceforge.net (Accessed 7th September 2018).

  3. 3.

    JUnit’s official website, http://www.junit.org/ (Accessed 7th September 2018).

  4. 4.

    The Eclipse Foundation website, http://www.eclipse.org/ (Accessed 7th September 2018).

References

  1. Koppen, M., Wolpert, D.H., Macready, W.G.: Remarks on a recent paper on the “no free lunch” theorems. IEEE Trans. Evol. Comput. 5(3), 295–296 (2001)

    Article  Google Scholar 

  2. Ostrand, T.J., Weyuker, E.J., Bell, R.M.: Where the bugs are. In: ACM SIGSOFT Software Engineering Notes 2004 Jul 11, vol. 29, no. 4, pp. 86–96. ACM (2004)

    Google Scholar 

  3. Ahmed, A.: Software Testing as a Service. Auerbach Publications, Boca Raton (2009)

    Book  Google Scholar 

  4. Ramler, R., Biffl, S., Grünbacher, P.: Value-based management of software testing. In: Biffl, S., Aurum, A., Boehm, B., Erdogmus, H., Grünbacher, P. (eds.) Value-Based Software Engineering, pp. 225–244. Springer, Heidelberg (2006). https://doi.org/10.1007/3-540-29263-2_11

    Chapter  Google Scholar 

  5. Boehm, B., Huang, L.G.: Value-based software engineering: a case study. Computer 36(3), 33–41 (2003)

    Article  Google Scholar 

  6. Zhang, L., Hou, S.S., Guo, C., Xie, T., Mei, H.: Time-aware test-case prioritization using integer linear programming. In: Proceedings of the Eighteenth International Symposium on Software Testing and Analysis, 19 July 2009, pp. 213–224. ACM (2009)

    Google Scholar 

  7. Ashraf, E., Rauf, A., Mahmood, K.: Value based regression test case prioritization. In: Proceedings of the World Congress on Engineering and Computer Science, vol. 1, pp. 24–26 (2012)

    Google Scholar 

  8. Rothermel, G., Untch, R.H., Chu, C., Harrold, M.J.: Test case prioritization: An empirical study. In: Proceedings IEEE International Conference on Software Maintenance - (ICSM 1999). Software Maintenance for Business Change (Cat. No. 99CB36360), pp. 179–188. IEEE (1999)

    Google Scholar 

  9. 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)

    Article  Google Scholar 

  10. Wong, W.E., Horgan, J.R., London, S., Agrawal, H.: A study of effective regression testing in practice. In: Proceedings of the Eighth International Symposium On Software Reliability Engineering, pp. 264–274. IEEE, 2 November 1997

    Google Scholar 

  11. Beasley, J., Dowsland, K., Glover, F., Laguna, M., Peterson, C., Reeves, C.R.: Modern heuristic techniques for combinatorial problems, p. 320. Colin R. Reeves, New York (1993)

    Google Scholar 

  12. Husbands, P.: Genetic algorithms for scheduling. AISB Q. 89, 38–45 (1994)

    Google Scholar 

  13. Gary, M.R., Johnson, D.S.: Computers and Intractability: A Guide to the Theory of NP-Completeness. WH Freeman, New York (2002)

    Google Scholar 

  14. Yadav, D.K., Dutta, S.: Test case prioritization technique based on early fault detection using fuzzy logic. In: 2016 3rd International Conference on Computing for Sustainable Global Development (INDIACom), pp. 1033–1036. IEEE, 16 March 2016

    Google Scholar 

  15. Khatibsyarbini, M., Isa, M.A., Jawawi, D.N., Tumeng, R.: Test case prioritization approaches in regression testing: a systematic literature review. Inf. Softw. Technol. 1(93), 74–93 (2018)

    Article  Google Scholar 

  16. Elbaum, S., Malishevsky, A.G., Rothermel, G.: Test case prioritization: a family of empirical studies. IEEE Trans. Softw. Eng. 28(2), 159–182 (2002)

    Article  Google Scholar 

  17. Srivastava, A., Thiagarajan, J.: Effectively prioritizing tests in development environment. In: ACM SIGSOFT Software Engineering Notes, vol. 27, no. 4, pp. 97–106. ACM, 22 July 2002

    Google Scholar 

  18. Panigrahi, C.R., Mall, R.: An approach to prioritize the regression test cases of object-oriented programs. CSI Trans. ICT 1(2), 159–173 (2013)

    Article  Google Scholar 

  19. Panigrahi, C.R., Mall, R.: A heuristic-based regression test case prioritization approach for object-oriented programs. Innov. Syst. Softw. Eng. 10(3), 155–163 (2014)

    Article  Google Scholar 

  20. Miranda, B., Bertolino, A.: Scope-aided test prioritization, selection and minimization for software reuse. J. Syst. Softw. 1(131), 528–549 (2017)

    Article  Google Scholar 

  21. Li, Z., Harman, M., Hierons, R.M.: Search algorithms for regression test case prioritization. IEEE Trans. Softw. Eng. 33(4), 225–237 (2007)

    Article  Google Scholar 

  22. Jeffrey, D., Gupta, N.: Experiments with test case prioritization using relevant slices. J. Syst. Softw. 81(2), 196–221 (2008)

    Article  Google Scholar 

  23. Smith, A.M., Geiger, J., Kapfhammer, G.M., Soffa, M.L.: Test suite reduction and prioritization with call trees. In: Proceedings of the Twenty-Second IEEE/ACM International Conference on Automated Software Engineering, pp. 539–540. ACM, 5 November 2007

    Google Scholar 

  24. Mohapatra, S.K., Prasad, S.: Evolutionary search algorithms for test case prioritization. In: 2013 International Conference on Machine Intelligence and Research Advancement, pp. 115–119. IEEE, 21 December 2013

    Google Scholar 

  25. Mohapatra, S.K., Prasad, S.: A chemical reaction optimization approach to prioritize the regression test cases of object-oriented programs. J. ICT Res. Appl. 11(2), 113–130 (2017)

    Article  Google Scholar 

  26. Mohapatra, S.K., Srinivas, P.: An ant colony algorithm to prioritize the regression test cases of object-oriented programs. Indian J. Sci. Technol. 9(19), 1–8 (2016)

    Google Scholar 

  27. Maheswari, R.U., Mala, D.J.: Combined genetic and simulated annealing approach for test case prioritization. Indian J. Sci. Technol. 8(35), 1–5 (2015)

    Google Scholar 

  28. Noguchi, T., Washizaki, H., Fukazawa, Y., Sato, A., Ota, K.: History-based test case prioritization for black box testing using ant colony optimization. In: 2015 IEEE 8th International Conference on Software Testing, Verification and Validation (ICST), pp. 1–2. IEEE, 13 April 2015

    Google Scholar 

  29. Elbaum, S., Malishevsky, A., Rothermel, G.: Incorporating varying test costs and fault severities into test case prioritization. In: Proceedings of the 23rd International Conference on Software Engineering, pp. 329–338. IEEE Computer Society, 1 July 2001

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Sudhir Kumar Mohapatra .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2019 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Habtemariam, G.M., Mohapatra, S.K. (2019). A Genetic Algorithm-Based Approach for Test Case Prioritization. In: Mekuria, F., Nigussie, E., Tegegne, T. (eds) Information and Communication Technology for Development for Africa. ICT4DA 2019. Communications in Computer and Information Science, vol 1026. Springer, Cham. https://doi.org/10.1007/978-3-030-26630-1_3

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-26630-1_3

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-26629-5

  • Online ISBN: 978-3-030-26630-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics