Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1109/ASE.2019.00016acmconferencesArticle/Chapter ViewAbstractPublication PagesaseConference Proceedingsconference-collections
research-article

Test migration between mobile apps with similar functionality

Published: 07 February 2020 Publication History

Abstract

The use of mobile apps is increasingly widespread, and much effort is put into testing these apps to make sure they behave as intended. To reduce this effort, and thus the overall cost of mobile app testing, we propose AppTestMigrator, a technique for migrating test cases between apps in the same category (e.g., banking apps). The intuition behind AppTestMigrator is that many apps share similarities in their functionality, and these similarities often result in conceptually similar user interfaces (through which that functionality is accessed). AppTestMigrator leverages these commonalities between user interfaces to migrate existing tests written for an app to another similar app. Specifically, given (1) a test case for an app (source app) and (2) a second app (target app), AppTestMigrator attempts to automatically transform the sequence of events and oracles in the test for the source app to events and oracles for the target app. We implemented AppTestMigrator for Android mobile apps and evaluated it on a set of randomly selected apps from the Google play store in four different categories. our initial results are promising, support our intuition that test migration is possible, and motivate further research in this direction.

References

[1]
Android Open Source Project, "AdapterView," 2019, https://developer.android.com/reference/android/widget/AdapterView.
[2]
Android Open Source Project, "Communicate with the UI thread," 2019, https://developer.android.com/training/multiple-threads/communicate-ui.
[3]
Android Open Source Project, "Espresso," 2019, https://developer.android.com/training/testing/espresso/.
[4]
F. Behrang and A. Orso, "Automated Test Migration for Mobile Apps," in Proceedings of the 40th International Conference on Software Engineering: Companion Proceeedings, ser. ICSE '18. New York, NY, USA: ACM, 2018, pp. 384--385.
[5]
F. Behrang, "Test Migration for Efficient Large-scale Assessment of Mobile App Coding Assignments," in Proceedings of the 27th ACM SIGSOFT International Symposium on Software Testing and Analysis, ser. ISSTA '18. New York, NY, USA: ACM, 2018, pp. 164--175.
[6]
F. Behrang, "App Test Migrator," 2019, https://sites.google.com/view/apptestmigrator/.
[7]
S. R. Choudhary, D. Zhao, H. Versee, and A. Orso, "WATER: Web Application TEst Repair," in Proceedings of the First International Workshop on End-to-End Test Script Engineering, ser. ETSE '11. New York, NY, USA: ACM, 2011, pp. 24--29.
[8]
B. Daniel, Q. Luo, M. Mirzaaghaei, D. Dig, D. Marinov, and M. Pezzè, "Automated GUI Refactoring and Test Script Repair," in Proceedings of the First International Workshop on End-to-End Test Script Engineering, ser. ETSE '11. New York, NY, USA: ACM, 2011, pp. 38--41.
[9]
M. Ermuth and M. Pradel, "Monkey See, Monkey Do: Effective Generation of GUI Tests with Inferred Macro Events," in Proceedings of the 25th International Symposium on Software Testing and Analysis, ser. ISSTA '16. New York, NY, USA: ACM, 2016, pp. 82--93.
[10]
M. Fazzini, E. N. D. A. Freitas, S. R. Choudhary, and A. Orso, "Barista: A Technique for Recording, Encoding, and Running Platform Independent Android Tests," in Proceedings of the IEEE International Conference on Software Testing, Verification and Validation, ser. ICST '17. New York, NY, USA: IEEE, 2017, pp. 149--160.
[11]
C. Fu, M. Grechanik, and Q. Xie, "Inferring Types of References to GUI Objects in Test Scripts," in Proceedings of the International Conference on Software Testing Verification and Validation, ser. ICST '13. New York, NY, USA: IEEE, 2009, pp. 1--10.
[12]
M. Grechanik, Q. Xie, and C. Fu, "Maintaining and Evolving GUI-directed Test Scripts," in Proceedings of the 31st International Conference on Software Engineering, ser. ICSE '09. Washington, DC, USA: IEEE Computer Society, 2009, pp. 408--418.
[13]
G. Hu, L. Zhu, and J. Yang, "Appflow: Using Machine Learning to Synthesize Robust, Reusable UI Tests," in Proceedings of the 26th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering, ser. ESEC/FSE '18. New York, NY, USA: ACM, 2018, pp. 269--282.
[14]
S. Huang, M. B. Cohen, and A. M. Memon, "Repairing GUI Test Suites Using a Genetic Algorithm," in Proceedings of the International Conference on Software Testing, Verification and Validation, ser. ICST '10. Washington, DC, USA: IEEE Computer Society, 2010, pp. 245--254.
[15]
P. Li and E. Wohlstadter, "View-based Maintenance of Graphical User Interfaces," in Proceedings of the 7th International Conference on Aspect-oriented Software Development, ser. AOSD '08. New York, NY, USA: ACM, 2008, pp. 156--167.
[16]
X. Li, N. Chang, Y. Wang, H. Huang, Y. Pei, L. Wang, and X. Li, "ATOM: Automatic Maintenance of GUI Test Scripts for Evolving Mobile Applications," in Proceedings of the IEEE International Conference on Software Testing, Verification and Validation, ser. ICST '10. New York, NY, USA: IEEE, March 2017, pp. 161--171.
[17]
J.-W. Lin, R. Jabbarvand, and S. Malek, "Test Transfer Across Mobile Apps Through Semantic Mapping," in Proceedings of the 34th ACM/IEEE International Conference on Automated Software Engineering, ser. ASE '19. New York, NY, USA: ACM, 2019, p. To appear.
[18]
A. D. Lucia, R. Francese, G. Scanniello, G. Tortora, and N. Vitiello, "A Strategy and an Eclipse Based Environment for the Migration of Legacy Systems to Multi-tier Web-based Architectures," in Proceedings of the 22nd IEEE International Conference on Software Maintenance, ser. ICSME '06. New York, NY, USA: IEEE, 2006, pp. 438--447.
[19]
C. D. Manning, M. Surdeanu, J. Bauer, J. Finkel, S. J. Bethard, and D. McClosky, "The Stanford CoreNLP natural language processing toolkit," in Association for Computational Linguistics (ACL) System Demonstrations, 2014, pp. 55--60.
[20]
K. Mao, M. Harman, and Y. Jia, "Crowd Intelligence Enhances Automated Mobile Testing," in Proceedings of the 32nd IEEE/ACM International Conference on Automated Software Engineering, ser. ASE '17. New York, NY, USA: ACM, 2017, pp. 16--26.
[21]
L. Mariani, M. Pezzè, and D. Zuddas, "Augusto: Exploiting Popular Functionalities for the Generation of Semantic GUI Tests with Oracles," in Proceedings of the 40th International Conference on Software Engineering, ser. ICSE '18. New York, NY, USA: ACM, 2018, pp. 280--290.
[22]
A. M. Memon, "Automatically Repairing Event Sequence-based GUI Test Suites for Regression Testing," ACM Trans. Softw. Eng. Methodol., vol. 18, no. 2, pp. 1--36, Nov. 2008.
[23]
A. M. Memon and M. L. Soffa, "Regression Testing of GUIs," SIGSOFT Softw. Eng. Notes, vol. 28, no. 5, pp. 118--127, Sep. 2003.
[24]
T. Mikolov, K. Chen, G. Corrado, and J. Dean, "Efficient Estimation of Word Representations in Vector Space," CoRR, vol. abs/1301.3781, pp. 1--10, 2013.
[25]
G. A. Miller, "Wordnet: A Lexical Database for English," Commun. ACM, vol. 38, no. 11, pp. 39--41, Nov. 1995.
[26]
Neo4j, Inc., "Neo4j," 2019, https://neo4j.com.
[27]
X. Qin, H. Zhong, and X. Wang, "TestMig: Migrating GUI Test Cases from iOS to Android," in Proceedings of the 28th ACM SIGSOFT International Symposium on Software Testing and Analysis, ser. ISSTA 2019. New York, NY, USA: ACM, 2019, pp. 284--295.
[28]
A. Rau, J. Hotzkow, and A. Zeller, "Efficient GUI Test Generation by Learning from Tests of Other Apps," in Proceedings of the 40th International Conference on Software Engineering: Companion Proceeedings, ser. ICSE '18. New York, NY, USA: ACM, 2018, pp. 370--371.
[29]
A. Rau, "Transferring Tests Across Web Applications," in Web Engineering, T. Mikkonen, R. Klamma, and J. Hernández, Eds. Cham: Springer International Publishing, 2018, pp. 50--64.
[30]
R. Rehůřek and P. Sojka, "Software Framework for Topic Modelling with Large Corpora," in Proceedings of the LREC 2010 Workshop on New Challenges for NLP Frameworks. Valletta, Malta: ELRA, 2010, pp. 45--50.
[31]
E. S. Ristad and P. N. Yianilos, "Learning String-Edit Distance," IEEE Trans. Pattern Anal. Mach. Intell., vol. 20, no. 5, pp. 522--532, May 1998.
[32]
S. Staiger, "Static Analysis of Programs with Graphical User Interface," in Proceedings of the 11th European Conference on Software Maintenance and Reengineering, ser. CSMR '07. New York, NY, USA: IEEE, 2007, pp. 252--264.
[33]
S. Yang, H. Zhang, H. Wu, Y. Wang, D. Yan, and A. Rountev, "Static Window Transition Graphs for Android," in Proceedings of the 30th IEEE/ACM International Conference on Automated Software Engineering, ser. ASE '15. New York: IEEE, 2015, pp. 658--668.
[34]
S. Zhang, H. Lü, and M. D. Ernst, "Automatically Repairing Broken Workflows for Evolving GUI Applications," in Proceedings of the International Symposium on Software Testing and Analysis, ser. ISSTA '13. New York, NY, USA: ACM, 2013, pp. 45--55.

Cited By

View all
  • (2024)Synthesis-Based Enhancement for GUI Test Case MigrationProceedings of the 33rd ACM SIGSOFT International Symposium on Software Testing and Analysis10.1145/3650212.3680327(869-881)Online publication date: 11-Sep-2024
  • (2024)Automatically Detecting Reflow Accessibility Issues in Responsive Web PagesProceedings of the IEEE/ACM 46th International Conference on Software Engineering10.1145/3597503.3639229(1-13)Online publication date: 20-May-2024
  • (2024)MUT: Human-in-the-Loop Unit Test MigrationProceedings of the IEEE/ACM 46th International Conference on Software Engineering10.1145/3597503.3639124(1-12)Online publication date: 20-May-2024
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
ASE '19: Proceedings of the 34th IEEE/ACM International Conference on Automated Software Engineering
November 2019
1333 pages
ISBN:9781728125084

Sponsors

In-Cooperation

  • IEEE CS

Publisher

IEEE Press

Publication History

Published: 07 February 2020

Check for updates

Author Tags

  1. gui testing
  2. mobile apps
  3. test migration

Qualifiers

  • Research-article

Conference

ASE '19
Sponsor:

Acceptance Rates

Overall Acceptance Rate 82 of 337 submissions, 24%

Upcoming Conference

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)28
  • Downloads (Last 6 weeks)0
Reflects downloads up to 28 Sep 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Synthesis-Based Enhancement for GUI Test Case MigrationProceedings of the 33rd ACM SIGSOFT International Symposium on Software Testing and Analysis10.1145/3650212.3680327(869-881)Online publication date: 11-Sep-2024
  • (2024)Automatically Detecting Reflow Accessibility Issues in Responsive Web PagesProceedings of the IEEE/ACM 46th International Conference on Software Engineering10.1145/3597503.3639229(1-13)Online publication date: 20-May-2024
  • (2024)MUT: Human-in-the-Loop Unit Test MigrationProceedings of the IEEE/ACM 46th International Conference on Software Engineering10.1145/3597503.3639124(1-12)Online publication date: 20-May-2024
  • (2024)Comprehensive Semantic Repair of Obsolete GUI Test Scripts for Mobile ApplicationsProceedings of the IEEE/ACM 46th International Conference on Software Engineering10.1145/3597503.3639108(1-13)Online publication date: 20-May-2024
  • (2023)Property-Based Fuzzing for Finding Data Manipulation Errors in Android AppsProceedings of the 31st ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering10.1145/3611643.3616286(1088-1100)Online publication date: 30-Nov-2023
  • (2023)An Empirical Study of Functional Bugs in Android AppsProceedings of the 32nd ACM SIGSOFT International Symposium on Software Testing and Analysis10.1145/3597926.3598138(1319-1331)Online publication date: 12-Jul-2023
  • (2023)DeUEDroid: Detecting Underground Economy Apps Based on UTG SimilarityProceedings of the 32nd ACM SIGSOFT International Symposium on Software Testing and Analysis10.1145/3597926.3598051(223-235)Online publication date: 12-Jul-2023
  • (2023)Vision-Based Widget Mapping for Test Migration across Mobile Platforms: Are We There Yet?Proceedings of the 38th IEEE/ACM International Conference on Automated Software Engineering10.1109/ASE56229.2023.00068(1416-1428)Online publication date: 11-Nov-2023
  • (2022)PredART: Towards Automatic Oracle Prediction of Object Placements in Augmented Reality TestingProceedings of the 37th IEEE/ACM International Conference on Automated Software Engineering10.1145/3551349.3561160(1-13)Online publication date: 10-Oct-2022
  • (2022)Detecting non-crashing functional bugs in Android apps via deep-state differential analysisProceedings of the 30th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering10.1145/3540250.3549170(434-446)Online publication date: 7-Nov-2022
  • Show More Cited By

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media