Abstract

Under the fierce competition and budget constraints, most mobile apps are launched without sufficient tests. Thus, there exists a great demand for automated app testing. Recent developments in various machine learning techniques have made automated app testing a promising alternative to manual testing. This work proposes novel approaches for one of the core functionalities of automated app testing: the detection of changes in usage-phases of a mobile app. Because of the flexibility of app development languages and the lack of standards, each mobile app is very different from other apps. Furthermore, the graphical user interfaces for similar functionalities are rarely consistent or similar. Thus, we propose methods detecting usage-phase changes through object recognition and metrics utilizing graphs and generative models. Contrary to the existing change detection methods requiring learning models, the proposed methods eliminate the burden of training models. This elimination of training is suitable for mobile app testing whose typical usage-phase is composed of less than 10 screenshots. Our experimental results on commercial mobile apps show promising improvement over the state-of-the-practice method based on SIFT (scale-invariant feature transform).

Highlights

  • As users prefer mobile devices over conventional personal computers as a platform for news and entertainment, mobile apps dominate software usage

  • This paper presented change detection methods based on graph entropy, graph kernel, the Kullback–Leibler divergence, a generative model, and a hypothesis testing method

  • Screenshots into a sequence of graphs or probability distributions, constructing more robust change detection methods compared to the current state-of-the-practice method

Read more

Summary

Introduction

As users prefer mobile devices over conventional personal computers as a platform for news and entertainment, mobile apps dominate software usage. Under the fierce competition and budget constraints, most developers do not have time for detecting bugs and potential crashes in their apps; most apps are launched without sufficient testing. In the domain of automated app testing, Google’s Android Monkey tool is regarded as the state-of-the-practice for automated testing for the Android system [2]. Android Monkey takes a practical solution for GUI (graphical user interface) based testing: a random testing approach (“monkey testing”) for generating random events [3,4]. The “monkey” approach is cost-effective, the unintelligent manner of testing leaves room for improvement. Recent developments in object recognition have been utilized for improving random testing [5].

Methods
Results
Conclusion

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.