Following the ever-growing demand for mobile applications, researchers are constantly developing new test automation solutions
for mobile developers. However, researchers have yet to produce an
automated functional testing approach, resulting in many developers relying on a resource consuming manual testing. In this paper,
we present a novel approach for the automation of functional testing in mobile software by leveraging machine learning techniques
and reusing generic test scenarios. Our approach aims at relieving
some of the manual functional testing burden by automatically
classifying each of the application’s screens to a set of common
screen behaviors for which generic test scripts can be instantiated
and reused. We empirically demonstrate the potential benefits of
our approach in two experiments: First, using 26 randomly selected
Android applications, we show that our approach can successfully
instantiate and reuse generic functional tests and discover functional bugs. Second, in a human study with two experienced human
mobile testers, we show that our approach can automatically cover
a large portion of the human testers’ work suggesting a significant
potential relief in the manual testing efforts.