Citation
Goh, Kwang Yi
(2023)
Enhanced Q-Learning algorithm for potential actions selection in automated graphical user interface testing.
Masters thesis, Universiti Putra Malaysia.
Abstract
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 improve the overall 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 QLearning
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 enhanced
the Q-Learning algorithm for action selection based on potential action abilities and
proposed a tool, namely CrashDroid, that allows the automation of testing context-aware
Android applications. We utilized the enhanced Q-Learning algorithm to compare
actions, including context-based actions, to effectively achieve higher code coverage.
An experiment was carried out, and the results collected were analyzed using a nonparametric
statistical test, the Mann-Whitney U test, which indicates the level of
significance between the distributions of data collection. The experimental results
showed that CrashDroid, which employs the technique considering the code complexity
of the action and the use of context data during the test, was more effective than the other
automated Android testing tool, AutoDroid, which did not consider the mentioned
metrics.
Download File
Additional Metadata
Actions (login required)
 |
View Item |