1. Using genetic programming to evolve action selection rules in traversal-based automated software testing
- Author
-
Urko Rueda, Francisco Almenar, Anna I. Esparcia-Alcázar, Tanja E. J. Vos, RS-Research Line Resilience (part of LIRS program), RS-Research Line Innovation (part of LIRS program), and Academic Field Technology
- Subjects
Control and Optimization ,General Computer Science ,Computer science ,Genetic programming ,02 engineering and technology ,computer.software_genre ,Action selection ,Set (abstract data type) ,Software ,0202 electrical engineering, electronic engineering, information engineering ,Reinforcement learning ,Graphical user interface ,business.industry ,Programming language ,Testing metrics ,020207 software engineering ,Automated software testing via the GUI ,INGENIERIA DE SISTEMAS Y AUTOMATICA ,Tree traversal ,020201 artificial intelligence & image processing ,State (computer science) ,business ,Action selection for testing ,computer ,LENGUAJES Y SISTEMAS INFORMATICOS - Abstract
[EN] Traversal-based automated software testing involves testing an application via its graphical user interface (GUI) and thereby taking the user's point of view and executing actions in a human-like manner. These actions are decided on the fly, as the software under test (SUT) is being run, as opposed to being set up in the form of a sequence prior to the testing, a sequence that is then used to exercise the SUT. In practice, random choice is commonly used to decide which action to execute at each state (a procedure commonly referred to as monkey testing), but a number of alternative mechanisms have also been proposed in the literature. Here we propose using genetic programming (GP) to evolve such an action selection strategy, defined as a list of IF-THEN rules. Genetic programming has proved to be suited for evolving all sorts of programs, and rules in particular, provided adequate primitives (functions and terminals) are defined. These primitives must aim to extract the most relevant information from the SUT and the dynamics of the testing process. We introduce a number of such primitives suited to the problem at hand and evaluate their usefulness based on various metrics. We carry out experiments and compare the results with those obtained by random selection and also by Q-learning, a reinforcement learning technique. Three applications are used as Software Under Test (SUT) in the experiments. The analysis shows the potential of GP to evolve action selection strategies.
- Published
- 2018