Abstract

As the mobile platform pervades human life, much research in recent years has focused on improving the reliability of mobile applications on this platform, for example by applying automatic testing. However, researchers have primarily consid- ered testing of single version of mobile applications. Although regression testing has been extensively studied for desktop appli- cations, and many efficient and effective approaches have been proposed, these approaches cannot be directly applied to mobile applications. We first present a bug study on real-world Android bugs to show the existence of regression bugs, which motivates the need for an efficient regression test selection technique for Android applications. Next, we introduce Redroid, a new ap- proach to regression test selection for Android applications. Our approach leverages the combination of static impact analysis and dynamic code coverage, and identifies a subset of test cases for re- execution on the modified application version. We implement our approach for Android applications, and demonstrate its efficacy through an extensive empirical study. as a runtime environment, which is significantly different from the Java Virtual Machine. This paper first presents a bug study based on 10 real- world Android apps from Google Code Repository (3). The study shows that there are regressions for Android apps during evolution, and an efficient and effective regression testing approach is highly needed for this area. This paper then intro- duces Redroid, a new approach to regression test selection for Android apps. Given a test suite that was performed on the original Android app, and the two versions involved in a change, Redroid identifies a subset of the tests that must be re-executed to test the new Android version. Leveraging the combination of static impact analysis with coverage informa- tion that is dynamically generated at runtime, our approach identifies a subset of tests to check the behaviors of the modified version that can potentially be different from the original version. We developed a prototype tool for Redroid, and conducted an evaluation based on two real-world Android apps, which shows that our approach can significantly reduce the number of tests for re-execution after an Android app is modified.

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.