Abstract
Android application testing has always been a serious problem for mobile developers. To support developers, this paper presents GATS, a GUI-based automated test system for Android apps. This tool uses finite-state machine to learn a model of the app during testing, then uses the learned model to generate user inputs or system event to visit the rest states of the app, and then uses the result of the input to refine the model. The goal of the tool is to trigger crashes. When a crash is happened, GATS will generate a crash report containing screenshot, logcat info with stack trace crash, reproduction steps, and so on. We evaluate GATS on ten Android applications from the top list of several app markets with Monkey, a fuzzing tool from Android platform, and Dynodroid, a previous research. Our result shows that our system has less running time and more bugs found.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsReferences
Google Play Wiki. https://en.wikipedia.org/wiki/Google_Play
Monkeyrunner. http://developer.android.com/tools/help/monkeyrunner_concepts.html
Hierarchy Viewer. http://developer.android.com/tools/help/hierarchy-viewer.html
Robotium. http://code.google.com/p/robotium/
Machiry, A., Tahiliani, R., Naik, M.: Dynodroid: An input generation system for android apps. In: Proceedings of the 2013 9thJoint Meeting on Foundations of Software Engineering, ser. ESEC/FSE2013. New York, NY, USA, pp. 224–234. ACM (2013)
Sasnauskas, R., Regehr, J.: Intent Fuzzer: crafting intents of death. In: Proceedings of the 2014 Joint International Workshop on Dynamic Analysis (WODA) and Software and System PerformanceTesting, Debugging, and Analytics (PERTEA), ser. WODA + PERTEA2014. New York, NY, USA, pp. 1–5. ACM (2014)
Amalfitano, D., Fasolino, A.R., Tramontana, P., De Carmine, S., Memon, A.M.: Using GUI ripping for automated testing of android applications. In: Proceedings of the 27th IEEE/ACM InternationalConference on Automated Software Engineering, ser. ASE 2012.New York, NY, USA, pp. 258–261. ACM (2012)
Choi, W., Necula, G., Sen, K.: Guided GUI testing of android appswith minimal restart and approximate learning. In: Proceedings of the 2013 ACM SIGPLAN International Conference on Object OrientedProgramming Systems Languages & Applications, ser. OOPSLA’13, pp. 623–640. ACM, New York, NY, USA (2013)
Hao, S., Liu, B., Nath, S., Halfond, W.G., Govindan, R.: PUMA: programmable UI-automation for large-scale dynamic analysis of mobileapps. In: Proceedings of the 12th Annual International Conference on Mobile Systems, Applications, and Services, ser. MobiSys ’14, pp. 204–217. ACM, New York, NY, USA (2014)
Android monkey. http://developer.android.com/guide/developing/tools/monkey.html
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2019 Springer Nature Singapore Pte Ltd.
About this paper
Cite this paper
Chen, T., Song, T., He, S., Liang, A. (2019). A GUI-Based Automated Test System for Android Applications. In: Bhatia, S., Tiwari, S., Mishra, K., Trivedi, M. (eds) Advances in Computer Communication and Computational Sciences. Advances in Intelligent Systems and Computing, vol 760. Springer, Singapore. https://doi.org/10.1007/978-981-13-0344-9_44
Download citation
DOI: https://doi.org/10.1007/978-981-13-0344-9_44
Published:
Publisher Name: Springer, Singapore
Print ISBN: 978-981-13-0343-2
Online ISBN: 978-981-13-0344-9
eBook Packages: Intelligent Technologies and RoboticsIntelligent Technologies and Robotics (R0)