TY - GEN
T1 - A reinforcement learning based approach to automated testing of android applications
AU - Vuong, Thi Anh Tuyet
AU - Takada, Shingo
N1 - Publisher Copyright:
© 2018 Association for Computing Machinery..
PY - 2018/11/5
Y1 - 2018/11/5
N2 - In recent years, researchers have actively proposed tools to automate testing for Android applications. Their techniques, however, still encounter major difficulties. First is the difficulty of achieving high code coverage because applications usually have a large number of possible combinations of operations and transitions, which makes testing all possible scenarios time-consuming and ineffective for large systems. Second is the difficulty of achieving a wide range of application functionalities, because some functionalities can only be reached through a specific sequence of events. Therefore they are tested less often in random testing. Facing these problems, we apply a reinforcement learning algorithm called Q-learning to take advantage of both random and model-based testing. A Q-learning agent interacts with the Android application, builds a behavioral model gradually and generates test cases based on the model. The agent explores the application in an optimal way that reveals as much functionalities of the application as possible. The exploration using Q-learning improves code coverage in comparison to random and model-based testing and is able to detect faults in applications under test.
AB - In recent years, researchers have actively proposed tools to automate testing for Android applications. Their techniques, however, still encounter major difficulties. First is the difficulty of achieving high code coverage because applications usually have a large number of possible combinations of operations and transitions, which makes testing all possible scenarios time-consuming and ineffective for large systems. Second is the difficulty of achieving a wide range of application functionalities, because some functionalities can only be reached through a specific sequence of events. Therefore they are tested less often in random testing. Facing these problems, we apply a reinforcement learning algorithm called Q-learning to take advantage of both random and model-based testing. A Q-learning agent interacts with the Android application, builds a behavioral model gradually and generates test cases based on the model. The agent explores the application in an optimal way that reveals as much functionalities of the application as possible. The exploration using Q-learning improves code coverage in comparison to random and model-based testing and is able to detect faults in applications under test.
KW - Android
KW - Q-learning
KW - Reinforcement learning
KW - Test input generation
UR - http://www.scopus.com/inward/record.url?scp=85061793120&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85061793120&partnerID=8YFLogxK
U2 - 10.1145/3278186.3278191
DO - 10.1145/3278186.3278191
M3 - Conference contribution
AN - SCOPUS:85061793120
T3 - A-TEST 2018 - Proceedings of the 9th ACM SIGSOFT International Workshop on Automating TEST Case Design, Selection, and Evaluation, Co-located with FSE 2018
SP - 31
EP - 37
BT - A-TEST 2018 - Proceedings of the 9th ACM SIGSOFT International Workshop on Automating TEST Case Design, Selection, and Evaluation, Co-located with FSE 2018
A2 - Prasetya, Wishnu
A2 - Vos, Tanja E.J.
A2 - Vos, Tanja E.J.
A2 - Sinem, Getir
PB - Association for Computing Machinery, Inc
T2 - 9th ACM SIGSOFT International Workshop on Automating TEST Case Design, Selection, and Evaluation, A-TEST 2018, co-located the 26th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering, ESEC/FSE 2018
Y2 - 5 November 2018
ER -