skip to main content
10.1145/3422392.3422405acmotherconferencesArticle/Chapter ViewAbstractPublication PagessbesConference Proceedingsconference-collections
research-article

Context-Aware Android Applications Testing

Published:21 December 2020Publication History

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.

References

  1. Accessed: 2019. Genius Maps: Offline GPS Navigator. https://play.google.com/store/apps/details?id=hr.mireo.arthurGoogle ScholarGoogle Scholar
  2. Accessed: 2019. GPS Offline Navigation Route Maps & Directions. https://play.google.com/store/apps/details?id=com.offline.routemaps.gps.directionfinder.freerGoogle ScholarGoogle Scholar
  3. Accessed: 2019. OsmAnd. https://play.google.com/store/apps/details?id=net.osmandGoogle ScholarGoogle Scholar
  4. Accessed: 2019. Voice GPS Navigation: Live Driving Direction. https://play.google.com/store/apps/details?id=com.voicenavigation.gps.driving.directionsGoogle ScholarGoogle Scholar
  5. Accessed: 2019-09-05. GitHub. https://github.comGoogle ScholarGoogle Scholar
  6. Accessed: 2019-09-05. Logcat. https://developer.android.com/studio/command-line/logcatGoogle ScholarGoogle Scholar
  7. Accessed: 2019-09-09. Android Debug Bridge. https://developer.android.com/studio/command-line/adb.htmlGoogle ScholarGoogle Scholar
  8. Accessed: 2019-09-23. Pairwise Independent Combinatorial Tool (PICT). htttps://github.com/microsoft/pictGoogle ScholarGoogle Scholar
  9. Accessed: 2020-01-15. Microsoft Home Page. https://www.microsoft.comGoogle ScholarGoogle Scholar
  10. Accessed: 2020-02-01. Android Emulator. https://developer.android.com/studio/run/emulatorGoogle ScholarGoogle Scholar
  11. Accessed: 2020-02-11. Arko Flow. https://flowsupport.akvo.org/article/show/33694-calibrate-your-gpsGoogle ScholarGoogle Scholar
  12. Accessed: 2020-02-11. GPS.gov. https://www.gps.gov/systems/gps/performance/accuracyGoogle ScholarGoogle Scholar
  13. 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 ScholarGoogle Scholar
  14. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  15. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  16. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  17. 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 ScholarGoogle ScholarCross RefCross Ref
  18. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  19. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  20. 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 ScholarGoogle ScholarCross RefCross Ref
  21. R. Black. 2007. Pragmatic Software Testing: Becoming an Effective and Efficient Test Professional. John Wiley & Sons, Inc., New York, NY, USA.Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. 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 ScholarGoogle Scholar
  23. 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 ScholarGoogle Scholar
  24. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  25. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  26. 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 ScholarGoogle Scholar
  27. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  28. 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 ScholarGoogle ScholarCross RefCross Ref
  29. 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 ScholarGoogle Scholar
  30. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  31. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  32. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  33. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  34. 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 ScholarGoogle ScholarCross RefCross Ref
  35. 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 ScholarGoogle Scholar
  36. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  37. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  38. 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 ScholarGoogle ScholarCross RefCross Ref
  39. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  40. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  41. 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 ScholarGoogle Scholar
  42. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  43. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  44. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  45. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  46. 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 ScholarGoogle ScholarCross RefCross Ref
  47. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  48. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  49. 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 ScholarGoogle ScholarCross RefCross Ref
  50. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  51. 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 ScholarGoogle ScholarCross RefCross Ref
  52. 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 ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Context-Aware Android Applications Testing

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in
    • Published in

      cover image ACM Other conferences
      SBES '20: Proceedings of the XXXIV Brazilian Symposium on Software Engineering
      October 2020
      901 pages
      ISBN:9781450387538
      DOI:10.1145/3422392

      Copyright © 2020 ACM

      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 21 December 2020

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article
      • Research
      • Refereed limited

      Acceptance Rates

      Overall Acceptance Rate147of427submissions,34%

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader