Automatic multi-platform Interaction testing for android using reinforcement learning

Mobile testing is a time-consuming and expensive task necessary to guarantee high-quality applications. Moreover, mobile apps have become increasingly oriented to multiple user and platform interactions. Test execution tools, as well as test generation tools, have been developed to automate this tas...

Full description

Autores:
Pantoja Gómez, Camila
Díaz Suárez, Edgar Camilo
Rozo Benítez, Camilo Esteban
Tipo de recurso:
Trabajo de grado de pregrado
Fecha de publicación:
2022
Institución:
Universidad de los Andes
Repositorio:
Séneca: repositorio Uniandes
Idioma:
eng
OAI Identifier:
oai:repositorio.uniandes.edu.co:1992/59282
Acceso en línea:
http://hdl.handle.net/1992/59282
Palabra clave:
Reinforcement learning
Android
Testing
Ingeniería
Rights
openAccess
License
Atribución 4.0 Internacional
Description
Summary:Mobile testing is a time-consuming and expensive task necessary to guarantee high-quality applications. Moreover, mobile apps have become increasingly oriented to multiple user and platform interactions. Test execution tools, as well as test generation tools, have been developed to automate this task. Among these, KrakenMobile 2.0 is the first open-source tool developed to enable automatic test execution supporting cross-device interaction. A new testing tool was developed, extending on KrakenMobile's multi-user interaction with automatic test generation using Reinforcement Learning techniques. The resulting tool, Smart Kraken, achieved better results in the training phase of one open-source application than another RL-based state-of-art tool for automated testing in Android, ARES. It achieved a cumulative method coverage of 47.81% over 118 episodes, showing an increase of over 20% compared with ARES. This improvement is mainly attributed to the design of the reward function. Finally, a multi-agent scenario was proposed seeking to draw upon its collaboration capabilities to improve multi-user interaction, though implementation was not finished.