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.
- Android guitar. http://sourceforge.net/apps/mediawiki/guitar/index.php?title=Android_GUITAR. Accessed January, 2016.Google Scholar
- F-droid. https://f-droid.org/. Accessed January, 2016.Google Scholar
- Monkey. http://developer.android.com/tools/help/monkey.html. Accessed January, 2016.Google Scholar
- Soot. https://github.com/Sable/soot. Accessed November, 2015.Google Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- S. Chib and E. Greenberg. Understanding the metropolis-hastings algorithm, 1995.Google Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- FSMdroid: guided GUI testing of android apps
Recommendations
An Explorative Study of the Mobile App Ecosystem from App Developers' Perspective
WWW '17: Proceedings of the 26th International Conference on World Wide WebWith the prevalence of smartphones, app markets such as Apple App Store and Google Play has become the center stage in the mobile app ecosystem, with millions of apps developed by tens of thousands of app developers in each major market. This paper ...
Comments