Generating various contexts from permissions for testing Android applications

Context-awareness of mobile applications yields several issues for testing, since the mobile applications should be testable in any environment and with any contextual input. In previous studies of testing for Android applications as eventdriven systems, many researchers have focused on using the generated test cases considering only GUI events. However, it is difficult to detect failures in the changes in the context in which applications run. It is important to consider various contexts since the mobile applications adapt and use novel features and sensors of mobile devices. In this paper, we provide the method of systematically generating various executing contexts from permissions. By referring the lists of permissions, the resources that the applications use for running Android applications can be inferred easily. The various contexts of an application can be generated by permuting resource conditions, and the permutations of the contexts are prioritized. We have evaluated the usefulness and effectiveness of our method by showing that our method contributes to detect faults. Keywords—Android application testing, permissions, various contexts, context-aware application, mobile application testing

[1]  Saurabh Bagchi,et al.  Characterizing Failures in Mobile OSes: A Case Study with Android and Symbian , 2010, 2010 IEEE 21st International Symposium on Software Reliability Engineering.

[2]  Porfirio Tramontana,et al.  Considering Context Events in Event-Based Testing of Mobile Applications , 2013, 2013 IEEE Sixth International Conference on Software Testing, Verification and Validation Workshops.

[3]  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.

[4]  Gregory D. Abowd,et al.  Towards a Better Understanding of Context and Context-Awareness , 1999, HUC.

[5]  Henry Muccini,et al.  Software testing of mobile applications: Challenges and future research directions , 2012, 2012 7th International Workshop on Automation of Software Test (AST).

[6]  Porfirio Tramontana,et al.  A toolset for GUI testing of Android applications , 2012, 2012 28th IEEE International Conference on Software Maintenance (ICSM).

[7]  Gregg Rothermel,et al.  Prioritizing test cases for regression testing , 2000, ISSTA '00.

[8]  Josh Dehlinger,et al.  Mobile Application Software Engineering : Challenges and Research Directions , 2011 .

[9]  Angelos Stavrou,et al.  Analysis of Android Applications' Permissions , 2012, 2012 IEEE Sixth International Conference on Software Security and Reliability Companion.

[10]  Michalis Faloutsos,et al.  Permission evolution in the Android ecosystem , 2012, ACSAC '12.

[11]  Matthias Baldauf,et al.  A survey on context-aware systems , 2007, Int. J. Ad Hoc Ubiquitous Comput..

[12]  Porfirio Tramontana,et al.  A GUI Crawling-Based Technique for Android Mobile Application Testing , 2011, 2011 IEEE Fourth International Conference on Software Testing, Verification and Validation Workshops.

[13]  Huaikou Miao,et al.  A Static Analysis Approach for Automatic Generating Test Cases for Web Applications , 2008, 2008 International Conference on Computer Science and Software Engineering.

[14]  Porfirio Tramontana,et al.  Testing Android Mobile Applications: Challenges, Strategies, and Approaches , 2013, Adv. Comput..

[15]  Reid Holmes,et al.  Coverage is not strongly correlated with test suite effectiveness , 2014, ICSE.