Call for Paper - March 2023 Edition
IJCA solicits original research papers for the March 2023 Edition. Last date of manuscript submission is February 20, 2023. Read More

MobileMonkey - A Contextual Stress Testing Framework for Android Application

Print
PDF
International Journal of Computer Applications
Foundation of Computer Science (FCS), NY, USA
Year of Publication: 2017
Authors:
Rayhanur Rahman, Amit Seal Ami, Kazi Sakib
10.5120/ijca2017915210

Rayhanur Rahman, Amit Seal Ami and Kazi Sakib. MobileMonkey - A Contextual Stress Testing Framework for Android Application. International Journal of Computer Applications 172(9):1-7, August 2017. BibTeX

@article{10.5120/ijca2017915210,
	author = {Rayhanur Rahman and Amit Seal Ami and Kazi Sakib},
	title = {MobileMonkey - A Contextual Stress Testing Framework for Android Application},
	journal = {International Journal of Computer Applications},
	issue_date = {August 2017},
	volume = {172},
	number = {9},
	month = {Aug},
	year = {2017},
	issn = {0975-8887},
	pages = {1-7},
	numpages = {7},
	url = {http://www.ijcaonline.org/archives/volume172/number9/28276-2017915210},
	doi = {10.5120/ijca2017915210},
	publisher = {Foundation of Computer Science (FCS), NY, USA},
	address = {New York, USA}
}

Abstract

Development of Android Apps is inherently challenging as difficulties arise in tracing bugs and crashes due to GUI based event driven work flow, contextual scenarios and diversified sources of inputs working together. In order to alleviate developer’s challenges in this regard, a state of the art contextual stress testing framework of Android apps namedMobileMonkey is proposed. This framework facilitates developers to analyze Android apps using automatic stress inputs and contextual scenario generation with an inherent aim to invoke bugs or crashes, devised by a systematic and strategic execution of static analysis in a cohesive manner, which in essence, provides developers with plenty of insight regarding what went wrong based on data-intense crash logs, traceable trajectories of execution and replayable as well as replicable scripts. We evaluated MobileMonkeys effectiveness in comparison with industry standard Android app stress testing tool on 30 Android apps, 15 of which are heavily utilized real world android apps. The results demonstrate that MobileMonkey consistently performs better than the industry standard tool for stress testing in a diverse range of scenarios. Additionally, MobileMonkey is created to be resource friendly, horizontally scalable and non reliant on specific versions of Android Standard Development Kit, thus automatically becoming a better choice for being integrated as stress testing framework at any stage of Android app development.

References

  1. Akamai. Q1 2017 State of the Internet - Connectivity Report — Akamai. Technical report, Akamai Technologies, 2017.
  2. Domenico Amalfitano, Anna Rita Fasolino, and Porfirio Tramontana. A GUI Crawling-Based Technique for Android Mobile Application Testing. In 2011 IEEE Fourth International Conference on Software Testing, Verification and Validation Workshops, pages 252–261. IEEE, mar 2011.
  3. Domenico Amalfitano, Anna Rita Fasolino, Porfirio Tramontana, and Bryan Robbins. Testing Android Mobile Applications: Challenges, Strategies, and Approaches. Advances in Computers, 89:1–52, 2013.
  4. Android.com. Settings.Global— Android Developers. (https:// developer.android.com/ reference/ android/provider/Settings.Global.html, accessed 28-May-2017).
  5. Android.com. Android Device Monitor— Android Studio. (https://developer.android.com/studio/profile/monitor.html, accessed 28-May-2017).
  6. Android.com. Logcat Command-line Tool — Android Studio . (https://developer.android.com/studio/commandline/ logcat.html, accessed 28-May-2017).
  7. Android.com. UI/Application Exerciser Monkey — Android Studio. (https:// developer.android.com/studio/test/monkey.html, accessed 28-May-2017).
  8. Appbrain.com. Ratings on Google Play - AppBrain. (https://www.appbrain.com/stats/android-app-ratings, accessed 28-May-2017).
  9. Apple.com. App Store Review Guidelines - Apple Developer. (https://developer.apple.com/appstore/ review/guidelines/#app-completeness, accessed 28-May-2017).
  10. Shauvik Roy Choudhary, Alessandra Gorla, and Alessandro Orso. Automated test input generation for android: Are we there yet? In Proceedings - 2015 30th IEEE/ACM International Conference on Automated Software Engineering, ASE 2015, 2016.
  11. Norman Fenton and James Bieman. Software Metrics: A Rigorous and Practical Approach, Third Edition. CRC Press, Inc., Boca Raton, FL, USA, 3rd edition, 2014.
  12. Gameapp.gov.bd. Skill Development for Mobile Game and Application. (http://gameapp.gov.bd/, accessed 28-May-2017).
  13. Googleblog.com. Android Developers Blog: I/O 2017: Everything new in the Google Play Console. (https://android-developers.googleblog.com/2017/05/whatsnew- in-google-play-at-io-2017.html, accessed 28-May-2017).
  14. Google.com. Firebase. (https://firebase.google.com/pricing/, accessed 28-May-2017).
  15. Google.com. Firebase Test Lab for Android — Firebase. (https://firebase.google.com/docs/test-lab/, accessed 28-May-2017).
  16. Google.com. Nexus 6P - Google. (https://www.google.com/nexus/6p/, accessed 28-May-2017).
  17. Imedicalapps.com. iMedicalApps - Reviews of Medical apps & Healthcare Technology. (https://www.imedicalapps.com/, accessed 28-May-2017).
  18. Hammad Khalid, Emad Shihab, Meiyappan Nagappan, and Ahmed E. Hassan. What Do Mobile App Users Complain About? IEEE Software, 32(3):70–77, may 2015.
  19. Chieh-jan Mike Liang, Nicholas D Lane, Niels Brouwers, Li Zhang, B¨orje F. Karlsson, Hao Liu, Yan Liu, Jun Tang, Xiang Shan, Ranveer Chandra, and Feng Zhao. Caiipa: Automated Large-scale Mobile App Testing through Contextual Fuzzing. MobiCom, pages 519–530, 2014.
  20. CJM Liang, ND Lane, Niels Brouwers, and Li Zhang. Context Virtualizer: A Cloud Service for Automated Large-scale Mobile App Testing under Real-World Conditions. Msr-Waypoint.Com, MSR-TR-201, 2013.
  21. Aravind Machiry, Rohan Tahiliani, and Mayur Naik. Dynodroid: an input generation system for Android apps. Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering - ESEC/FSE 2013, page 224, 2013.
  22. Kevin Moran, Mario Linares-Vasquez, Carlos Bernal-Cardenas, Christopher Vendome, and Denys Poshyvanyk. Automatically Discovering, Reporting and Reproducing Android Application Crashes. In Proceedings - 2016 IEEE International Conference on Software Testing, Verification and Validation, ICST 2016, pages 33–44, 2016.
  23. Henry Muccini, Antonio Di Francesco, and Patrizio Esposito. Software testing of mobile applications: Challenges and future research directions. In Proceedings of the 7th International Workshop on Automation of Software Test, AST ’12, pages 29–35, Piscataway, NJ, USA, 2012. IEEE Press.
  24. Rajesh Palit, Renuka Arya, Kshirasagar Naik, and Ajit Singh. Selection and execution of user level test cases for energy cost evaluation of smartphones. In Proceedings of the 6th International Workshop on Automation of Software Test, AST ’11, pages 84–90, New York, NY, USA, 2011. ACM.
  25. Fabio Palomba, Mario Linares-Vasquez, Gabriele Bavota, Rocco Oliveto, Massimiliano Di Penta, Denys Poshyvanyk, and Andrea De Lucia. User reviews matter! Tracking crowdsourced reviews to support evolution of successful apps. In 2015 IEEE International Conference on Software Maintenance and Evolution (ICSME), pages 291–300. IEEE, sep 2015.
  26. Lenin Ravindranath, Suman Nath, Jitendra Padhye, and Hari Balakrishnan. Automatic and scalable fault detection for mobile applications. In Proceedings of the 12th annual international conference on Mobile systems, applications, and services - MobiSys ’14, pages 190–203, New York, New York, USA, 2014. ACM Press.
  27. Raimondas Sasnauskas and John Regehr. Intent fuzzer: crafting intents of death. In Proceedings of the 2014 Joint International Workshop on Dynamic Analysis (WODA) and Software and System Performance Testing, Debugging, and Analytics (PERTEA) - WODA+PERTEA 2014, pages 1–5, New York, New York, USA, 2014. ACM Press.
  28. squareup.com. Credit Card Processing - Accept Credit Cards Anywhere — Square. (https://squareup.com/, accessed 28-May-2017).
  29. Techcrunch.com. Users Have Low Tolerance For Buggy Apps Only 16% Will Try A Failing App More Than Twice — TechCrunch. (https://techcrunch.com/2013/03/12/usershave- low-tolerance-forbuggy- apps-only-16-will-try-a-failing-app-more-than-twice, accessed 28-May-2017).
  30. tourism.gov.in. Mobile Application For Tourist on Google play — Ministry of Tourism. (http://tourism.gov.in/mobileapplication- tourist-google-play, accessed 28-May-2017).
  31. Anthony I Wasserman and Fosser. Software Engineering Issues for Mobile Application Development. In FoSER ’10 Proceedings of the FSE/SDP workshop on Future of software engineering research, pages 397–400, 2010.
  32. Xamarin.com. Mobile App Testing On Hundreds Of Devices - Xamarin Test Cloud. (https://www.xamarin.com/test-cloud, accessed 28-May-2017).
  33. Xia Zeng, Dengfeng Li, Wujie Zheng, Fan Xia, Yuetang Deng, Wing Lam, Wei Yang, and Tao Xie. Automated Test Input Generation for Android : Are We Really There Yet in an Industrial Case ? pages 3–8, 2015.

Keywords

Android, Software Testing, Stress Testing, Contextual Testing