An Effective Meta-Heuristic Cuckoo Search Algorithm for Test Suite Optimization

Manju Khari, Prabhat Kumar


Automation testing is the process of generating test data programmatically without
any human interventions. In recent times, nature-inspired solutions are planned, tested and validated successfully in many areas for the purpose of optimization. One such metaheuristic technique is Cuckoo Algorithm (CA) that receives its sole inspiration from the behavior of cuckoo, who has the ability to resolve complex issues using simple initial conditions and limited knowledge of the search space. This paper presents cost effective and time efficient algorithm inspired from cuckoo for optimizing the test data. When the proposed algorithm is compared with existing Fire y Algorithm (FA) and Hill Climbing (HC) algorithms, it was found that CA outperforms both FA and HC in terms of test data optimization process. The work done in the current study would be helpful to testers in generating optimized test data which would result in saving of both testing cost and time.

Full Text:



Sommerville, I. (2004) Software engineering, International computer science series. ed: Addison Wesley.

Mathur, A. P. (2008) Foundations of Software Testing, Pearson Education India.

Mall, R. (2014) Fundamentals of software engineering, PHI Learning Pvt. Ltd.

Ramamoorthy, C. V., and Ho, S. B. F. (1975)Testing large software with automated software evaluation systems, In ACM SIGPLAN Notices, ACM, pp. 382-394.

Miller, W., and Spooner, D. L. (1976) Automatic generation of

floating-point test data, IEEE Transactions on Software Engineering,

IEEE, pp. 223.

Clarke, L. A. (1976) A system to generate test data and symbolically execute programs, IEEE Transactions on Software Engineering,

IEEE, pp. 215-222.

Prather, R. E., and Myers Jr, J. P. (1987) The path prex software testing strategy, IEEE Transactions on Software Engineering, IEEE, pp. 761-766.

Korel, B. (1990) The path prex software testing strategy, IEEE Transactions on Software Engineering, IEEE, pp. 870-879.

Ferguson, R., and Korel, B. (1996) The chaining approach for software test data generation, IACM Transactions on Software Engineering and Methodology (TOSEM), ACM, pp. 63-86.

Korel, B., and Al-Yami, A. M. (1996) Assertion-oriented automated test data generation, 18th international conference on Software engineering, IEEE, pp. 71-80.

Frhlich, P., and Link, J. (2000) Automated test case generation from dynamic models, In ECOOP 2000 Object-Oriented Programming, Springer Berlin Heidelberg, pp. 472-491.

Kim, S., Clark, J. A., and McDermid, J. A. (2000) Class mutation: Mutation testing for object-oriented programs, Proc. Net. ObjectDays, Citeseer, pp. 9-12.

Xiao, M., El-Attar, M., Reformat, M., and Miller, J. (2007) Empirical evaluation of optimization algorithms when used in goal oriented automated test data generation techniques, Empirical Software Engineering, Springer, pp. 183-239.

Harman, M. (2007) The current state and future of search based software engineering, Future of Software Engineering, IEEE, pp.


Ernst, M. D., Cockrell, J., Griswold, W. G., and Notkin, D. (2001) The current state and future of search based software engineering,

IEEE Transactions on Software Engineering, IEEE, pp. 99-123.

Papadakis, M., and Malevris, N. (2010) Automatic mutation test case generation via dynamic symbolic execution, IEEE 21st international symposium on Software reliability engineering (ISSRE), IEEE, pp. 121-130.

Fraser, G., and Arcuri, A. (2011) Evolutionary generation of whole test suites, 11th International Conference on Quality Software (QSIC), IEEE, pp. 31-40.

Sofokleous, A. A., and Andreou, A. S. (2008) Automatic, evolutionary test data generation for dynamic software testing, Journal of Systems and Software, IEEE, pp. 1883-1898.

Fraser, G., and Arcuri, A. (2011) Evosuite: automatic test suite generation for object oriented software, In Proceedings of the 19th

ACM SIGSOFT symposium and the 13th European conference on Foundations of software engineering, ACM, pp. 416-419.

McMinn, P. (2004) Search-based software test data generation: A survey, Software Testing Verication and Reliability, Wiley, pp. 105-

Wappler, S., and Wegener, J. (2006) Evolutionary unit testing of object-oriented software using strongly-typed genetic programming, In Proceedings of the 8th annual conference on Genetic and evolutionary computation, ACM, pp. 1925-1932.

Ribeiro, J. C. B. (2008) Search-based test case generation for object-oriented java software using strongly-typed genetic programming, In Proceedings of the 10th annual conference companion on Genetic and evolutionary computation, ACM, pp. 1819-1822.

Tonella, P. (2005) Reverse engineering of object oriented code, In Proceedings of the 27th international conference on Software engineering, ACM, pp. 724-725.

Lakhotia, K., Harman, M., and McMinn, P. (2007) A multi-objective approach to search based test data generation, In Proceedings

of the 9th annual conference on Genetic and evolutionary computation, ACM, pp. 1098-1105.

Yang, X. S., and Deb, S. (2010) Engineering optimisation by cuckoo search, International Journal of Mathematical Modelling and Numerical Optimisation, Inderscience, pp. 330-343.

Rajabioun, R. (2011) Cuckoo optimization algorithm, Applied soft computing, Elsevier, pp. 5508-5518.

Walton, S., Hassan, O., Morgan, K., and Brown, M. R. (2011) Modied cuckoo search:a new gradient free optimisation algorithm, Chaos, Solitons and Fractals, Elsevier, pp. 710-718.

Yildiz, A. R. (2013) Cuckoo search algorithm for the selection of optimal machining parameters in milling operations, The International

Journal of Advanced Manufacturing Technology, Springer, pp. 55-61.

Valian, E., Mohanna, S., and Tavakoli, S. (2011) Improved cuckoo search algorithm for feedforward neural network training, International Journal of Articial Intelligence and Applications, Elsevier, pp. 36-43.

Civicioglu, P., and Besdok, E. (2013) A conceptual comparison of the Cuckoo-search, particle swarm optimization, dierential evolution and articial bee colony algorithms, Articial Intelligence Review, Springer, pp.315-346.

Gandomi, A. H., Talatahari, S., Yang, X. S., and Deb, S. (2013) Design optimization of truss structures using cuckoo search algorithm, The Structural Design of Tall and Special Buildings, Wiley, pp. 1330-1349.

Bulatovic, R. R., ordevic, S. R., and ordevic, V. S. (2013) Cuckoo search algorithm: a metaheuristic approach to solving the problem of optimum synthesis of a six-bar double dwell linkagem, Mechanism and Machine Theory, Elsevier, pp. 1-13.

Sur, C., and Shukla, A. (2014) Discrete Cuckoo Search Optimization Algorithm for Combinatorial Optimization of Vehicle Route in Graph Based Road Network, In Proceedings of the Third International Conference on Soft Computing for Problem Solving, Springer, pp. 307-320.

Swain, K. B., Solanki, S. S., and Mahakula, A. K. (2014) Bio inspired cuckoo search algorithm based neural network and its application to noise cancellation, International Conference on Signal Processing and Integrated Networks, IEEE, pp. 632-635.

Prakash, M., Saranya, R., Jothi, K. R.,and Vigneshwaran, A. (2012) An optimal job scheduling in grid using cuckoo algorithm, International Journal Computer Science Telecomm, pp. 65-69.

Wang, G. G., Gandomi, A. H., Zhao, X., and Chu, H. C. E. (2016) Hybridizing harmony search algorithm with cuckoo search for global numerical optimization, Soft Computing, Springer, pp. 273-285.

Bhandari, A. K., Singh, V. K., Kumar, A., and Singh, G. K. (2014) Cuckoo search algorithm and wind driven optimization based

study of satellite image segmentation for multilevel thresholding using Kapurs entropy, Expert Systems with Applications, Elsevier, pp. 3538-3560.

Mala, D. J., and Mohan, V. (2010) Quality improvement and optimization of test cases: a hybrid genetic algorithm based approach, ACM SIGSOFT Software Engineering Notes, ACM, pp. 1-14.

Lotem, A., Nakamura, H., and Zahavi, A. (1992) Rejection of cuckoo eggs in relation to host age: a possible evolutionary equilibrium, Behavioral Ecology, ISBE, pp. 128-132.

Yildiz, A. R. (2009) An eective hybrid immune-hill climbing optimization approach for solving design and manufacturing optimization problems in industry, Journal of Materials Processing Technology, Elsevier, pp. 2773-2780.

Devadas, S., Ma, H. K. T., Newton, A. R., and Sangiovanni-Vincentelli, A. (1988) Synthesis and optimization procedures for fully and easily testable sequential machines, In International Conference on New Frontiers in Testing, IEEE, pp. 621-630.

Chun, J. S., Jung, H. K., and Hahn, S. Y. (1998) A study on comparison of optimization performances between immune algorithm and other heuristic algorithms, IEEE Transactions on Magnetics, IEEE, pp. 2972-2975.

Ahmed, B. S., Abdulsamad, T. S., and Potrus, M. Y. (2015) Achievement of minimized combinatorial test suite for conguration-aware software functional testing using the Cuckoo search algorithm, Information and Software Technology, Elsevier, pp. 13-29.

Gandomi, A. H., Yang, X. S., and Alavi, A. H. (2013) Cuckoo search algorithm: a metaheuristic approach to solve structural optimization problems, Engineering with computers, Springer, pp. 17-35.

Elazim, S. A., and Ali, E. S. (2016) Optimal Power System Stabilizers design via Cuckoo Search algorithm, International Journal of

Electrical Power and Energy Systems, Elsevier, pp. 99-107.

Creative Commons License
This work is licensed under a Creative Commons Attribution 3.0 License.