Performance Analysis of Spotify® for Android with Model-Based Testing

This paper presents the foundations and the real use of a tool to automatically detect anomalies in Internet traffic produced by mobile applications. In particular, our MVE tool is focused on analyzing the impact that user interactions have on the traffic produced and received by the smartphones. To make the analysis exhaustive with regard to the potential user behaviors, we follow a model-based approach to automatically generate test cases to be executed on the smartphones. In addition, we make use of a specification language to define traffic patterns to be compared with the actual traffic in the device. MVE also includes monitoring and verification support to detect executions that do not fit the patterns. In these cases, the developer will obtain detailed information on the user actions that produce the anomaly in order to improve the application. To validate the approach, the paper presents an experimental study with the well-known Spotify app for Android, in which we detected some interesting behaviors. For instance, some HTTP connections do not end successfully due to timeout errors from the remote Spotify service.

[1]  Jeffrey S. Foster,et al.  Troyd: Integration Testing for Android , 2012 .

[2]  Shin Nakajima,et al.  Model Checking of Energy Consumption Behavior , 2014, CSDM Asia.

[3]  Iulian Neamtiu,et al.  Targeted and depth-first exploration for systematic testing of android apps , 2013, OOPSLA.

[4]  Yepang Liu,et al.  Taming Android fragmentation: Characterizing and detecting compatibility issues for Android apps , 2016, 2016 31st IEEE/ACM International Conference on Automated Software Engineering (ASE).

[5]  Porfirio Tramontana,et al.  Using GUI ripping for automated testing of Android applications , 2012, 2012 Proceedings of the 27th IEEE/ACM International Conference on Automated Software Engineering.

[6]  Jan Olaf Blech,et al.  Towards Certified Runtime Verification , 2012, ICFEM.

[7]  Marco Brambilla,et al.  Model Driven Development Approaches for Mobile Applications: A Survey , 2016, MobiWIS.

[8]  Douglas C. Schmidt,et al.  Analyzing Mobile Application Software Power Consumption via Model-driven Engineering , 2011, PECCS.

[9]  Michalis Faloutsos,et al.  ProfileDroid: multi-layer profiling of android applications , 2012, Mobicom '12.

[10]  John Grundy,et al.  A systematic mapping study of mobile application testing techniques , 2016, J. Syst. Softw..

[11]  Pedro Merino,et al.  PerformLTE: A Testbed for LTE Testing in the Future Internet , 2015, WWIC.

[12]  María-del-Mar Gallardo,et al.  Using Model Checking to Generate Test Cases for Android Applications , 2015, MBT.

[13]  Helmut Krcmar,et al.  Model-based Energy Consumption Prediction for Mobile Applications , 2014, EnviroInfo.

[14]  Minas Gjoka,et al.  AntMonitor: Network Traffic Monitoring and Real-Time Prevention of Privacy Leaks in Mobile Devices , 2015, S3@MobiCom.

[15]  George C. Necula,et al.  Guided GUI testing of android apps with minimal restart and approximate learning , 2013, OOPSLA.

[16]  Uwe Aßmann,et al.  Vision paper: towards model-based energy testing , 2011, MODELS'11.

[17]  Hiroshi Inamura,et al.  A model-based energy profiler using online logging for Android applications , 2014, 2014 Seventh International Conference on Mobile Computing and Ubiquitous Networking (ICMU).

[18]  Mukul R. Prasad,et al.  Automated testing with targeted event sequence generation , 2013, ISSTA.

[19]  Dawn Xiaodong Song,et al.  NetworkProfiler: Towards automatic fingerprinting of Android apps , 2013, 2013 Proceedings IEEE INFOCOM.

[20]  Porfirio Tramontana,et al.  MobiGUITAR: Automated Model-Based Testing of Mobile Apps , 2015, IEEE Software.

[21]  María-del-Mar Gallardo,et al.  Runtime Verification of Expected Energy Consumption in Smartphones , 2015, SPIN.