skip to main content
10.1145/3275219.3275238acmotherconferencesArticle/Chapter ViewAbstractPublication PagesinternetwareConference Proceedingsconference-collections
short-paper

CrawlDroid: Effective Model-based GUI Testing of Android Apps

Published: 16 September 2018 Publication History

Abstract

This paper presents an effective model-based GUI testing technique for Android apps. To avoid local and repetitive exploration, our approach groups equivalent widgets in a state and designs a novel feedback-based exploration strategy, which dynamically adjusts the priority of actions based on the execution result of those already triggered ones, and tends to select actions that can reach news states of apps. We implemented our technique in a tool, called CrawlDroid, and conducted empirical experiments. Our results show that the proposed technique is effective, and covers more code within a fixed testing budget.

References

[1]
EMMA: a free Java code coverage tool. 2017. http://emma.sourceforge.net/.
[2]
Christofer Quist Adamsen, Gianluca Mezzetti, and Anders Møller. 2015. Systematic execution of android test suites in adverse conditions. In ISSTA. ACM, 83--93.
[3]
Domenico Amalfitano, Anna Rita Fasolino, Porfirio Tramontana, Salvatore De Carmine, and Atif M Memon. 2012. Using GUI ripping for automated testing of Android applications. In ASE. ACM, 258--261.
[4]
Domenico Amalfitano, Anna Rita Fasolino, Porfirio Tramontana, Bryan Dzung Ta, and Atif M Memon. 2015. MobiGUITAR: Automated model-based testing of mobile apps. IEEE Software 32, 5 (2015), 53--59.
[5]
Saswat Anand, Mayur Naik, Mary Jean Harrold, and Hongseok Yang. 2012. Automated concolic testing of smartphone apps. In FSE. ACM, 59.
[6]
The Monkey UI android testing tool. 2017. http://developer. android.com/tools/help/monkey.html.
[7]
Anzhi. 2017. AnZhi store. In http://www.anzhi.com/.
[8]
Appium. 2017. http://appium.io/.
[9]
Tanzirul Azim and Iulian Neamtiu. 2013. Targeted and depth-first exploration for systematic testing of android apps. In ACM SIGPLAN Notices, Vol. 48. ACM, 641--660.
[10]
Young-Min Baek and Doo-Hwan Bae. 2016. Automated model-based Android GUI testing using multi-level GUI comparison criteria. In ASE. IEEE, 238--249.
[11]
Ravi Bhoraskar, Seungyeop Han, Jinseong Jeon, Tanzirul Azim, Shuo Chen, Jaeyeon Jung, Suman Nath, Rui Wang, and David Wetherall. 2014. Brahmastra: Driving Apps to Test the Security of Third-Party Components. In USENIX Security. 1021--1036.
[12]
Wontae Choi, George Necula, and Koushik Sen. 2013. Guided gui testing of android apps with minimal restart and approximate learning. In ACM SIGPLAN Notices, Vol. 48. ACM, 623--640.
[13]
Shauvik Roy Choudhary, Alessandra Gorla, and Alessandro Orso. 2015. Automated test input generation for android: Are we there yet?(e). In ASE. IEEE, 429--440.
[14]
Markus Ermuth and Michael Pradel. 2016. Monkey see, monkey do: effective generation of GUI tests with inferred macro events. In ISSTA. ACM, 82--93.
[15]
Google Espresso. 2017. https://google.github.io/android-testing-support-library/.
[16]
Shuai Hao, Bin Liu, Suman Nath, William GJ Halfond, and Ramesh Govindan. 2014. Puma: Programmable ui-automation for large-scale dynamic analysis of mobile apps. In MobiSys. ACM, 204--217.
[17]
InstrumentationTestRunner. 2017. https://developer.android.com/reference/android/test/InstrumentationTestRunner.html.
[18]
Casper S Jensen, Mukul R Prasad, and Anders Møller. 2013. Automated testing with targeted event sequence generation. In ISSTA. ACM, 67--77.
[19]
Mona Erfani Joorabchi, Ali Mesbah, and Philippe Kruchten. 2013. Real challenges in mobile app development. In ESEM. IEEE, 15--24.
[20]
Pavneet Singh Kochhar, Ferdian Thung, Nachiappan Nagappan, Thomas Zimmermann, and David Lo. 2015. Understanding the test automation culture of app developers. In ICST. IEEE, 1--10.
[21]
Mario Linares-Vásquez, Martin White, Carlos Bernal-Cárdenas, Kevin Moran, and Denys Poshyvanyk. 2015. Mining android app usages for generating actionable gui-based execution scenarios. In MSR. IEEE Press, 111--122.
[22]
Aravind Machiry, Rohan Tahiliani, and Mayur Naik. 2013. Dynodroid: An input generation system for android apps. In FSE. ACM, 224--234.
[23]
Riyadh Mahmood, Nariman Mirzaei, and Sam Malek. 2014. Evodroid: Segmented evolutionary testing of android apps. In FSE. ACM, 599--609.
[24]
Ke Mao, Mark Harman, and Yue Jia. 2016. Sapienz: Multi-objective automated testing for android applications. In ISSTA. ACM, 94--105.
[25]
Amin Milani Fard, Mehdi Mirzaaghaei, and Ali Mesbah. 2014. Leveraging existing tests in automated test generation for web applications. In ASE. ACM, 67--78.
[26]
Nariman Mirzaei, Hamid Bagheri, Riyadh Mahmood, and Sam Malek. 2015. Sigdroid: Automated system input generation for android applications. In ISSRE. IEEE, 461--471.
[27]
Nariman Mirzaei, Sam Malek, Corina S Păsăreanu, Naeem Esfahani, and Riyadh Mahmood. 2012. Testing android apps through symbolic execution. ACM SIGSOFT Software Engineering Notes 37, 6 (2012), 1--5.
[28]
Number of Android applications. 2017. In http://www.appbrain.com/stats/number-of-android-apps.
[29]
Ella:Binary Instrumentation of Android Apps. 2017. https://github.com/saswatanand/ella.
[30]
Open Source Android Application Repository. 2017. https://f-droid.org/.
[31]
RobotiumTech robotium. 2017. https://github.com/RobotiumTech/robotium.
[32]
Ting Su, Guozhu Meng, Yuting Chen, Ke Wu, Weiming Yang, Yao Yao, Geguang Pu, Yang Liu, and Zhendong Su. 2017. Guided, Stochastic Model-based GUI Testing of Android Apps. In FSE. ACM, 245--256.
[33]
Google UIAutomator. 2017. http://developer.android.com/training/testing/uitesting/uiautomator-testing.html.
[34]
Shengqian Yang, Dacong Yan, Haowei Wu, Yan Wang, and Atanas Rountev. 2015. Static control-flow analysis of user-driven callbacks in Android applications. In ICSE, Vol. 1. IEEE, 89--99.
[35]
Shengqian Yang, Hailong Zhang, Haowei Wu, Yan Wang, Dacong Yan, and Atanas Rountev. 2015. Static Window Transition Graphs for Android (T). In ASE. IEEE, 658--668.
[36]
Wei Yang, Mukul R Prasad, and Tao Xie. 2013. A grey-box approach for automated GUI-model generation of mobile applications. In FASE. Springer, 250--265.
[37]
Xia Zeng, Dengfeng Li, Wujie Zheng, Fan Xia, Yuetang Deng, Wing Lam, Wei Yang, and Tao Xie. 2016. Automated test input generation for Android: are we really there yet in an industrial case?. In FSE. ACM, 987--992.
[38]
Hailong Zhang, Haowei Wu, and Atanas Rountev. 2016. Automated test generation for detection of leaks in Android applications. In AST. IEEE, 64--70.
[39]
Haibing Zheng, Dengfeng Li, Xia Zeng, Beihai Liang, Wujie Zheng, Yuetang Deng, Wing Lam, Wei Yang, and Tao Xie. 2017. Automated Test Input Generation for Android: Towards Getting There in an Industrial Case. In ICSE SEIP. ACM.

Cited By

View all
  • (2024)PADRAIG: Precise Android Automated Input Generation2024 IEEE 24th International Conference on Software Quality, Reliability and Security (QRS)10.1109/QRS62785.2024.00017(72-83)Online publication date: 1-Jul-2024
  • (2023)DeltaDroid: Dynamic Delivery Testing in AndroidACM Transactions on Software Engineering and Methodology10.1145/356321332:4(1-26)Online publication date: 26-May-2023
  • (2023)EFSM Model-Based Testing for Android ApplicationsInternational Journal of Software Engineering and Knowledge Engineering10.1142/S021819402350063834:04(597-621)Online publication date: 20-Dec-2023
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
Internetware '18: Proceedings of the 10th Asia-Pacific Symposium on Internetware
September 2018
167 pages
ISBN:9781450365901
DOI:10.1145/3275219
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

In-Cooperation

  • Institute of Software, Chinese Academy of Sciences
  • CCF: China Computer Federation

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 16 September 2018

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. GUI
  2. mobile application
  3. model-based testing

Qualifiers

  • Short-paper
  • Research
  • Refereed limited

Conference

Internetware '18

Acceptance Rates

Internetware '18 Paper Acceptance Rate 20 of 26 submissions, 77%;
Overall Acceptance Rate 55 of 111 submissions, 50%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)17
  • Downloads (Last 6 weeks)1
Reflects downloads up to 08 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2024)PADRAIG: Precise Android Automated Input Generation2024 IEEE 24th International Conference on Software Quality, Reliability and Security (QRS)10.1109/QRS62785.2024.00017(72-83)Online publication date: 1-Jul-2024
  • (2023)DeltaDroid: Dynamic Delivery Testing in AndroidACM Transactions on Software Engineering and Methodology10.1145/356321332:4(1-26)Online publication date: 26-May-2023
  • (2023)EFSM Model-Based Testing for Android ApplicationsInternational Journal of Software Engineering and Knowledge Engineering10.1142/S021819402350063834:04(597-621)Online publication date: 20-Dec-2023
  • (2023)A systematic mapping study for graphical user interface testing on mobile appsIET Software10.1049/sfw2.1212317:3(249-267)Online publication date: 2-Mar-2023
  • (2022)Scriptless GUI Testing on Mobile Applications2022 IEEE 22nd International Conference on Software Quality, Reliability and Security (QRS)10.1109/QRS57517.2022.00113(1103-1112)Online publication date: Dec-2022
  • (2022)Fast Witness Generation for Readable GUI Test Scenarios via Generalized Experience ReplayIEEE Access10.1109/ACCESS.2022.321890210(116224-116240)Online publication date: 2022
  • (2020)GUI testing for mobile applications: objectives, approaches and challengesProceedings of the 12th Asia-Pacific Symposium on Internetware10.1145/3457913.3457931(51-60)Online publication date: 1-Nov-2020
  • (2020)An Empirical Study of i18n Collateral Changes and Bugs in GUIs of Android apps2020 IEEE International Conference on Software Maintenance and Evolution (ICSME)10.1109/ICSME46990.2020.00061(581-592)Online publication date: Sep-2020
  • (2020)Functional test generation from UI test scenarios using reinforcement learning for android applicationsSoftware Testing, Verification and Reliability10.1002/stvr.175231:3Online publication date: 5-Oct-2020
  • (2019)An Empirical Study of UI Implementations in Android Applications2019 IEEE International Conference on Software Maintenance and Evolution (ICSME)10.1109/ICSME.2019.00016(65-75)Online publication date: Sep-2019

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media