Effective testing of Android apps using extended IFML models
Abstract The last decade has seen a vast proliferation of mobile apps. To improve the reliability of such apps, various techniques have been developed to automatically generate tests for them. While such techniques have been proven to be useful in producing test suites that achieve significant levels of code coverage, there is still enormous demand for techniques that effectively generate tests to exercise more code and detect more bugs of apps. We propose in this paper the Adamant approach to automated Android app testing. Adamant utilizes models that incorporate valuable human knowledge about the behaviours of the app under consideration to guide effective test generation, and the models are encoded in an extended version of the Interaction Flow Modeling Language (IFML). In an experimental evaluation on 10 open source Android apps, Adamant generated over 130 test actions per minute, achieved around 68% code coverage, and exposed 8 real bugs, significantly outperforming other test generation tools like Monkey , AndroidRipper , and Gator in terms of code covered and bugs detected.