ABSTRACT
Context-aware applications (CAAs) are those that use information from the environment based on sensors such as gyroscope, GPS, and accelerometer. Compared to desktop and web applications, there are additional challenges to test CAAs. It is necessary to take input from users and sensors into account, which can lead to the explosion of possible situations. This work aims to present an approach that makes it possible to automate the black-box testing of context-aware Android applications that follow paths using GPS. Our approach consists of selecting, through pairwise testing, combinations of sensor values with events that occur during the execution of the application under test (AUT). The approach is implemented in a tool supporting GPS-based applications. The approach and tool were analyzed through an empirical study with four real GPS-based applications. Initial results show they can be effective in detecting possible defects related to the context.
- Accessed: 2019. Genius Maps: Offline GPS Navigator. https://play.google.com/store/apps/details?id=hr.mireo.arthurGoogle Scholar
- Accessed: 2019. GPS Offline Navigation Route Maps & Directions. https://play.google.com/store/apps/details?id=com.offline.routemaps.gps.directionfinder.freerGoogle Scholar
- Accessed: 2019. OsmAnd. https://play.google.com/store/apps/details?id=net.osmandGoogle Scholar
- Accessed: 2019. Voice GPS Navigation: Live Driving Direction. https://play.google.com/store/apps/details?id=com.voicenavigation.gps.driving.directionsGoogle Scholar
- Accessed: 2019-09-05. GitHub. https://github.comGoogle Scholar
- Accessed: 2019-09-05. Logcat. https://developer.android.com/studio/command-line/logcatGoogle Scholar
- Accessed: 2019-09-09. Android Debug Bridge. https://developer.android.com/studio/command-line/adb.htmlGoogle Scholar
- Accessed: 2019-09-23. Pairwise Independent Combinatorial Tool (PICT). htttps://github.com/microsoft/pictGoogle Scholar
- Accessed: 2020-01-15. Microsoft Home Page. https://www.microsoft.comGoogle Scholar
- Accessed: 2020-02-01. Android Emulator. https://developer.android.com/studio/run/emulatorGoogle Scholar
- Accessed: 2020-02-11. Arko Flow. https://flowsupport.akvo.org/article/show/33694-calibrate-your-gpsGoogle Scholar
- Accessed: 2020-02-11. GPS.gov. https://www.gps.gov/systems/gps/performance/accuracyGoogle Scholar
- Accessed: 2020-06-12. The portal for statistics: Market reach of the most popular Android app categories worldwide as of September 2019. https://www.statista.com/statistics/200855/favourite-smartphone-appcategories-by-share-of-smartphone-users/Google Scholar
- G. D. Abowd, A. K. Dey, P.J. Brown, N. Davies, M. Smith, and P. Steggles. 1999. Towards a Better Understanding of Context and Context-Awareness. In Proceedings of the 1st International Symposium on Handheld and Ubiquitous Computing (Karlsruhe, Germany) (HUC '99). Springer-Verlag, London, UK, UK, 304--307. http://dl.acm.org/citation.cfm?id=647985.743843Google ScholarDigital Library
- D. Adamo, D. Nurmuradov, S. Piparia, and R. Bryce. 2018. Combinatorial-based event sequence testing of Android applications. Information and Software Technology 99 (2018), 98--117. https://doi.org/10.1016/j.infsof.2018.03.007Google ScholarDigital Library
- C. Q. Adamsen, G. Mezzetti, and A. Møller. 2015. Systematic Execution of Android Test Suites in Adverse Conditions. In Proc. of the 2015 Int. Symp. on Software Testing and Analysis (Baltimore, MD, USA) (ISSTA 2015). ACM, New York, NY, USA, 83--93. https://doi.org/10.1145/2771783.2771786Google ScholarDigital Library
- D. R. Almeida, P. D. L. Machado, and W. L. Andrade. 2019. Testing tools for Android context-aware applications: a systematic mapping. Journal of the Braz. Computer Society 25 (Dec. 2019). https://doi.org/10.1186/s13173-019-0093-7Google ScholarCross Ref
- D. Amalfitano, A.R. Fasolino, P. Tramontana, and N. Amatucci. 2013. Considering Context Events in Event-Based Testing of Mobile Applications. In 2013 IEEE Sixth International Conference on Software Testing, Verification and Validation Workshops. 126--133. https://doi.org/10.1109/ICSTW.2013.22Google ScholarDigital Library
- A. S. Ami, Md. M. Hasan, Md. R. Rahman, and K. Sakib. 2018. Mobicomonkey: Context Testing of Android Apps. In Proc. of the 5th Int. Conf. on Mobile Software Engineering and Systems (Gothenburg, Sweden) (MOBILESoft '18). ACM, New York, NY, USA, 76--79. https://doi.org/10.1145/3197231.3197234Google ScholarDigital Library
- Z. Babaei, A. M. Rahmani, and A. Rezaei. 2016. Real-time reusable event-driven architecture for context aware systems. In 2016 24th Iranian Conf. on Electrical Engineering(ICEE). 294--299. https://doi.org/10.1109/IranianCEE.2016.7585535Google ScholarCross Ref
- R. Black. 2007. Pragmatic Software Testing: Becoming an Effective and Efficient Test Professional. John Wiley & Sons, Inc., New York, NY, USA.Google ScholarDigital Library
- P. J. Brown. 1996. The Stick-e Document: a Framework for Creating Contextaware Applications. In Proceedings of EP'96, Palo Alto. also published in it EP-odd, 182--196. http://www.cs.kent.ac.uk/pubs/1996/396Google Scholar
- K. Burr and W. Young. 1998. Combinatorial Test Techniques: Table-based Automation, Test Generation and Code Coverage. In Proceedings of the Intl. Conf. on Software Testing Analysis and Review. West, 503--513.Google Scholar
- S. R. Choudhary, A. Gorla, and A. Orso. 2015. Automated Test Input Generation for Android: Are We There Yet? (E). In Proc. of the 2015 30th IEEE/ACM Int. Conf. on Automated Software Engineering (ASE). IEEE, Washington, DC, USA, 429--440. https://doi.org/10.1109/ASE.2015.89Google ScholarDigital Library
- D. M. Cohen, S. R. Dalal, J. Parelius, and G. C. Patton. 1996. The combinatorial design approach to automatic test generation. IEEE Software 13, 5 (Sep. 1996), 83--88. https://doi.org/10.1109/52.536462Google ScholarDigital Library
- D. Franklin and J. Flachsbart. 1998. All gadget and no representation makes Jack a dull environment. In AAAI 1998 Spring Symposium on Intelligent Environments. 155--160.Google Scholar
- T. Griebe and V. Gruhn. 2014. A Model-based Approach to Test Automation for Context-aware Mobile Applications. In Proceedings of the 29th Annual ACM Symposium on Applied Computing (Gyeongju, Republic of Korea) (SAC '14). ACM, New York, NY, USA, 420--427. https://doi.org/10.1145/2554850.2554942Google ScholarDigital Library
- R. Hull, P. Neaves, and J. Bedford-Roberts. 1997. Towards situated computing. In Digest of Papers. First International Symposium on Wearable Computers. 146--153. https://doi.org/10.1109/ISWC.1997.629931Google ScholarCross Ref
- A. K. Jha, S. Lee, and W. J. Lee. 2019. Characterizing Android-Specific Crash Bugs. In Proc. of the 6th Int. Conf. on Mobile Software Engineering and Systems (Montreal, Quebec, Canada) (MOBILESoft '19). IEEE Press, 111--122.Google Scholar
- D. R. Kuhn, D. R. Wallace, and A. M. Gallo. 2004. Software fault interactions and implications for software testing. IEEE Transactions on Software Engineering 30, 6 (June 2004), 418--421. https://doi.org/10.1109/TSE.2004.24Google ScholarDigital Library
- S. Lu, S. Park, E. Seo, and Y. Zhou. 2008. Learning from Mistakes: A Comprehensive Study on Real World Concurrency Bug Characteristics. In Proceedings of the 13th International Conference on Architectural Support for Programming Languages and Operating Systems (Seattle, WA, USA) (ASPLOS XIII). ACM, New York, NY, USA, 329--339. https://doi.org/10.1145/1346281.1346323Google ScholarDigital Library
- C. Luo, J. Goncalves, E. Velloso, and V. Kostakos. 2020. A Survey of Context Simulation for Testing Mobile Context-Aware Applications. ACM Comput. Surv. 53, 1, Article 21 (Feb. 2020), 39 pages. https://doi.org/10.1145/3372788Google ScholarDigital Library
- C. Luo, M. Kuutila, S. Klakegg, D. Ferreira, H. Flores, J. Goncalves, M. Mäntylä, and V. Kostakos. 2017. TestAWARE: A Laboratory-Oriented Testing Tool for Mobile Context-Aware Applications. Proc. ACM Interact. Mob. Wearable Ubiquitous Technol. 1, 3, Article 80 (Sept. 2017), 29 pages. https://doi.org/10.1145/3130945Google ScholarDigital Library
- Santiago Matalonga, Felyppe Rodrigues, and Guilherme Travassos. 2015. Challenges in Testing Context Aware Software Systems. In Brazilian Conference on Software: Theory and Practice (Belo Horizonte, Brazil) (CBSOFT '15). 51--60. https://doi.org/10.13140/RG.2.1.3361.6080Google ScholarCross Ref
- S. Matalonga, F. Rodrigues, and G. H. Travassos. 2015. Matching Context Aware Software Testing Design Techniques to ISO/IEC/IEEE 29119. In Software Process Improvement and Capability Determination, Terry Rout, Rory V. O'Connor, and Alec Dorling (Eds.). Springer International Publishing, Cham, 33--44.Google Scholar
- N. Mirzaei, J. Garcia, H. Bagheri, A. Sadeghi, and S. Malek. 2016. Reducing Combinatorics in GUI Testing of Android Applications. In Proceedings of the 38th International Conference on Software Engineering (Austin, Texas) (ICSE '16). ACM, New York, NY, USA, 559--570. https://doi.org/10.1145/2884781.2884853Google ScholarDigital Library
- K. Moran, M. Linares-Vasquez, C. Bernal-Cardenas, C. Vendome, and D. Poshyvanyk. 2017. CrashScope: A Practical Tool for Automated Testing of Android Applications. In 2017 IEEE/ACM 39th International Conference on Software Engineering Companion (ICSE-C). 15--18. https://doi.org/10.1109/ICSE-C.2017.16Google ScholarDigital Library
- K. Moran, M. Linares-Vásquez, C. Bernal-Cárdenas, C. Vendome, and D. Poshyvanyk. 2016. Automatically Discovering, Reporting and Reproducing Android Application Crashes. In 2016 IEEE International Conference on Software Testing, Verification and Validation (ICST). 33--44. https://doi.org/10.1109/ICST.2016.34Google ScholarCross Ref
- Y. Qin, C. Xu, P. Yu, and J. Lu. 2016. SIT: Sampling-based interactive testing for self-adaptive apps. Journal of Systems and Software 120 (2016), 70--88. https://doi.org/10.1016/j.jss.2016.07.002Google ScholarDigital Library
- V. Realinho, T. Romão, and A. E. Dias. 2012. An Event-driven Workflow Framework to Develop Context-aware Mobile Applications. In Proc. of the 11th Int. Conf. on Mobile and Ubiquitous Multimedia (Ulm, Germany) (MUM '12). ACM, New York, NY, USA, Article 22, 10 pages. https://doi.org/10.1145/2406367.2406395Google ScholarDigital Library
- T. Rodden, K. Chervest, N. Davies, and A. Dix. 1998. Exploiting Context in HCI Design for Mobile Systems. In Proc. of Workshop on Human Computer Interaction with Mobile Devices. 21--22.Google Scholar
- F. Rodrigues, S. Matalonga, and G. H. Travassos. 2016. CATS Design: A Context-Aware Test Suite Design Process. In Proceedings of the 1st Brazilian Symposium on Systematic and Automated Software Testing (Maringa, Parana, Brazil) (SAST). Association for Computing Machinery, New York, NY, USA, Article 9, 10 pages. https://doi.org/10.1145/2993288.2993293Google ScholarDigital Library
- I. A. Salihu and R. Ibrahim. 2016. Systematic Exploration of Android Apps' Events for Automated Testing. In Proc. of the 14th Int. Conf. on Advances in Mobile Computing and Multi Media (Singapore, Singapore) (MoMM '16). ACM, New York, NY, USA, 50--54. https://doi.org/10.1145/3007120.3011072Google ScholarDigital Library
- I. S. Santos, R. M. C. Andrade, L. S. Rocha, S. Matalonga, K. M. de Oliveira, and G. H. Travassos. 2017. Test case design for context-aware applications: Are we there yet? Information and Software Technology 88 (2017), 1--16. https://doi.org/10.1016/j.infsof.2017.03.008Google ScholarDigital Library
- B. R. Siqueira, M. Costa Júnior, F. C. Ferrari, D. S. M. Santibáñez, R. Menotti, and V. V. Camargo. 2018. Experimenting with a Multi-Approach Testing Strategy for Adaptive Systems. In Proceedings of the 17th Brazilian Symposium on Software Quality (Curitiba, Brazil) (SBQS). ACM, New York, NY, USA, 111--120. https://doi.org/10.1145/3275245.3275257Google ScholarDigital Library
- A. Usman, N. Ibrahim, and I. A. Salihu. 2018. Comparative Study of Mobile Applications Testing Techniques for Context Events. Advanced Science Letters 24, 10 (2018), 7305--7310. https://doi.org/doi:10.1166/asl.2018.12933Google ScholarCross Ref
- A. Usman, N. Ibrahim, and I. A. Salihu. 2018. Test Case Generation from Android Mobile Applications Focusing on Context Events. In Proc. of the 2018 7th Int. Conf. on Software and Computer Applications (Kuantan, Malaysia) (ICSCA 2018). ACM, New York, NY, USA, 25--30. https://doi.org/10.1145/3185089.3185099Google ScholarDigital Library
- V. Vieira, K. Holl, and M. Hassel. 2015. A Context Simulator As Testing Support for Mobile Apps. In Proceedings of the 30th Annual ACM Symposium on Applied Computing (Salamanca, Spain) (SAC '15). ACM, New York, NY, USA, 535--541. https://doi.org/10.1145/2695664.2695782Google ScholarDigital Library
- A. Ward, A. Jones, and A. Hopper. 1997. A new location technique for the active office. IEEE Personal Communications 4, 5 (Oct 1997), 42--47. https://doi.org/10.1109/98.626982Google ScholarCross Ref
- R. Wu, H. Zhang, S.-C. Cheung, and S. Kim. 2014. CrashLocator: Locating Crashing Faults Based on Crash Stacks. In Proc. of the 2014 Int. Symposium on Software Testing and Analysis (San Jose, CA, USA) (ISSTA 2014). ACM, New York, NY, USA, 204--214. https://doi.org/10.1145/2610384.2610386Google ScholarDigital Library
- Y. Lei and K. C. Tai. 1998. In-parameter-order: a test generation strategy for pairwise testing. In Proc. Third IEEE Int. High-Assurance Systems Engineering Symp. (Cat. No.98EX231). 254--261. https://doi.org/10.1109/HASE.1998.731623Google ScholarCross Ref
- R. N. Zaeem, M. R. Prasad, and S. Khurshid. 2014. Automated Generation of Oracles for Testing User-Interaction Features of Mobile Apps. In 2014 IEEE Seventh International Conference on Software Testing, Verification and Validation. 183--192. https://doi.org/10.1109/ICST.2014.31Google ScholarDigital Library
Index Terms
- Context-Aware Android Applications Testing
Recommendations
ENVIAR: ENVIronment dAta simulatoR
SBES '20: Proceedings of the XXXIV Brazilian Symposium on Software EngineeringContext-aware applications (CAAs) sense and react to changes from the environment when performing their tasks. Testing such applications is challenging. Firstly, due to the number of combinations of possible events and values they can handle. Secondly, ...
Test Case Generation from Android Mobile Applications Focusing on Context Events
ICSCA '18: Proceedings of the 2018 7th International Conference on Software and Computer ApplicationsNowadays mobile apps are developed to address more critical areas of people's daily computing needs, which bring concern on the applications' quality. Today's Mobile apps processed not only the traditional GUI events but also accept and react to ...
Using GUI ripping for automated testing of Android applications
ASE '12: Proceedings of the 27th IEEE/ACM International Conference on Automated Software EngineeringWe present AndroidRipper, an automated technique that tests Android apps via their Graphical User Interface (GUI). AndroidRipper is based on a user-interface driven ripper that automatically explores the app’s GUI with the aim of exercising the ...
Comments