Automated testing techniques basically run a subject app and generate UI events to explore the app. The exploration strategies can be random or systematic (i.e., guided by a model of the app). The challenge is to generate as many relevant inputs as possible to maximize the coverage of the exploration.
Testing has to ensure that all the available activities within the app are explored and that certain hard-to-reach states of activity windows are reached. It also has to do so in a practical amount of time.
Existing approaches to automated testing for Android apps cannot effectively manage the transitions between activities, e.g., too rarely or too often. Besides, some techniques need to repeatedly restart from scratch and revisit every intermediate activity to reach a specific one, which leads to unnecessarily long transitions and wasted time.
The GUI Activity Transition Graph are statically built with random exploration while event sequence generation is based on the adaption of .... traversal on the graph.