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

GUIDER: GUI structure and vision co-guided test script repair for Android apps

Published:11 July 2021Publication History

ABSTRACT

GUI testing is an essential part of regression testing for Android apps. For regression GUI testing to remain effective, it is important that obsolete GUI test scripts get repaired after the app has evolved. In this paper, we propose a novel approach named GUIDER to automated repair of GUI test scripts for Android apps. The key novelty of the approach lies in the utilization of both structural and visual information of widgets on app GUIs to better understand what widgets of the base version app become in the updated version. A supporting tool has been implemented for the approach. Experiments conducted on the popular messaging and social media app WeChat show that GUIDER is both effective and efficient. Repairs produced by GUIDER enabled 88.8% and 54.9% more test actions to run correctly than those produced by existing approaches to GUI test repair that rely solely on visual or structural information of app GUIs.

References

  1. Gigon Bae, Gregg Rothermel, and Doo-Hwan Bae. 2014. Comparing Model-Based and Dynamic Event-Extraction Based GUI Testing Techniques. J. Syst. Softw., 97, C (2014), Oct., 15–46. issn:0164-1212 https://doi.org/10.1016/j.jss.2014.06.039 Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Nana Chang, Linzhang Wang, Yu Pei, Subrota K. Mondal, and Xuandong Li. 2018. Change-Based Test Script Maintenance for Android Apps. In 2018 IEEE International Conference on Software Quality, Reliability and Security (QRS). 215–225. https://doi.org/10.1109/QRS.2018.00035 Google ScholarGoogle ScholarCross RefCross Ref
  3. Shauvik Roy Choudhary, Dan Zhao, Husayn Versee, and Alessandro Orso. 2011. WATER: Web Application TEst Repair. In Proceedings of the First International Workshop on End-to-End Test Script Engineering (ETSE ’11). Association for Computing Machinery, New York, NY, USA. 24–29. isbn:9781450308083 https://doi.org/10.1145/2002931.2002935 Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Brett Daniel, Tihomir Gvero, and Darko Marinov. 2010. On Test Repair Using Symbolic Execution. In Proceedings of the 19th International Symposium on Software Testing and Analysis (ISSTA ’10). Association for Computing Machinery, New York, NY, USA. 207–218. isbn:9781605588230 https://doi.org/10.1145/1831708.1831734 Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Brett Daniel, Vilas Jagannath, Danny Dig, and Darko Marinov. 2009. ReAssert: Suggesting Repairs for Broken Unit Tests. In Proceedings of the 2009 IEEE/ACM International Conference on Automated Software Engineering (ASE ’09). IEEE Computer Society, USA. 433–444. isbn:9780769538914 https://doi.org/10.1109/ASE.2009.17 Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Brett Daniel, Qingzhou Luo, Mehdi Mirzaaghaei, Danny Dig, Darko Marinov, and Mauro Pezzè. 2011. Automated GUI Refactoring and Test Script Repair. In Proceedings of the First International Workshop on End-to-End Test Script Engineering (ETSE ’11). Association for Computing Machinery, New York, NY, USA. 38–41. isbn:9781450308083 https://doi.org/10.1145/2002931.2002937 Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Leonardo De Moura and Nikolaj Bjørner. 2008. Z3: An Efficient SMT Solver. In Proceedings of the Theory and Practice of Software, 14th International Conference on Tools and Algorithms for the Construction and Analysis of Systems (TACAS’08/ETAPS’08). Springer-Verlag, Berlin, Heidelberg. 337–340. isbn:3540787992 https://doi.org/10.1007/978-3-540-78800-3_24 Google ScholarGoogle ScholarCross RefCross Ref
  8. Arie Deursen, Leon M.F. Moonen, A. Bergh, and Gerard Kok. 2001. Refactoring Test Code. Amsterdam, Netherlands.Google ScholarGoogle Scholar
  9. Chen Fu, Mark Grechanik, and Qing Xie. 2009. Inferring Types of References to GUI Objects in Test Scripts. In Proceedings of the 2009 International Conference on Software Testing Verification and Validation (ICST ’09). IEEE Computer Society, USA. 1–10. isbn:9780769536019 https://doi.org/10.1109/ICST.2009.12 Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Zebao Gao, Zhenyu Chen, Yunxiao Zou, and Atif M. Memon. 2016. SITAR: GUI Test Script Repair. IEEE Trans. Softw. Eng., 42, 2 (2016), Feb., 170–186. issn:0098-5589 https://doi.org/10.1109/TSE.2015.2454510 Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Mark Grechanik, Qing Xie, and Chen Fu. 2009. Maintaining and Evolving GUI-Directed Test Scripts. In Proceedings of the 31st International Conference on Software Engineering (ICSE ’09). Association for Computing Machinery, New York, NY, USA. 408–418. isbn:9781424434534 https://doi.org/10.1109/ICSE.2009.5070540 Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Mouna Hammoudi, Gregg Rothermel, and Andrea Stocco. 2016. WATERFALL: An Incremental Approach for Repairing Record-Replay Tests of Web Applications. In Proceedings of the 2016 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering (FSE 2016). Association for Computing Machinery, New York, NY, USA. 751–762. isbn:9781450342186 https://doi.org/10.1145/2950290.2950294 Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Si Huang, Myra B. Cohen, and Atif M. Memon. 2010. Repairing GUI Test Suites Using a Genetic Algorithm. In Proceedings of the 2010 Third International Conference on Software Testing, Verification and Validation (ICST ’10). IEEE Computer Society, USA. 245–254. isbn:9780769539904 https://doi.org/10.1109/ICST.2010.39 Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. JS Foundation. 2020. Appium: Mobile App Automation Made Awesome. http://appium.io/. [Online; accessed 20-August-2020].Google ScholarGoogle Scholar
  15. Maurizio Leotta, Diego Clerissi, Filippo Ricca, and Cristiano Spadaro. 2013. Comparing the Maintainability of Selenium WebDriver Test Suites Employing Different Locators: A Case Study. In Proceedings of the 2013 International Workshop on Joining AcadeMiA and Industry Contributions to Testing Automation (JAMAICA 2013). Association for Computing Machinery, New York, NY, USA. 53–58. isbn:9781450321617 https://doi.org/10.1145/2489280.2489284 Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Xiao Li, Nana Chang, Yan Wang, Haohua Huang, Yu Pei, Linzhang Wang, and Xuandong Li. 2017. ATOM: Automatic Maintenance of GUI Test Scripts for Evolving Mobile Applications. In 2017 IEEE International Conference on Software Testing, Verification and Validation (ICST). 161–171. https://doi.org/10.1109/ICST.2017.22 Google ScholarGoogle ScholarCross RefCross Ref
  17. David G. Lowe. 1999. Object recognition from local scale-invariant features. In Proceedings of the Seventh IEEE International Conference on Computer Vision. 2, 1150–1157 vol.2. https://doi.org/10.1109/ICCV.1999.790410 Google ScholarGoogle ScholarCross RefCross Ref
  18. David G. Lowe. 2004. Distinctive Image Features from Scale-Invariant Keypoints. Int. J. Comput. Vision, 60, 2 (2004), Nov., 91–110. issn:0920-5691 https://doi.org/10.1023/B:VISI.0000029664.99615.94 Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Atif M. Memon. 2007. An Event-Flow Model of GUI-Based Applications for Testing: Research Articles. Softw. Test. Verif. Reliab., 17, 3 (2007), Sept., 137–157. issn:0960-0833 https://doi.org/10.1002/stvr.364 Google ScholarGoogle ScholarCross RefCross Ref
  20. Atif M. Memon and Mary Lou Soffa. 2003. Regression Testing of GUIs. SIGSOFT Softw. Eng. Notes, 28, 5, 118–127. issn:0163-5948 https://doi.org/10.1145/949952.940088 Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. OpenCV team. 2020. OpenCV library. https://opencv.org/. [Online; accessed 20-August-2020].Google ScholarGoogle Scholar
  22. Minxue Pan, Tongtong Xu, Yu Pei, Zhong Li, Tian Zhang, and Xuandong Li. 2020. GUI-Guided Test Script Repair for Mobile Apps. IEEE Transactions on Software Engineering, 1–1. https://doi.org/10.1109/TSE.2020.3007664 Google ScholarGoogle ScholarCross RefCross Ref
  23. Shikha Raina and Arun Prakash Agarwal. 2013. An Automated Tool for Regression Testing in Web Applications. SIGSOFT Softw. Eng. Notes, 38, 4 (2013), July, 1–4. issn:0163-5948 https://doi.org/10.1145/2492248.2492272 Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Robotium.org. 2020. Android UI Testing. http://www.robotium.org. [Online; accessed 20-August-2020].Google ScholarGoogle Scholar
  25. Statista. 2020. Number of monthly active WeChat users from 2nd quarter 2011 to 3rd quarter 2020. https://www.statista.com/statistics/255778/number-of-active-wechat-messenger-accounts/. [Online; accessed 12-December-2020].Google ScholarGoogle Scholar
  26. Andrea Stocco, Rahulkrishna Yandrapally, and Ali Mesbah. 2018. Visual Web Test Repair. In Proceedings of the 2018 26th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE 2018). Association for Computing Machinery, New York, NY, USA. 503–514. isbn:9781450355735 https://doi.org/10.1145/3236024.3236063 Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Guowei Yang, Sarfraz Khurshid, and Miryung Kim. 2012. Specification-Based Test Repair Using a Lightweight Formal Method. In FM 2012: Formal Methods, Dimitra Giannakopoulou and Dominique Méry (Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg. 455–470. isbn:978-3-642-32759-9 https://doi.org/10.1007/978-3-642-32759-9_37 Google ScholarGoogle ScholarCross RefCross Ref
  28. Sai Zhang, Hao Lü, and Michael D. Ernst. 2013. Automatically Repairing Broken Workflows for Evolving GUI Applications. In Proceedings of the 2013 International Symposium on Software Testing and Analysis (ISSTA 2013). Association for Computing Machinery, New York, NY, USA. 45–55. isbn:9781450321594 https://doi.org/10.1145/2483760.2483775 Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. GUIDER: GUI structure and vision co-guided test script repair for Android apps

    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 2021: Proceedings of the 30th ACM SIGSOFT International Symposium on Software Testing and Analysis
      July 2021
      685 pages
      ISBN:9781450384599
      DOI:10.1145/3460319

      Copyright © 2021 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: 11 July 2021

      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