Abstract
Regression testing is the process of retesting the software after it has been modified and ensuring that there is no new errors have been introduced in the software due to these modifications. As the size of the software projects increases, the regression testing became a very costly process, so the need of detecting the faults in the software project as fast as possible became more and more important. Test case prioritization arranges test cases for execution to increase the probability of early fault detection during the regression testing. In this paper, three simple test case prioritization heuristics are presented, where every heuristic calculates the average number faults found per each test case. The three heuristics are combined together to develop a multi-heuristic based algorithm that arrange test cases based on their priorities using the scores obtained from the three heuristics. The effectiveness of the three heuristics and the multi-heuristic based algorithm are illustrated with the help of APFD (Average Percentage Faults Detected) metric. The main aim of this paper is to show how using simple heuristics for test cases prioritization would help in error early detection during regression testing, and to show how the proposed multi-heuristic based algorithm has significant increase in terms of APFD even if the algorithm is using simple heuristics.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Akay, B., Karaboga, D.: A modified artificial bee colony algorithm for real-parameter optimization. Information Sciences 192, 120–142 (2012)
Asmuni, H., et al.: An investigation of fuzzy multiple heuristic orderings in the construction of university examination timetables. Computers & Operations Research 36(4), 981–1001 (2009)
Bolme, D.S., Beveridge, J.R., Draper, B.A., Phillips, P.J., Lui, Y.M.: Automatically searching for optimal parameter settings using a genetic algorithm. In: Crowley, J.L., Draper, B.A., Thonnat, M. (eds.) ICVS 2011. LNCS, vol. 6962, pp. 213–222. Springer, Heidelberg (2011)
Do, H., Rothermel, G.: On the use of mutation faults in empirical assessments of test case prioritization techniques. IEEE Trans. Softw. Eng., 733–752 (2006)
Elbaum, S., Malishevsky, A., Rothermel, G.: Incorporating Varying Test Costs and Fault Severities into Test Case Prioritization. In: Proc. 23rd Intl Conf. Software Eng. (ICSE 2001), pp. 329–338 (2001)
Elbaum, S., Malishevsky, A.G., Rothermel, G.: Test Case Prioritization: A Family of Empirical Studies. IEEE Trans. Software Eng. 28(2), 159–182 (2002)
Galileo Research Group:Software-artifact infrastructure repository, SIR (2009)
Givens, G.H., Beveridge, J.R., Draper, B.A., Bolme, D.S.: Using a generalized linear mixed model to study the configuration space of pca+lda human face recognition algorithm. In: Perales, F.J., Draper, B.A. (eds.) AMDO 2004. LNCS, vol. 3179, pp. 1–11. Springer, Heidelberg (2004)
Harzallah, H., Jurie, F., Schmid, C.: Combining efficient object localization and image classification. In: International Conference Computer Vision (2009)
Kim, J.M., Porter, A.: A History-Based Test Prioritization Technique for Regression Testing in Resource Constrained Environments. In: Proc. 24th Intl Conf. Software Eng., pp. 119–129 (2002)
Leon, D., Podgurski, A.: A Comparison of Coverage-Based and Distribution-Based Techniques for Filtering and Prioritizing Test Cases. In: Proc. Intl Symp. Software Reliability Eng., pp. 442–453 (2003)
Mirarab, S.: A Bayesian Framework for Software Regression Testing. Master of applied science thesis. Waterloo, Ontario, Canada (2008)
Onoma, K., Tsai, W.-T., Poonawala, M., Suganuma, H.: Regression Testing in an Industrial Environment. Comm. ACM 41(5), 81–86 (1988)
Parsa, S., Khalilian, A.: On the Optimization Approach towards Test Suite Minimization. International Journal of Software Engineering and its Applications 4(1), 15–28 (2010)
Rothermel, G., et al.: Test case prioritization: An empirical study. In: Proceedings of the IEEE International Conference on Software Maintenance (ICSM 1999). IEEE (1999)
Rothermel, G., Untch, R., Chu, C., Harrold, M.J.: Prioritizing Test Cases for Regression Testing. IEEE Trans. Software Eng. 27(10), 929–948 (2001)
Scholtes, P.R., Joiner, B.L., Streibel, B.J.: The team handbook. Joiner/Oriel Incorporated (2003)
Schulze, M.: A new monotonic, clone-independent, reversal symmetric, and condorcet-consistent single-winner election method. Social Choice and Welfare 36(2), 267–303 (2011)
Walcott, K.R., Soffa, M.L., Kapfhammer, G.M., Roos, R.S.: Time aware test suite prioritization. In: ISSTA, pp. 1–12 (2006)
Zhang, X.L., Chen, X.F., He, Z.J.: An ACO-based algorithm for parameter optimization of support vector machines. Expert Systems with Applications 37(9), 6618–6628 (2010)
Zhang, X., Nie, C., Xu, B., Qu, B.: Test case prioritization based on varying testing requirement priorities and test case costs. In: Proceedings of the IEEE International Conference on Quality Software (QSIC), pp. 15–24 (2007)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2014 Springer International Publishing Switzerland
About this paper
Cite this paper
Nawar, M.N., Ragheb, M.M. (2014). Multi-heuristic Based Algorithm for Test Case Prioritization. In: Murgante, B., et al. Computational Science and Its Applications – ICCSA 2014. ICCSA 2014. Lecture Notes in Computer Science, vol 8583. Springer, Cham. https://doi.org/10.1007/978-3-319-09156-3_32
Download citation
DOI: https://doi.org/10.1007/978-3-319-09156-3_32
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-09155-6
Online ISBN: 978-3-319-09156-3
eBook Packages: Computer ScienceComputer Science (R0)