arrow
Return

Parallel evolutionary test case generation for web applications

delete2023-03-01
delete7
PRE
AI
王微微 (Weiwei Wang)
S
Shumei Wu
李征 (Zheng Li)
R
Ruilian Zhao *
DOI:10.1016/j.infsof.2022.107113delete
deleteOriginal
deleteOriginal request for help
deleteShare
deleteSave
Abstract

Abstract

En 中文
Context: Web applications follow a client-server schema, so it is more appropriate for evolutionary test case generation considering both client and server. However, test cases from the client-side are composed of event sequences, which are quite time-consuming when executed due to the interaction with the browser. Furthermore, premature convergence is a problem for evolutionary algorithms because of the decline of population diversity. These problems restrict the applicability of evolutionary algorithms in test case generation for web applications.Objective: Parallelization has been proven helpful in optimizing test case generation. So, to improve the efficiency and effectiveness of test generation for web applications, this paper proposes a parallel evolutionary test case generation approach where test cases are generated from the client-side behavior model to cover the sensitive paths of server-side code by using a parallel genetic algorithm based on the island model.Method: A parallel execution strategy is presented to drive multi-individuals to execute on multi-browsers simultaneously to shorten the execution time of populations during evolution. And an island model with a corresponding migration mechanism and subpopulation evolution strategy is well-designed to increase population diversity during evolution. Meanwhile, the server-side code triggered by parallel individuals is identified to guide the evolution process.Results: Experiments are conducted on six widely-used web applications, and the results show that compared with the sequential evolutionary test case generation, our approach decreases the iterations and evolution time required by 33.43% and 63.10% on average, respectively. The efficiency of test generation has been greatly enhanced.Conclusion: This paper provides a parallel evolutionary test case generation for web applications, where the parallel execution strategy is presented to shorten the execution time of populations during evolution, increasing test generation efficiency. Moreover, the island model with a migration mechanism is introduced to increase population diversity during evolution, improving the test generation effectiveness.
Keywords:
Web applications
Test case generation
Parallelization
Evolutionary algorithms

Journal

Information and Software Technology cover
Information and Software Technology
IF:
4.3
Papers:
3.7K
Citations:
7.7K

Organization

B
Beijing University of Chemical Technology
Scholars:
3.1W
Papers: 2.2W
Citations: 4.5W