Reinforcement Learning-Driven Test Generation for Android GUI
  Applications using Formal Specifications
  There have been many studies on automated test generation for mobile
Graphical User Interface (GUI) applications. These studies successfully
demonstrate how to detect fatal exceptions and achieve high code and activity
coverage with fully automated test generation engines. However, it is unclear
how many GUI functions these engines manage to test. Furthermore, these engines
implement only implicit test oracles. We propose Fully Automated Reinforcement
LEArning-Driven Specification-Based Test Generator for Android
(FARLEAD-Android). FARLEAD-Android accepts a GUI-level formal specification as
a Linear-time Temporal Logic (LTL) formula. By dynamically executing the
Application Under Test (AUT), it learns how to generate a test that satisfies
the LTL formula using Reinforcement Learning (RL). The LTL formula does not
just guide the test generation but also acts as a specified test oracle,
enabling the developer to define automated test oracles for a wide variety of
GUI functions by changing the formula. Our evaluation shows that
FARLEAD-Android is more effective and achieves higher performance in generating
tests for specified GUI functions than three known approaches, Random, Monkey,
and QBEa. To the best of our knowledge, FARLEAD-Android is the first fully
automated mobile GUI testing engine that uses formal specifications.
