Advertisement

Identifying Class Integration Test Order Using an Improved Genetic Algorithm-Based Approach

  • Istvan Gergely Czibula
  • Gabriela Czibula
  • Zsuzsanna MarianEmail author
Conference paper
Part of the Communications in Computer and Information Science book series (CCIS, volume 868)

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.

Keywords

Integration testing Class integration test order Genetic algorithm 

References

  1. 1.
    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)Google Scholar
  2. 2.
    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)Google Scholar
  3. 3.
    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)Google Scholar
  4. 4.
    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)Google Scholar
  5. 5.
    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)Google Scholar
  6. 6.
    Melton, H., Tempero, E.: An empirical study of cycles among classes in Java. Empir. Softw. Eng. 12, 389–415 (2007)CrossRefGoogle Scholar
  7. 7.
    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)Google Scholar
  8. 8.
    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)Google Scholar
  9. 9.
    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)CrossRefGoogle Scholar
  10. 10.
    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_20CrossRefGoogle Scholar
  11. 11.
    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)Google Scholar
  12. 12.
    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)Google Scholar
  13. 13.
    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)Google Scholar
  14. 14.
    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)CrossRefGoogle Scholar
  15. 15.
    Abdurazik, A., Offutt, J.: Using coupling-based weights for the class integration and test order problem. Comput. J. 52(5), 557–570 (2009)CrossRefGoogle Scholar
  16. 16.
    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)Google Scholar
  17. 17.
    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)Google Scholar
  18. 18.
    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)CrossRefGoogle Scholar
  19. 19.
    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)Google Scholar
  20. 20.
    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)CrossRefGoogle Scholar
  21. 21.
    Whitley, D.: An overview of evolutionary algorithms: practical issues and common pitfalls. Inf. Softw. Technol. 43, 817–831 (2001)CrossRefGoogle Scholar
  22. 22.
    Melanie, M.: An Introduction to Genetic Algorithms. The MIT Press, Cambridge (1999)zbMATHGoogle Scholar
  23. 23.
    Lipowski, A., Lipowska, D.: Roulette-wheel selection via stochastic acceptance. Phys. A: Stat. Mech. Appl. 391, 2193–2196 (2012)CrossRefGoogle Scholar
  24. 24.
    Whitley, D., Yoo, N.-W.: Modeling simple genetic algorithms for permutation problems. In: Foundations of Genetic Algorithms, pp. 163–184. Morgan Kaufmann (1995)Google Scholar
  25. 25.
    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)Google Scholar
  26. 26.
    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)Google Scholar
  27. 27.
    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_3CrossRefGoogle Scholar

Copyright information

© Springer International Publishing AG, part of Springer Nature 2018

Authors and Affiliations

  • Istvan Gergely Czibula
    • 1
  • Gabriela Czibula
    • 1
  • Zsuzsanna Marian
    • 1
    Email author
  1. 1.Department of Computer ScienceBabeş-Bolyai UniversityCluj-NapocaRomania

Personalised recommendations