Skip to main content
Log in

Mobile GUI testing

  • Published:
Software Quality Journal Aims and scope Submit manuscript

Abstract

This paper presents a tool (iMPAcT) that automates testing of mobile applications based on the presence of recurring behaviour, UI Patterns. It combines reverse engineering, pattern matching and testing. The reverse engineering process is responsible for crawling the application, i.e. analysing the state of the application and interacting with it by firing events. The pattern matching tries to identify the presence of UI patterns based on a catalogue of patterns. When a UI Pattern from the catalogue is detected, a test strategy is applied (testing). These test strategies are called UI Test Patterns. These three phases work in an iterative way: the patterns are identified and tested between firing of events, i.e. the process alternates between exploring the application and testing the UI Patterns. The process is dynamic and fully automatic not requiring any previous knowledge about the application under test. This paper presents the results of an experiment studying the reliability of the results obtained by iMPAcT. The experiment involved 25 applications found on Google Play Store and concludes that iMPAcT is successful in identifying failures in the tested patterns and that the degree of certainty of an identified failure being an actual failure is high.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7

Similar content being viewed by others

Notes

  1. FL-Frame Layout, LV-Linear View, OC-only child, V-View, LL-Linear Layout

References

  • Alexander, C.W., Ishikawa, S., Silverstein, M., & Jacobson, M. (1977). A Pattern Language: Towns, Buildings, Construction (Center for Environmental Structure), 1st edn. Oxford: Oxford University Press.

    Google Scholar 

  • Amalfitano, D., Fasolino, A.R., Tramontana, P., Ta, B., & Memon, A. (2015). MobiGUITAR: Automated Model-Based Testing of Mobile Apps. IEEE Software, 32 (5), 53–59. https://doi.org/10.1109/MS.2014.55 . http://ieeexplore.ieee.org/lpdocs/epic03/wrapper.htm?arnumber=6786194.

    Article  Google Scholar 

  • Android, G. (2015a). Android navigation drawer. http://goo.gl/nnJOoj.

  • Android, G. (2015b). Up and running with material design.

  • Avancini, A., & Ceccato, M. (2013). Security testing of the communication among android applications. In Automation of Software Test (AST), 2013 8th International Workshop on, IEEE Press, San Francisco, California, pp 57–63. https://doi.org/10.1109/IWAST.2013.6595792.

  • Batyuk, L., Herpich, M., Camtepe, S.A., Raddatz, K., Schmidt, A.D., & Albayrak, S. (2011). Using static analysis for automatic assessment and mitigation of unwanted and malicious activities within Android applications. In Malicious and Unwanted Software (MALWARE), 2011 6th International Conference on, IEEE, Fajardo, Puerto Rico, pp 66–72. https://doi.org/10.1109/MALWARE.2011.6112328.

  • Coimbra Morgado, I., & Paiva, A.C.R. (2015a). Test patterns for android mobile applications. In 20th European Conference on Pattern Languages of Programs (Europlop 2015), Irsee, Germany. http://dl.acm.org/citation.cfm?id=2855354.

  • Coimbra Morgado, I., & Paiva, A.C.R. (2015b). Testing approach for mobile applications through reverse engineering of UI patterns. In Sixth International Workshop on Testing Techniques for Event BasED Software.

  • Coimbra Morgado, I., & Paiva, A.C.R. (2015c). The iMPAcT Tool: testing UI patterns on mobile applications. In 30th IEEE/ACM International Conference on Automated Software Engineering (ASE 2015), Lincoln, NE, USA. http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=7372083.

  • Coimbra Morgado, I., & Paiva, A.C.R. (2016). Impact of execution modes on finding android failures. Procedia Computer Science, 83, 284–291. https://doi.org/10.1016/j.procs.2016.04.127. http://www.sciencedirect.com/science/article/pii/S1877050916301508.

    Article  Google Scholar 

  • Dar, M.A., & Parvez, J. (2014). Enhancing security of android & IOS by implementing need-based security (NBS). In 2014 International Conference on Control, Instrumentation, Communication and Computational Technologies (ICCICCT), IEEE, Kanyakumari, India, pp 728–733. https://doi.org/10.1109/ICCICCT.2014.6993055.

  • Fowler, M. (1997). Analysis Patterns - Reusable Object Models. Boston: Addison-Wesley.

    Google Scholar 

  • Franke, D., Kowalewski, S., Weise, C., & Prakobkosol, N. (2012). Testing conformance of life cycle dependent properties of mobile applications. In 2012 IEEE Fifth International Conference on Software Testing, Verification and Validation, IEEE, Montreal, QC, Canada, pp 241–250. https://doi.org/10.1109/ICST.2012.104. http://ieeexplore.ieee.org/articleDetails.jsp?arnumber=6200126.

  • Gorla, A., Tavecchia, I., Gross, F., & Zeller, A. (2014). Checking app behavior against app descriptions. In Proceedings of the 36th International Conference on Software Engineering (ICSE 2014), ACM Press, Hyderabad, India, pp 1025–1035.

  • Ingraham, N. (2013). Apple announces 1 million apps in the App Store, more than 1 billion songs played on iTunes radio. https://goo.gl/MYwnYo.

  • ISO/IEC (2011). ISO/IEC 25010:2011 - Systems and software engineering — Systems and software Quality Requirements and Evaluation (SQuaRE) — system and software quality models. Tech. rep. https://www.iso.org/standard/35733.html.

  • Moran, K., Linares-Vasquez, M., Bernal-Cardenas, C., Vendome, C., & Poshyvanyk, D. (2016). Automatically discovering, reporting and reproducing android application crashes. In 2016 IEEE International Conference on Software Testing, Verification and Validation (ICST), IEEE, Chicago, IL, USA, pp 33–44. https://doi.org/10.1109/ICST.2016.34. http://ieeexplore.ieee.org/lpdocs/epic03/wrapper.htm?arnumber=7515457.

  • Moreira, R.M.L.M., Paiva, A.C.R., Nabuco, M., & Memon, A. (2017). Pattern-based GUI testing: bridging the gap between design and quality assurance. Softw Test, Verif Reliab; 27(3). https://doi.org/10.1002/stvr.1629.

    Article  Google Scholar 

  • Morgado, I.C. (2017). Automated pattern-based testing of mobile applications. Porto: PhD thesis. Faculty of Engineering of the University of Porto.

    Google Scholar 

  • Muccini, H., di Francesco, A., & Esposito, P. (2012). Software testing of mobile applications: challenges and future research directions. In Automation of Software Test (AST), 2012 7th International Workshop on, IEEE, Zurich, Switzerland, pp 29–35. https://doi.org/10.1109/IWAST.2012.6228987.

  • Nguyen, C.D., Marchetto, A., & Tonella, P. (2012). Combining model-based and combinatorial testing for effective test case generation. In Proceedings of the 2012 International Symposium on Software Testing and Analysis (ISSTA 2012), ACM Press, Minneapolis, MN, USA, pp 100–110. https://doi.org/10.1145/2338965.2336765.

  • Ravitch, T., Creswick, E.R., Tomb, A., Foltzer, A., Elliott, T., & Casburn, L. (2014). Multi-App Security Analysis with FUSE: Statically Detecting Android App Collusion. In Proceedings of the 4th Program Protection and Reverse Engineering Workshop (PPREW-4), ACM, New Orleans, LA, USA, pp 4:1–4:10. https://doi.org/10.1145/2689702.2689705.

  • Zhu, H., Ye, X., Zhang, X., & Shen, K. (2015). A context-aware approach for dynamic GUI testing of android applications. In 2015 IEEE 39th annual computer software and applications conference (COMPSAC), IEEE, TaiChung, Taiwan, vol 2, pp 248–253. https://doi.org/10.1109/COMPSAC.2015.77.

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Ana C. R. Paiva.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Morgado, I., Paiva, A.C.R. Mobile GUI testing. Software Qual J 26, 1553–1570 (2018). https://doi.org/10.1007/s11219-017-9387-1

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11219-017-9387-1

Keywords