Evolutionary Testing of Flag Conditions

Evolutionary Testing (ET) has been shown to be very successful in testing real world applications [16]. However, it has been pointed out [11], that further research is necessary if flag variables appear in program expressions. The problems increase when ET is used to test state-based applications where the encoding of states hinders successful evolutionary tests. This is because the ET performance is reduced to a random test in case of the use of flag variables or variables that encode an enumeration type. The authors have developed an ET System to provide easy access to automatic testing. An extensive set of programs has been tested using this system [4], [16]. This system is extended for new areas of software testing and research has been carried out to improve its performance. This paper introduces a new approach for solving ET problems with flag conditions. The problematic constructs are explained with the help of code examples originally found in large real world applications.

[1]  André Baresel,et al.  Fitness Function Design To Improve Evolutionary Structural Testing , 2002, GECCO.

[2]  Leonardo Bottaci Instrumenting Programs With Flag Variables For Test Data Search By Genetic Algorithms , 2002, GECCO.

[3]  Bogdan Korel,et al.  Automated Software Test Data Generation , 1990, IEEE Trans. Software Eng..

[4]  Joachim Wegener,et al.  Evolutionary test environment for automatic structural testing , 2001, Inf. Softw. Technol..

[5]  John A. Clark,et al.  An automated framework for structural test-data generation , 1998, Proceedings 13th IEEE International Conference on Automated Software Engineering (Cat. No.98EX239).

[6]  Mark Harman,et al.  Evolutionary testing supported by slicing and transformation , 2002, International Conference on Software Maintenance, 2002. Proceedings..

[7]  Bryan F. Jones,et al.  Automatic structural testing using genetic algorithms , 1996, Softw. Eng. J..

[8]  Gary McGraw,et al.  Generating Software Test Data by Evolution , 2001, IEEE Trans. Software Eng..

[9]  Dr.-Ing. Hartmut Pohlheim Genetic and Evolutionary Algorithm Toolbox for Matlab , 2000 .

[10]  P. Abrahams,et al.  A mathematical theory of global program optimization , 1975 .

[11]  Bogdan Korel,et al.  The chaining approach for software test data generation , 1996, TSEM.

[12]  D. W. Barron A Mathematical Theory of Global Program Optimization , 1974 .

[13]  Mark Harman,et al.  Improving Evolutionary Testing By Flag Removal , 2002, GECCO.