skip to main content
10.1145/2889160.2891043acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
demonstration

FSMdroid: guided GUI testing of android apps

Published: 14 May 2016 Publication History

Abstract

GUI testing has been an effective means of validating Android apps. Meanwhile, it still faces a strong challenge about how to explore trails, i.e., unfrequented test sequences, as defects tend to reside on these unfrequented trails. This paper introduces FSMdroid, a novel, guided approach to GUI testing of Android apps. The essential idea of FSMdroid is to (1) construct an initial stochastic model for the app under test, (2) iteratively mutate the stochastic model and derive tests. The model mutations are guided by an MCMC sampling method such that the resulting test sequences can be diverse and also achieve high code coverage during testing. We have evaluated FSMdroid on 40 real-world Android apps. Compared with the traditional model-based testing approaches, FSMdroid enhances the diversity of test sequences by 85%, but reduces the number of them by 54%. Furthermore, we uncover 7 app bugs.

References

[1]
Android guitar. http://sourceforge.net/apps/mediawiki/guitar/index.php?title=Android_GUITAR. Accessed January, 2016.
[2]
F-droid. https://f-droid.org/. Accessed January, 2016.
[3]
Monkey. http://developer.android.com/tools/help/monkey.html. Accessed January, 2016.
[4]
Soot. https://github.com/Sable/soot. Accessed November, 2015.
[5]
D. Amalfitano, A. R. Fasolino, P. Tramontana, S. D. Carmine, and A. M. Memon. Using GUI ripping for automated testing of android applications. In IEEE/ACM International Conference on Automated Software Engineering, ASE'12, Essen, Germany, September 3-7, 2012, pages 258--261, 2012.
[6]
D. Amalfitano, A. R. Fasolino, P. Tramontana, B. D. Ta, and A. M. Memon. Mobiguitar: Automated model-based testing of mobile apps. IEEE Software, 32(5):53--59, 2015.
[7]
S. Anand, M. Naik, M. J. Harrold, and H. Yang. Automated concolic testing of smartphone apps. In 20th ACM SIGSOFT Symposium, on the Foundations of Software Engineering (FSE-20), SIGSOFT/FSE'12, Cary, NC, USA - November 11-16, 2012, page 59, 2012.
[8]
T. Azim and I. Neamtiu. Targeted and depth-first exploration for systematic testing of android apps. In Proceedings of the 2013 ACM SIGPLAN International Conference on Object Oriented Programming Systems Languages & Applications, OOPSLA 2013, part of SPLASH 2013, Indianapolis, IN, USA, October 26-31, 2013, pages 641--660, 2013.
[9]
P. A. Brooks and A. M. Memon. Automated gui testing guided by usage profiles. In 22nd IEEE/ACM International Conference on Automated Software Engineering (ASE 2007), November 5-9, 2007, Atlanta, Georgia, USA, pages 333--342, 2007.
[10]
Y. Chen and Z. Su. Guided differential testing of certificate validation in SSL/TLS implementations. In Proceedings of the 2015 10th Joint Meeting on Foundations of Software Engineering, ESEC/FSE 2015, Bergamo, Italy, August 30 - September 4, 2015, pages 793--804, 2015.
[11]
S. Chib and E. Greenberg. Understanding the metropolis-hastings algorithm, 1995.
[12]
W. Choi, G. C. Necula, and K. Sen. Guided GUI testing of android apps with minimal restart and approximate learning. In Proceedings of the 2013 ACM SIGPLAN International Conference on Object Oriented Programming Systems Languages & Applications, OOPSLA 2013, Indianapolis, IN, USA, October 26-31, 2013, pages 623--640, 2013.
[13]
A. C. Dias Neto, R. Subramanyan, M. Vieira, and G. H. Travassos. A survey on model-based testing approaches: a systematic review. In Proceedings of the 1st ACM international workshop on Empirical assessment of software engineering languages and technologies, pages 31--36. ACM, 2007.
[14]
C. S. Jensen, M. R. Prasad, and A. Møller. Automated testing with targeted event sequence generation. In International Symposium on Software Testing and Analysis, ISSTA '13, Lugano, Switzerland, July 15-20, 2013, pages 67--77, 2013.
[15]
R. Mahmood, N. Mirzaei, and S. Malek. Evodroid: segmented evolutionary testing of android apps. In Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering, (FSE-22), Hong Kong, China, November 16-22, 2014, pages 599--609, 2014.
[16]
A. M. Memon, I. Banerjee, and A. Nagarajan. GUI ripping: Reverse engineering of graphical user interfaces for testing. In 10th Working Conference on Reverse Engineering, WCRE 2003, Victoria, Canada, November 13-16, 2003, pages 260--269, 2003.
[17]
N. Mirzaei, S. Malek, C. S. Pasareanu, N. Esfahani, and R. Mahmood. Testing android apps through symbolic execution. ACM SIGSOFT Software Engineering Notes, 37(6):1--5, 2012.
[18]
M. Shafique and Y. Labiche. A systematic review of model based testing tool support. Carleton University, Canada, Tech. Rep. Technical Report SCE-10-04, 2010.
[19]
T. Takala, M. Katara, and J. Harty. Experiences of system-level model-based GUI testing of an android application. In Fourth IEEE International Conference on Software Testing, Verification and Validation, IGST 2011, Berlin, Germany, March 21-25, 2011, pages 377--386, 2011.
[20]
W. Yang, M. R. Prasad, and T. Xie. A grey-box approach for automated gui-model generation of mobile applications. In Fundamental Approaches to Software Engineering - 16th International Conference, FASE 2013, Rome, Italy, March 16-24, 2013. Proceedings, pages 250--265, 2013.

Cited By

View all
  • (2024)Scriptless and Seamless: Leveraging Probabilistic Models for Enhanced GUI Testing in Native Android ApplicationsResearch Challenges in Information Science10.1007/978-3-031-59468-7_10(83-91)Online publication date: 4-May-2024
  • (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
  • (2023)UI Layers Group Detector: Grouping UI Layers via Text Fusion and Box AttentionArtificial Intelligence10.1007/978-3-031-20500-2_25(303-314)Online publication date: 1-Jan-2023
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
ICSE '16: Proceedings of the 38th International Conference on Software Engineering Companion
May 2016
946 pages
ISBN:9781450342056
DOI:10.1145/2889160
Permission to make digital or hard copies of part or all 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 third-party components of this work must be honored. For all other uses, contact the Owner/Author.

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 14 May 2016

Check for updates

Qualifiers

  • Demonstration

Conference

ICSE '16
Sponsor:

Acceptance Rates

Overall Acceptance Rate 276 of 1,856 submissions, 15%

Upcoming Conference

ICSE 2025

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)11
  • Downloads (Last 6 weeks)0
Reflects downloads up to 20 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2024)Scriptless and Seamless: Leveraging Probabilistic Models for Enhanced GUI Testing in Native Android ApplicationsResearch Challenges in Information Science10.1007/978-3-031-59468-7_10(83-91)Online publication date: 4-May-2024
  • (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
  • (2023)UI Layers Group Detector: Grouping UI Layers via Text Fusion and Box AttentionArtificial Intelligence10.1007/978-3-031-20500-2_25(303-314)Online publication date: 1-Jan-2023
  • (2022)ReCDroid+: Automated End-to-End Crash Reproduction from Bug Reports for Android AppsACM Transactions on Software Engineering and Methodology10.1145/348824431:3(1-33)Online publication date: 7-Mar-2022
  • (2022)Automated Localization Testing of Mobile Applications MethodInternational Journal of Software Engineering and Knowledge Engineering10.1142/S021819402250028032:05(769-790)Online publication date: 26-May-2022
  • (2022)Why My App Crashes? Understanding and Benchmarking Framework-Specific Exceptions of Android AppsIEEE Transactions on Software Engineering10.1109/TSE.2020.301343848:4(1115-1137)Online publication date: 1-Apr-2022
  • (2022)Android GUI Test Generation with SARSA2022 IEEE 12th Annual Computing and Communication Workshop and Conference (CCWC)10.1109/CCWC54503.2022.9720807(0487-0493)Online publication date: 26-Jan-2022
  • (2021)Understanding and finding system setting-related defects in Android appsProceedings of the 30th ACM SIGSOFT International Symposium on Software Testing and Analysis10.1145/3460319.3464806(204-215)Online publication date: 11-Jul-2021
  • (2021)Automated Visual Testing of Application User Interfaces Using Static Analysis of ScreenshotsInternational Journal of Software Engineering and Knowledge Engineering10.1142/S021819402150004231:02(167-191)Online publication date: 2-Mar-2021
  • (2021)CAT: Change-focused Android GUI Testing2021 IEEE International Conference on Software Maintenance and Evolution (ICSME)10.1109/ICSME52107.2021.00047(460-470)Online publication date: Sep-2021
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media