A reinforcement learning based approach to automated testing of android applications

Thi Anh Tuyet Vuong, Shingo Takada

Research output: Chapter in Book/Report/Conference proceedingConference contribution

1 Citation (Scopus)

Abstract

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.

Original languageEnglish
Title of host publicationA-TEST 2018 - Proceedings of the 9th ACM SIGSOFT International Workshop on Automating TEST Case Design, Selection, and Evaluation, Co-located with FSE 2018
EditorsWishnu Prasetya, Tanja E.J. Vos, Tanja E.J. Vos, Getir Sinem
PublisherAssociation for Computing Machinery, Inc
Pages31-37
Number of pages7
ISBN (Electronic)9781450360531
DOIs
Publication statusPublished - 2018 Nov 5
Event9th 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 - Lake Buena Vista, United States
Duration: 2018 Nov 5 → …

Publication series

NameA-TEST 2018 - Proceedings of the 9th ACM SIGSOFT International Workshop on Automating TEST Case Design, Selection, and Evaluation, Co-located with FSE 2018

Conference

Conference9th 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
CountryUnited States
CityLake Buena Vista
Period18/11/5 → …

Fingerprint

Reinforcement learning
Testing
Learning algorithms

Keywords

  • Android
  • Q-learning
  • Reinforcement learning
  • Test input generation

ASJC Scopus subject areas

  • Software

Cite this

Vuong, T. A. T., & Takada, S. (2018). A reinforcement learning based approach to automated testing of android applications. In W. Prasetya, T. E. J. Vos, T. E. J. Vos, & G. Sinem (Eds.), A-TEST 2018 - Proceedings of the 9th ACM SIGSOFT International Workshop on Automating TEST Case Design, Selection, and Evaluation, Co-located with FSE 2018 (pp. 31-37). (A-TEST 2018 - Proceedings of the 9th ACM SIGSOFT International Workshop on Automating TEST Case Design, Selection, and Evaluation, Co-located with FSE 2018). Association for Computing Machinery, Inc. https://doi.org/10.1145/3278186.3278191

A reinforcement learning based approach to automated testing of android applications. / Vuong, Thi Anh Tuyet; Takada, Shingo.

A-TEST 2018 - Proceedings of the 9th ACM SIGSOFT International Workshop on Automating TEST Case Design, Selection, and Evaluation, Co-located with FSE 2018. ed. / Wishnu Prasetya; Tanja E.J. Vos; Tanja E.J. Vos; Getir Sinem. Association for Computing Machinery, Inc, 2018. p. 31-37 (A-TEST 2018 - Proceedings of the 9th ACM SIGSOFT International Workshop on Automating TEST Case Design, Selection, and Evaluation, Co-located with FSE 2018).

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Vuong, TAT & Takada, S 2018, A reinforcement learning based approach to automated testing of android applications. in W Prasetya, TEJ Vos, TEJ Vos & G Sinem (eds), A-TEST 2018 - Proceedings of the 9th ACM SIGSOFT International Workshop on Automating TEST Case Design, Selection, and Evaluation, Co-located with FSE 2018. A-TEST 2018 - Proceedings of the 9th ACM SIGSOFT International Workshop on Automating TEST Case Design, Selection, and Evaluation, Co-located with FSE 2018, Association for Computing Machinery, Inc, pp. 31-37, 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, Lake Buena Vista, United States, 18/11/5. https://doi.org/10.1145/3278186.3278191
Vuong TAT, Takada S. A reinforcement learning based approach to automated testing of android applications. In Prasetya W, Vos TEJ, Vos TEJ, Sinem G, editors, A-TEST 2018 - Proceedings of the 9th ACM SIGSOFT International Workshop on Automating TEST Case Design, Selection, and Evaluation, Co-located with FSE 2018. Association for Computing Machinery, Inc. 2018. p. 31-37. (A-TEST 2018 - Proceedings of the 9th ACM SIGSOFT International Workshop on Automating TEST Case Design, Selection, and Evaluation, Co-located with FSE 2018). https://doi.org/10.1145/3278186.3278191
Vuong, Thi Anh Tuyet ; Takada, Shingo. / A reinforcement learning based approach to automated testing of android applications. A-TEST 2018 - Proceedings of the 9th ACM SIGSOFT International Workshop on Automating TEST Case Design, Selection, and Evaluation, Co-located with FSE 2018. editor / Wishnu Prasetya ; Tanja E.J. Vos ; Tanja E.J. Vos ; Getir Sinem. Association for Computing Machinery, Inc, 2018. pp. 31-37 (A-TEST 2018 - Proceedings of the 9th ACM SIGSOFT International Workshop on Automating TEST Case Design, Selection, and Evaluation, Co-located with FSE 2018).
@inproceedings{e76c0c4a28ef4c8f93dd9eb4339edad6,
title = "A reinforcement learning based approach to automated testing of android applications",
abstract = "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.",
keywords = "Android, Q-learning, Reinforcement learning, Test input generation",
author = "Vuong, {Thi Anh Tuyet} and Shingo Takada",
year = "2018",
month = "11",
day = "5",
doi = "10.1145/3278186.3278191",
language = "English",
series = "A-TEST 2018 - Proceedings of the 9th ACM SIGSOFT International Workshop on Automating TEST Case Design, Selection, and Evaluation, Co-located with FSE 2018",
publisher = "Association for Computing Machinery, Inc",
pages = "31--37",
editor = "Wishnu Prasetya and Vos, {Tanja E.J.} and Vos, {Tanja E.J.} and Getir Sinem",
booktitle = "A-TEST 2018 - Proceedings of the 9th ACM SIGSOFT International Workshop on Automating TEST Case Design, Selection, and Evaluation, Co-located with FSE 2018",

}

TY - GEN

T1 - A reinforcement learning based approach to automated testing of android applications

AU - Vuong, Thi Anh Tuyet

AU - Takada, Shingo

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

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

ER -