Font Size: a A A

Automated Generation Of Compatibility Tests For Android Apps

Posted on:2021-03-06Degree:MasterType:Thesis
Country:ChinaCandidate:L L LiFull Text:PDF
GTID:2428330611498038Subject:Computer Science and Technology
Abstract/Summary:PDF Full Text Request
Android ecosystem is heavily fragmented.There are various Android device models and OS versions on the market.Such fragmentation makes it extremely difficult for Android developers to thoroughly test their apps.As a result,many Android apps suffer from serious compatibility issues,which can significantly degrade user experience.In recent years,much research has been done to automate the testing of Android apps.Unfortunately,existing testing tools are general ones that cannot effectively test the compatibility of Android apps.One possible way to test the compatibility of Android apps is to leverage general testing tools to generate tests on one device and replay the tests on other devices so as to expose incompatible app behaviors.However,such a solution is not effective because the majority of events in the tests have nothing to do with compatibility and therefore cannot help find meaningful issues.In this work,we aim to propose an effective solution for compatibility testing of Android apps.We first studied the root causes of incompatible app behaviors and found two types of APIs that can easily cause compatibility issues.These APIs are related to the evolution and customization of the Android platform and we refer to them as target APIs.Comparing to other APIs,triggering these target APIs on different devices has much higher chance to expose compatibility issues.Based on this insight,we designed the first automated compatibility testing tool called GTFC for Android apps.For each Android app under testing,GTFC first profiles the executions of tests generated by general GUI testing tools and select those events that can trigger target APIs to synthesize compatibility tests.Next,GTFC replays the compatibility tests on two device pools covering various devices models and Android versions.Finally,GTFC checks the replaying results to judge whether there is a compatibility issue using a two-level oracle designed by us.We evaluated GTFC on 20 manually-crafted and 766 real Android apps.The results show that GTFC can prune ?90% irrelevant events that do not trigger target APIs and synthesize tests to uncover real compatibility issues.This demonstrates the effectiveness and usefulness of GTFC.
Keywords/Search Tags:Android apps, compatibility issues, GUI testing, test selection, test replay
PDF Full Text Request
Related items