Improving the exploration strategy of an automated android GUI testing tool based on the Q-Learning algorithm by selecting potential actions

Researchers have proposed automated testing tools to minimise the effort and resources spent on testing GUIs. A relatively simple strategy employed by the proposed tools thus far is the observe-select-execute approach, where all of a GUI’s actions on its current state are observed, one action is sel...

Full description

Saved in:
Bibliographic Details
Main Authors: Goh, Kwang Yi, Baharom, Salmi, Din, Jamilah
Format: Article
Published: Science Publication 2022
Online Access:http://psasir.upm.edu.my/id/eprint/101827/
https://thescipub.com/abstract/jcssp.2022.90.102
Tags: Add Tag
No Tags, Be the first to tag this record!
id my.upm.eprints.101827
record_format eprints
spelling my.upm.eprints.1018272023-09-21T04:21:34Z http://psasir.upm.edu.my/id/eprint/101827/ Improving the exploration strategy of an automated android GUI testing tool based on the Q-Learning algorithm by selecting potential actions Goh, Kwang Yi Baharom, Salmi Din, Jamilah Researchers have proposed automated testing tools to minimise the effort and resources spent on testing GUIs. A relatively simple strategy employed by the proposed tools thus far is the observe-select-execute approach, where all of a GUI’s actions on its current state are observed, one action is selected and the selected action is executed on the software. The strategy’s key function is to select an action that may achieve new and desirable GUI states. Due to difficulties in comparing actions, most existing test generators ignore this step and randomly select an action. However, a randomly selected action has limitations. It does not test most parts of a GUI within a reasonable amount of time and there is a high probability that the same actions are re-selected. This reduces code coverage, thereby resulting in undetected failures. To overcome this limitation, the Q-Learning algorithm was proposed by several researchers to minimise randomness. The idea was to change the probability distribution over the sequence space. Instead of making purely random selections, the least frequently executed action is selected so that the GUI can be further explored. Q-Learning showed better results than the random exploration strategy but it also presented a weakness. Q-Learning’s reward function assigns the highest value to the least frequently executed action without taking into consideration its potential ability in detecting failures. Furthermore, the proposed techniques based on the Q-Learning algorithm do not consider context-based actions. Thus, these techniques are unable to detect failures that occur due to the improper use of context data, which is becoming an increasingly common issue in mobile applications nowadays. We propose a tool, namely the Crash Droid, that allows the automation of testing context-aware Android applications. We utilise the Q-Learning algorithm to compare actions, including context-based actions, to effectively detect crashes and achieve a higher code coverage. Science Publication 2022-03-02 Article PeerReviewed Goh, Kwang Yi and Baharom, Salmi and Din, Jamilah (2022) Improving the exploration strategy of an automated android GUI testing tool based on the Q-Learning algorithm by selecting potential actions. Journal of Computer Science, 18 (2). 90 - 102. ISSN 1549-3636; ESSN: 1552-6607 https://thescipub.com/abstract/jcssp.2022.90.102 10.3844/jcssp.2022.90.102
institution Universiti Putra Malaysia
building UPM Library
collection Institutional Repository
continent Asia
country Malaysia
content_provider Universiti Putra Malaysia
content_source UPM Institutional Repository
url_provider http://psasir.upm.edu.my/
description Researchers have proposed automated testing tools to minimise the effort and resources spent on testing GUIs. A relatively simple strategy employed by the proposed tools thus far is the observe-select-execute approach, where all of a GUI’s actions on its current state are observed, one action is selected and the selected action is executed on the software. The strategy’s key function is to select an action that may achieve new and desirable GUI states. Due to difficulties in comparing actions, most existing test generators ignore this step and randomly select an action. However, a randomly selected action has limitations. It does not test most parts of a GUI within a reasonable amount of time and there is a high probability that the same actions are re-selected. This reduces code coverage, thereby resulting in undetected failures. To overcome this limitation, the Q-Learning algorithm was proposed by several researchers to minimise randomness. The idea was to change the probability distribution over the sequence space. Instead of making purely random selections, the least frequently executed action is selected so that the GUI can be further explored. Q-Learning showed better results than the random exploration strategy but it also presented a weakness. Q-Learning’s reward function assigns the highest value to the least frequently executed action without taking into consideration its potential ability in detecting failures. Furthermore, the proposed techniques based on the Q-Learning algorithm do not consider context-based actions. Thus, these techniques are unable to detect failures that occur due to the improper use of context data, which is becoming an increasingly common issue in mobile applications nowadays. We propose a tool, namely the Crash Droid, that allows the automation of testing context-aware Android applications. We utilise the Q-Learning algorithm to compare actions, including context-based actions, to effectively detect crashes and achieve a higher code coverage.
format Article
author Goh, Kwang Yi
Baharom, Salmi
Din, Jamilah
spellingShingle Goh, Kwang Yi
Baharom, Salmi
Din, Jamilah
Improving the exploration strategy of an automated android GUI testing tool based on the Q-Learning algorithm by selecting potential actions
author_facet Goh, Kwang Yi
Baharom, Salmi
Din, Jamilah
author_sort Goh, Kwang Yi
title Improving the exploration strategy of an automated android GUI testing tool based on the Q-Learning algorithm by selecting potential actions
title_short Improving the exploration strategy of an automated android GUI testing tool based on the Q-Learning algorithm by selecting potential actions
title_full Improving the exploration strategy of an automated android GUI testing tool based on the Q-Learning algorithm by selecting potential actions
title_fullStr Improving the exploration strategy of an automated android GUI testing tool based on the Q-Learning algorithm by selecting potential actions
title_full_unstemmed Improving the exploration strategy of an automated android GUI testing tool based on the Q-Learning algorithm by selecting potential actions
title_sort improving the exploration strategy of an automated android gui testing tool based on the q-learning algorithm by selecting potential actions
publisher Science Publication
publishDate 2022
url http://psasir.upm.edu.my/id/eprint/101827/
https://thescipub.com/abstract/jcssp.2022.90.102
_version_ 1781706707114655744
score 13.211869