Understanding the Test Automation Culture of App Developers
Authors:
- Pavneet Singh KochharPKPavneet Singh Kochhar
- Ferdian ThungFTFerdian Thung
- Nachiappan NagappanNNNachiappan Nagappan
- Thomas ZimmermannTZThomas Zimmermann
- David LoDLDavid Lo
- 1 April 2015
- conference paper
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- No. 21594848,p. 1-10
Abstract
Smartphone applications (apps) have gained popularity recently. Millions of smartphone applications (apps) are available on different app stores which gives users plethora of options to choose from, however, it also raises concern if these apps are adequately tested before they are released for public use. In this study, we want to understand the test automation culture prevalent among app developers. Specifically, we want to examine the current state of testing of apps, the tools that are commonly used by app developers, and the problems faced by them. To get an insight on the test automation culture, we conduct two different studies. In the first study, we analyse over 600 Android apps collected from F- Droid, one of the largest repositories containing information about open-source Android apps. We check for the presence of test cases and calculate code coverage to measure the adequacy of testing in these apps. We also survey developers who have hosted their applications on GitHub to understand the testing practices followed by them. We ask developers about the tools that they use and ''pain points'' that they face while testing Android apps. For the second study, based on the responses from Android developers, we improve our survey questions and resend it to Windows app developers within Microsoft. We conclude that many Android apps are poorly tested - only about 14% of the apps contain test cases and only about 9% of the apps that have executable test cases have coverage above 40\%. Also, we find that Android app developers use automated testing tools such as JUnit, Monkeyrunner, Robotium, and Robolectric, however, they often prefer to test their apps manually, whereas Windows app developers prefer to use in-house tools such as Visual Studio and Microsoft Test Manager. Both Android and Windows app developers face many challenges such as time constraints, compatibility issues, lack of exposure, cumbersome tools, etc. We give suggestions to improve the test automation culture in the growing app community.Keywords
This publication has 16 references indexed in Scilit:
- An Empirical Study of API Stability and Adoption in the Android Ecosystem2013
- Automated testing with targeted event sequence generation2013
- An Empirical Study of Adoption of Software Testing in Open Source Projects2013
- RERAN: Timing- and touch-sensitive record and replay for Android2013
- An Empirical Analysis of Bug Reports and Bug Fixing in Open Source Android Apps2013
- Adoption of Software Testing in Open Source Projects--A Preliminary Study on 50,000 Projects2013
- Testing android apps through symbolic executionACM SIGSOFT Software Engineering Notes, 2012
- Understanding reuse in the Android Market2012
- Experiences of System-Level Model-Based GUI Testing of an Android Application2011
- Characterizing Failures in Mobile OSes: A Case Study with Android and Symbian2010