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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
Software-artifact Infrastructure Repository, https://sir.csc.ncsu.edu/portal/index.php (Accessed 5th September 2018).
- 2.
Jumble home page http://jumble.sourceforge.net (Accessed 7th September 2018).
- 3.
JUnit’s official website, http://www.junit.org/ (Accessed 7th September 2018).
- 4.
The Eclipse Foundation website, http://www.eclipse.org/ (Accessed 7th September 2018).
References
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)
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)
Ahmed, A.: Software Testing as a Service. Auerbach Publications, Boca Raton (2009)
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
Boehm, B., Huang, L.G.: Value-based software engineering: a case study. Computer 36(3), 33–41 (2003)
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)
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)
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)
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)
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
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)
Husbands, P.: Genetic algorithms for scheduling. AISB Q. 89, 38–45 (1994)
Gary, M.R., Johnson, D.S.: Computers and Intractability: A Guide to the Theory of NP-Completeness. WH Freeman, New York (2002)
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
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)
Elbaum, S., Malishevsky, A.G., Rothermel, G.: Test case prioritization: a family of empirical studies. IEEE Trans. Softw. Eng. 28(2), 159–182 (2002)
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
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)
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)
Miranda, B., Bertolino, A.: Scope-aided test prioritization, selection and minimization for software reuse. J. Syst. Softw. 1(131), 528–549 (2017)
Li, Z., Harman, M., Hierons, R.M.: Search algorithms for regression test case prioritization. IEEE Trans. Softw. Eng. 33(4), 225–237 (2007)
Jeffrey, D., Gupta, N.: Experiments with test case prioritization using relevant slices. J. Syst. Softw. 81(2), 196–221 (2008)
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
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
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)
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)
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)
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
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
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2019 Springer Nature Switzerland AG
About this paper
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)