A reinforcement learning based approach to automated testing of android applications

Thi Anh Tuyet Vuong, Shingo Takada

研究成果: Conference contribution

1 引用 (Scopus)

抄録

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.

元の言語English
ホスト出版物のタイトルA-TEST 2018 - Proceedings of the 9th ACM SIGSOFT International Workshop on Automating TEST Case Design, Selection, and Evaluation, Co-located with FSE 2018
編集者Wishnu Prasetya, Tanja E.J. Vos, Tanja E.J. Vos, Getir Sinem
出版者Association for Computing Machinery, Inc
ページ31-37
ページ数7
ISBN(電子版)9781450360531
DOI
出版物ステータスPublished - 2018 11 5
イベント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
継続期間: 2018 11 5 → …

出版物シリーズ

名前A-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
United States
Lake Buena Vista
期間18/11/5 → …

Fingerprint

Reinforcement learning
Testing
Learning algorithms

ASJC Scopus subject areas

  • Software

これを引用

Vuong, T. A. T., & Takada, S. (2018). A reinforcement learning based approach to automated testing of android applications. : W. Prasetya, T. E. J. Vos, T. E. J. Vos, & G. Sinem (版), 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. 版 / 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).

研究成果: Conference contribution

Vuong, TAT & Takada, S 2018, A reinforcement learning based approach to automated testing of android applications. : W Prasetya, TEJ Vos, TEJ Vos & G Sinem (版), 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. : Prasetya W, Vos TEJ, Vos TEJ, Sinem G, 編集者, 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. 編集者 / 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

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

ER -