Abstract
Software testing is a very difficult activity, representing a large part from a software system’s development process. Within the class-based integration testing methodology, determining the order in which the application classes have to be tested is of major importance for reducing the testing time and cost. The Class Integration Test Order (CITO) problem deals with identifying the testing order of classes which minimizes stub creation effort, and subsequently testing cost. In this paper we propose an efficient approach using a genetic algorithm with stochastic acceptance for determining the class integration test order which minimizes the stubbing effort needed during the class-based integration testing. In our proposal, we estimate the stub creation complexity by allocating weights to different types of dependencies between the classes in the software system’s Object Relation Diagram. Four synthetic examples and six software systems often used in the CITO literature are used as case studies for experimentally evaluating our proposal. The effectiveness of our approach is confirmed by the obtained results that outperform the existing related work which provide experimental results on the case studies considered in this paper.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsReferences
Briand, L.C., Labiche, Y., Wang, Y.: Revisiting strategies for ordering class integration testing in the presence of dependency cycles. Technical report TR SCE-01-02, Carleton University (2002)
Assunção, W.K.G., Colanzi, T.E., Pozo, A.T.R., Vergilio, S.R.: Establishing integration test orders of classes with several coupling measures. In: Proceedings of the 13th Annual Conference on Genetic and Evolutionary Computation, GECCO 2011. ACM, New York, pp. 1867–1874 (2011)
Bansal, P., Sabharwal, S., Sidhu, P.: An investigation of strategies for finding test order during integration testing of object oriented applications. In: Proceedings of International Conference on Methods and Models in Computer Science, pp. 1–8 (2009)
Briand, L.C., Feng, J., Labiche, Y.: Using genetic algorithms and coupling measures to devise optimal integration test orders. In: Proceedings of the 14th International Conference on Software Engineering and Knowledge Engineering, SEKE 2002, pp. 43–50. ACM, New York (2002)
Czibula, I.G., Czibula, G., Marian, Z.: An improved approach for class test ordering optimization using genetic algorithms. In: Proceedings of the International Conference on Software Technologies, Madrid, Spain, pp. 23–37 (2017)
Melton, H., Tempero, E.: An empirical study of cycles among classes in Java. Empir. Softw. Eng. 12, 389–415 (2007)
Kung, D., Gao, J., Hsia, P., Toyoshima, Y., Chen, C.: A test strategy for object-oriented programs. In: Proceedings of the Nineteenth Annual International Computer Software and Applications Conference, COMPSAC 1995, pp. 239–244 (1995)
Tai, K.C., Daniels, F.J.: Test order for inter-class integration testing of object-oriented software. In: Proceedings of the 21st International Computer Software and Applications Conference, COMPSAC 1997, pp. 602–607. IEEE Computer Society, Washington, DC (1997)
Le Traon, Y., Jéron, T., Jezequel, J.M., Morel, P.: Efficient object-oriented integration and regression testing. IEEE Trans. Reliab. 49, 12–25 (2000)
Le Hanh, V., Akif, K., Le Traon, Y., Jézéque, J.-M.: Selecting an efficient OO integration testing strategy: an experimental comparison of actual strategies. In: Knudsen, J.L. (ed.) ECOOP 2001. LNCS, vol. 2072, pp. 381–401. Springer, Heidelberg (2001). https://doi.org/10.1007/3-540-45337-7_20
Briand, L.C., Feng, J., Labiche, Y.: Experimenting with genetic algorithms and coupling measures to devise optimal integration test orders. Technical report TR SCE-02-03, Carleton University (2002)
Mao, C., Lu, Y.: AICTO: an improved algorithm for planning inter-class test order. In: Proceedings of the 2005 International Conference on Computer and Information Technology, pp. 927–931 (2005)
Malloy, B.A., Clarke, P.J., Lloyd, E.L.: A parameterized cost model to order classes for class-based testing of C++ applications. In: 14th International Symposium on Software Reliability Engineering, ISSRE 2003, pp. 353–364 (2003)
Kraft, N.A., Lloyd, E.L., Malloy, B.A., Clarke, P.J.: The implementation of an extensible system for comparison and visualization of class ordering methodologies. J. Syst. Softw. 79, 1092–1109 (2006)
Abdurazik, A., Offutt, J.: Using coupling-based weights for the class integration and test order problem. Comput. J. 52(5), 557–570 (2009)
Guizzo, G., Fritsche, G.M., Vergilio, S.R., Pozo, A.T.R.: A hyper-heuristic for the multi-objective integration and test order problem. In: Proceedings of the 2015 Annual Conference on Genetic and Evolutionary Computation, GECCO 2015, pp. 1343–1350. ACM, New York (2015)
Mariani, T., Guizzo, G., Vergilio, S.R., Pozo, A.T.: Grammatical evolution for the multi-objective integration and test order problem. In: Proceedings of the Genetic and Evolutionary Computation Conference 2016, GECCO 2016, pp. 1069–1076. ACM, New York (2016)
Zhang, M., Jiang, S., Zhang, Y., Wang, X., Yu, Q.: A multi-level feedback approach for the class integration and test order problem. J. Syst. Softw. 133, 54–67 (2017)
Abdurazik, A., Offutt, J.: Coupling-based class integration and test order. In: Proceedings of the 2006 International Workshop on Automation of Software Test, pp. 50–56 (2006)
Le Traon, Y., Jéron, T., Jézéquel, J.M., Morel, P.: Efficient OO integration and regression testing. IEEE Trans. Reliab. 49, 12–25 (2000)
Whitley, D.: An overview of evolutionary algorithms: practical issues and common pitfalls. Inf. Softw. Technol. 43, 817–831 (2001)
Melanie, M.: An Introduction to Genetic Algorithms. The MIT Press, Cambridge (1999)
Lipowski, A., Lipowska, D.: Roulette-wheel selection via stochastic acceptance. Phys. A: Stat. Mech. Appl. 391, 2193–2196 (2012)
Whitley, D., Yoo, N.-W.: Modeling simple genetic algorithms for permutation problems. In: Foundations of Genetic Algorithms, pp. 163–184. Morgan Kaufmann (1995)
Hewett, R., Kijsanayothin, P.: Automated test order generation for software component integration testing. In: Proceedings of the 2009 IEEE/ACM International Conference on Automated Software Engineering, ASE 2009, pp. 211–220. IEEE Computer Society, Washington, DC (2009)
Borner, L., Paech, B.: Integration test order strategies to consider test focus and simulation effort. In: Proceedings of the First International Conference on Advances in System Testing and Validation Lifecycle, pp. 80–85 (2009)
da Veiga Cabral, R., Pozo, A., Vergilio, S.R.: A pareto ant colony algorithm applied to the class integration and test order problem. In: Petrenko, A., Simão, A., Maldonado, J.C. (eds.) ICTSS 2010. LNCS, vol. 6435, pp. 16–29. Springer, Heidelberg (2010). https://doi.org/10.1007/978-3-642-16573-3_3
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2018 Springer International Publishing AG, part of Springer Nature
About this paper
Cite this paper
Czibula, I.G., Czibula, G., Marian, Z. (2018). Identifying Class Integration Test Order Using an Improved Genetic Algorithm-Based Approach. In: Cabello, E., Cardoso, J., Maciaszek, L., van Sinderen, M. (eds) Software Technologies. ICSOFT 2017. Communications in Computer and Information Science, vol 868. Springer, Cham. https://doi.org/10.1007/978-3-319-93641-3_8
Download citation
DOI: https://doi.org/10.1007/978-3-319-93641-3_8
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-93640-6
Online ISBN: 978-3-319-93641-3
eBook Packages: Computer ScienceComputer Science (R0)