The Development of an Android Automated Testing Tool: CrashDroid

Kwang Yi Goh, Salmi Binti Baharom, Jamilah Din, Nurfadhlina Mohd Sharef · 2022

The Graphical User Interface (GUI) is an important element in mobile applications. It allows users to operate an application’s functions easily. The better the GUI, the easier it is for the user to interact with the mobile application. Hence, the GUI is arguably a key success factor in any mobile application. GUI testing is, therefore, necessary but requires much effort, money and time. A relatively simple strategy employed by existing GUI testing tools 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. Many researchers proposed Q-Learning to improve the probability distribution over the sequence space by exploiting a learning engine. However, a common limitation of this technique is that the highest value is assigned to the action that is executed for the first time. Besides, the selection of actions during test execution is only based on the least frequently executed action without taking into consideration its potential with respect to testing. Without this consideration, previous techniques assign a constant value to the initial action. Hence, in the initial state of the test execution, the selection of the first action is done randomly. In our study, we are proposing an approach that takes into consideration the potential of every action and eliminates random selection of the first action. We propose a tool, namely the CrashDroid, that allows the automation of testing 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.

Read the paper · More papers on PaperTik