Authors
Nashat Mansour, Ramzi Haraty and Hratch Zeitunlian, Lebanese American University, Lebanon
Abstract
We present a metaheuristic algorithm for testing software, especially web applications, that can be modelled as a state transition diagram. We formulate the testing problem as an optimization problem and use a genetic algorithm to generate test cases as sequences of events. This algorithm evolves solutions by maximizing a fitness function that is based on testing objectives such as the coverage of events, diversity of events, and continuity of events. The proposed approach includes weights that can be assigned to events. These events would lead to important features or web pages in order to ensure that test cases will be generated to cover these features. The effectiveness of the genetic algorithm is compared with that of other algorithms, namely simulated annealing and a greedy algorithm. Our experimental results show that the proposed genetic algorithm demonstrates serious promise for testing state-based software, especially web applications.
Keywords
Genetic Algorithm, Metaheuristics, Search Based Software Engineering, State-Based Testing, Testing Web Applications