A multi-level feedback approach for the class integration and test order problem

Abstract Class integration and test order (CITO) problem is to devise an optimal inter-class order which can minimize stubbing efforts. The existing approach for this problem, whether it is graph-based or search-based, usually wastes a significant amount of time and efforts in finding test orders, and sometimes may devise sub-optimal solutions. To overcome this limitation, we introduce a multi-level feedback approach to better solve the CITO problem. In this method, we use a multi-level feedback strategy to calculate test profit for each class, and according to test profit, propose a reward and punishment mechanism to assess the performance of class and set its test priority. Instead of breaking cycles or searching for optimum in the previous methods, our method integrates classes by their test priority, therefore significantly reduces the running time. The experiments are conducted on five benchmark programs and eight industrial programs, and the obtained results are compared with graph-based and search-based approaches. The results indicate that our approach can minimize the stubbing cost efficiently for most programs of all typical approaches compared in this work.

[1]  Jean-Marc Jézéquel,et al.  Efficient object-oriented integration and regression testing , 2000, IEEE Trans. Reliab..

[2]  David Chenho Kung,et al.  Class Firewall, Test Order, and Regression Testing of Object-Oriented Programs , 1995, J. Object Oriented Program..

[3]  Aurora Trinidad Ramirez Pozo,et al.  Establishing integration test orders of classes with several coupling measures , 2011, GECCO '11.

[4]  Yvan Labiche,et al.  Testing levels for object-oriented software , 2000, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.

[5]  A. Jefferson Offutt,et al.  Coupling-based class integration and test order , 2006, AST '06.

[6]  Jürgen Mottok,et al.  Optimizing software integration by considering integration test complexity and test effort , 2012, Proceedings of the 10th International Workshop on Intelligent Solutions in Embedded Systems.

[7]  Gian Mauricio Fritsche,et al.  A Hyper-Heuristic for the Multi-Objective Integration and Test Order Problem , 2015, GECCO.

[8]  Phongphun Kijsanayothin,et al.  Automated Test Order Generation for Software Component Integration Testing , 2009, 2009 IEEE/ACM International Conference on Automated Software Engineering.

[9]  Aurora Trinidad Ramirez Pozo,et al.  Multi-objective optimization algorithms applied to the class integration and test order problem , 2012, International Journal on Software Tools for Technology Transfer.

[10]  Aurora Trinidad Ramirez Pozo,et al.  A multi-objective optimization approach for the integration and test order problem , 2014, Inf. Sci..

[11]  Qiao Li,et al.  A Brief Survey on Automatic Integration Test Order Generation , 2011, SEKE.

[12]  Kuo-Chung Tai,et al.  Test order for inter-class integration testing of object-oriented software , 1997, Proceedings Twenty-First Annual International Computer Software and Applications Conference (COMPSAC'97).

[13]  Aurora Trinidad Ramirez Pozo,et al.  A Pareto Ant Colony Algorithm Applied to the Class Integration and Test Order Problem , 2010, ICTSS.

[14]  Meng Wang,et al.  Using Coupling Measure Technique and Random Iterative Algorithm for Inter-Class Integration Test Order Problem , 2010, 2010 IEEE 34th Annual Computer Software and Applications Conference Workshops.

[15]  Lionel C. Briand,et al.  Using genetic algorithms and coupling measures to devise optimal integration test orders , 2002, SEKE '02.

[16]  Aurora Trinidad Ramirez Pozo,et al.  Grammatical Evolution for the Multi-Objective Integration and Test Order Problem , 2016, GECCO.

[17]  Gary B. Lamont,et al.  Evolutionary Algorithms for Solving Multi-Objective Problems (Genetic and Evolutionary Computation) , 2006 .

[18]  Robert E. Tarjan,et al.  Depth-First Search and Linear Graph Algorithms , 1972, SIAM J. Comput..

[19]  Barbara Paech,et al.  Integration Test Order Strategies to Consider Test Focus and Simulation Effort , 2009, 2009 First International Conference on Advances in System Testing and Validation Lifecycle.

[20]  Lionel C. Briand,et al.  Revisiting strategies for ordering class integration testing in the presence of dependency cycles , 2001, Proceedings 12th International Symposium on Software Reliability Engineering.