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

FSMdroid: guided GUI testing of android apps

Published:14 May 2016Publication 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.Google ScholarGoogle Scholar
  2. F-droid. https://f-droid.org/. Accessed January, 2016.Google ScholarGoogle Scholar
  3. Monkey. http://developer.android.com/tools/help/monkey.html. Accessed January, 2016.Google ScholarGoogle Scholar
  4. Soot. https://github.com/Sable/soot. Accessed November, 2015.Google ScholarGoogle Scholar
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. S. Chib and E. Greenberg. Understanding the metropolis-hastings algorithm, 1995.Google ScholarGoogle Scholar
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.Google ScholarGoogle Scholar
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  1. FSMdroid: guided GUI testing of android apps

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in
    • 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

      Copyright © 2016 Owner/Author

      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.

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 14 May 2016

      Check for updates

      Qualifiers

      • demonstration

      Acceptance Rates

      Overall Acceptance Rate276of1,856submissions,15%

      Upcoming Conference

      ICSE 2025

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader