skip to main content
10.1145/3293882.3330551acmconferencesArticle/Chapter ViewAbstractPublication PagesisstaConference Proceedingsconference-collections
research-article

Improving random GUI testing with image-based widget detection

Published:10 July 2019Publication History

ABSTRACT

Graphical User Interfaces (GUIs) are amongst the most common user interfaces, enabling interactions with applications through mouse movements and key presses. Tools for automated testing of programs through their GUI exist, however they usually rely on operating system or framework specific knowledge to interact with an application. Due to frequent operating system updates, which can remove required information, and a large variety of different GUI frameworks using unique underlying data structures, such tools rapidly become obsolete, Consequently, for an automated GUI test generation tool, supporting many frameworks and operating systems is impractical. We propose a technique for improving GUI testing by automatically identifying GUI widgets in screen shots using machine learning techniques. As training data, we generate randomized GUIs to automatically extract widget information. The resulting model provides guidance to GUI testing tools in environments not currently supported by deriving GUI widget information from screen shots only. In our experiments, we found that identifying GUI widgets in screen shots and using this information to guide random testing achieved a significantly higher branch coverage in 18 of 20 applications, with an average increase of 42.5% when compared to conventional random testing.

References

  1. Android Developers. 2015. Monkeyrunner.Google ScholarGoogle Scholar
  2. M. Bajammal and A. Mesbah. 2018. Web Canvas Testing Through Visual Inference. In 2018 IEEE 11th International Conference on Software Testing, Verification and Validation (ICST). 193–203.Google ScholarGoogle Scholar
  3. S. Bauersfeld and T. E. J. Vos. 2012. GUITest: A Java Library for Fully Automated GUI Robustness Testing. In 2012 Proceedings of the 27th IEEE/ACM International Conference on Automated Software Engineering. 330–333. 2351676.2351739 Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Giovanni Becce, Leonardo Mariani, Oliviero Riganelli, and Mauro Santoro. 2012. Extracting Widget Descriptions from GUIs. In Fundamental Approaches to Software Engineering, Juan de Lara and Andrea Zisman (Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg, 347–361. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Nataniel P. Borges, Jr., Maria Gómez, and Andreas Zeller. 2018. Guiding App Testing with Mined Interaction Models. In Proceedings of the 5th International Conference on Mobile Software Engineering and Systems (MOBILESoft ’18). ACM, New York, NY, USA, 133–143. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Hatim Chahim, Mehmet Duran, and Tanja EJ Vos. 2018. Challenging TESTAR in an industrial setting: the rail sector. (2018).Google ScholarGoogle Scholar
  7. Shauvik Roy Choudhary, Alessandra Gorla, and Alessandro Orso. 2015. Automated Test Input Generation for Android:Are We There Yet? (E). In 2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE). IEEE, 429–440.Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. J. Ding, B. Chen, H. Liu, and M. Huang. 2016. Convolutional Neural Network With Data Augmentation for SAR Target Recognition. IEEE Geoscience and Remote Sensing Letters 13, 3 (March 2016), 364–368.Google ScholarGoogle Scholar
  9. 2513754Google ScholarGoogle Scholar
  10. Justin E Forrester and Barton P Miller. 2000. An Empirical Study of the Robustness of Windows NT Applications Using Random Testing. In Proceedings of the 4th USENIX Windows System Symposium. Seattle, 59–68. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Gordon Fraser and Andrea Arcuri. 2014. A Large-Scale Evaluation of Automated Unit Test Generation Using EvoSuite. ACM Transactions on Software Engineering and Methodology (TOSEM) 24, 2, Article 8 (Dec. 2014), 42 pages. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Zebao Gao, Yalan Liang, Myra B Cohen, Atif M Memon, and Zhen Wang. 2015. Making system user interactive tests repeatable: When and what should we control?. In 2015 IEEE/ACM 37th IEEE International Conference on Software Engineering, Vol. 1. IEEE, 55–65. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Ross Girshick, Jeff Donahue, Trevor Darrell, and Jitendra Malik. 2014. Rich Feature Hierarchies for Accurate Object Detection and Semantic Segmentation. In Proceedings of the 2014 IEEE Conference on Computer Vision and Pattern Recognition (CVPR ’14). IEEE Computer Society, Washington, DC, USA, 580–587. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. R. Lo, R. Webby, and R. Jeffery. 1996. Sizing and Estimating the Coding and Unit Testing Effort for GUI Systems. In Proceedings of the 3rd International Software Metrics Symposium. 166–173. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Ke Mao, Mark Harman, and Yue Jia. 2016. Sapienz: Multi-objective Automated Testing for Android Applications. In Proceedings of the 25th International Symposium on Software Testing and Analysis. ACM, 94–105. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. L. Mariani, M. PezzÃĺ, O. Riganelli, and M. Santoro. 2011. AutoBlackTest: A Tool for Automatic Black-Box Testing. (May 2011), 1013–1015. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. 1145/1985793.1985979Google ScholarGoogle Scholar
  18. A. Memon, I. Banerjee, and A. Nagarajan. 2003. GUI Ripping: Reverse Engineering of Graphical User Interfaces for Testing. In 10th Working Conference on Reverse Engineering, 2003. WCRE 2003. Proceedings. 260–269. WCRE.2003.1287256 Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Bao Nguyen, Bryan Robbins, Ishan Banerjee, and Atif Memon. 2014. GUITAR: An innovative tool for automated testing of GUI-driven software. Automated Software Engineering 21 (03 2014). Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Joseph Redmon, Santosh Kumar Divvala, Ross B. Girshick, and Ali Farhadi. 2015. You Only Look Once: Unified, Real-Time Object Detection. CoRR abs/1506.02640 (2015). arXiv: 1506.02640 http://arxiv.org/abs/1506.02640Google ScholarGoogle Scholar
  21. Joseph Redmon and Ali Farhadi. 2016. YOLO9000: Better, Faster, Stronger. CoRR abs/1612.08242 (2016). arXiv: 1612.08242 http://arxiv.org/abs/1612.08242Google ScholarGoogle Scholar
  22. Joseph Redmon and Ali Farhadi. 2018. YOLOv3: An Incremental Improvement. CoRR abs/1804.02767 (2018). arXiv: 1804.02767 http://arxiv.org/abs/1804.02767Google ScholarGoogle Scholar
  23. O. Russakovsky, L. Li, and L. Fei-Fei. 2015. Best of both worlds: Human-machine collaboration for object annotation. In 2015 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). 2121–2131.Google ScholarGoogle Scholar
  24. 7298824Google ScholarGoogle Scholar
  25. J. Salamon and J. P. Bello. 2017. Deep Convolutional Neural Networks and Data Augmentation for Environmental Sound Classification. IEEE Signal Processing Letters 24, 3 (March 2017), 279–283.Google ScholarGoogle ScholarCross RefCross Ref
  26. Ting Su, Guozhu Meng, Yuting Chen, Ke Wu, Weiming Yang, Yao Yao, Geguang Pu, Yang Liu, and Zhendong Su. 2017. Guided, Stochastic Model-Based GUI Testing of Android Apps. In Proceedings of the 2017 11th Joint Meeting on Foundations of Software Engineering. ACM, 245–256. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Improving random GUI testing with image-based widget detection

      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 Conferences
        ISSTA 2019: Proceedings of the 28th ACM SIGSOFT International Symposium on Software Testing and Analysis
        July 2019
        451 pages
        ISBN:9781450362245
        DOI:10.1145/3293882

        Copyright © 2019 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: 10 July 2019

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article

        Acceptance Rates

        Overall Acceptance Rate58of213submissions,27%

        Upcoming Conference

        ISSTA '24

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader