Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/3301293.3302363acmconferencesArticle/Chapter ViewAbstractPublication PageshotmobileConference Proceedingsconference-collections
research-article

Paladin: Automated Generation of Reproducible Test Cases for Android Apps

Published: 22 February 2019 Publication History

Abstract

Automated-test-generation tools generate test cases to enable dynamic analysis of Android apps, such as functional testing. These tools build a GUI model to describe the app states during the app execution, and generate a script that performs actions on UI widgets to form a test case. However, when the test cases are re-executed, the apps under analysis often do not behave consistently. The major reasons for such limited reproducibility are due to (1) backend-service dependencies that cause non-determinism in app behaviors and (2) the severe fragmentation of Android platform (i.e., the alarming number of different Android OS versions in vendor-customized devices). To address these challenges, we design and implement Paladin, a novel system that generates reproducible test cases for Android apps. The key insight of Paladin is to provide a GUI model that leverages the structure of the GUI view tree to identify equivalent app states, since the structure can tolerate the changes on the UI contents for an app behavior performed in different test executions. Based on the model, Paladin can search the view tree to locate the desired UI widgets to trigger events and drive the app exploration to reach the desired app states, making the test cases reproducible. Evaluation results on real apps show that Paladin could reach a much higher reproduction ratio than the state-of-the-art tools when the generated test cases are re-executed across different device configurations. In addition, benefiting from the reproducible capability, Paladin is able to cover more app behaviors compared with the existing tools.

References

[1]
2018. Application Exerciser Monkey. https://developer.android.com/studio/test/ monkey.html.
[2]
2018. Culebra. https://github.com/dtmilano/AndroidViewClient/wiki/culebra.
[3]
2018. EMMA code coverage. https://sourceforge.net/projects/emma/.
[4]
2018. Monkeyrunner. https://developer.android.com/studio/test/monkeyrunner/ index.html.
[5]
2018. UI Automator. https://developer.android.com/training/testing/ ui-automator.
[6]
Shauvik Roy Choudhary, Alessandra Gorla, and Alessandro Orso. 2015. Automated Test Input Generation for Android: Are We There Yet?. In Proc. of ASE 2015. 429--440.
[7]
Shuai Hao, Bin Liu, Suman Nath, William G. J Halfond, and Ramesh Govindan. 2014. PUMA: programmable UI-automation for large-scale dynamic analysis of mobile apps. In Proc. of MobiSys 2014. 204--217.
[8]
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 Proc. of ESEC/FSE 2017. 245--256.
[9]
Mario Linares Vásquez, Kevin Moran, and Denys Poshyvanyk. 2017. Continuous, Evolutionary and Large-Scale: A New Perspective for Automated Mobile App Testing. In Proc. of ICSME 2017. 399--410.
[10]
Lili Wei, Yepang Liu, and Shing-Chi Cheung. 2016. Taming Android fragmentation: characterizing and detecting compatibility issues for Android apps. In Proc. of ASE 2016. 226--237.
[11]
Zuwei Yin, ChenshuWu, Zheng Yang, and Yunhao Liu. 2017. Peer-to-Peer Indoor Navigation Using Smartphones. IEEE Journal on Selected Areas in Communications 35, 5 (2017), 1141--1153.

Cited By

View all
  • (2023)AG3: Automated Game GUI Text Glitch Detection Based on Computer VisionProceedings of the 31st ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering10.1145/3611643.3613867(1879-1890)Online publication date: 30-Nov-2023
  • (2023)EFSM Model-Based Testing for Android ApplicationsInternational Journal of Software Engineering and Knowledge Engineering10.1142/S021819402350063834:04(597-621)Online publication date: 20-Dec-2023
  • (2023)VT-Scanner: Layout Similarity on Smartphone and Its Application for Robust Scene Recognition2023 International Conference on Wireless Communications and Signal Processing (WCSP)10.1109/WCSP58612.2023.10404697(413-419)Online publication date: 2-Nov-2023
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
HotMobile '19: Proceedings of the 20th International Workshop on Mobile Computing Systems and Applications
February 2019
200 pages
ISBN:9781450362733
DOI:10.1145/3301293
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]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 22 February 2019

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. android app
  2. automated test generation
  3. reproducible

Qualifiers

  • Research-article

Funding Sources

  • National Natural Science Foundation of China
  • National Key R&D Program of China
  • China Postdoctoral Science Foundation
  • Beijing Municipal Science and Technology Project

Conference

HotMobile '19
Sponsor:

Acceptance Rates

Overall Acceptance Rate 96 of 345 submissions, 28%

Upcoming Conference

HOTMOBILE '25

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)35
  • Downloads (Last 6 weeks)0
Reflects downloads up to 30 Aug 2024

Other Metrics

Citations

Cited By

View all
  • (2023)AG3: Automated Game GUI Text Glitch Detection Based on Computer VisionProceedings of the 31st ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering10.1145/3611643.3613867(1879-1890)Online publication date: 30-Nov-2023
  • (2023)EFSM Model-Based Testing for Android ApplicationsInternational Journal of Software Engineering and Knowledge Engineering10.1142/S021819402350063834:04(597-621)Online publication date: 20-Dec-2023
  • (2023)VT-Scanner: Layout Similarity on Smartphone and Its Application for Robust Scene Recognition2023 International Conference on Wireless Communications and Signal Processing (WCSP)10.1109/WCSP58612.2023.10404697(413-419)Online publication date: 2-Nov-2023
  • (2023)Ex pede Herculem: Augmenting Activity Transition Graph for Apps via Graph Convolution Network2023 IEEE/ACM 45th International Conference on Software Engineering (ICSE)10.1109/ICSE48619.2023.00168(1983-1995)Online publication date: May-2023
  • (2022)ProMalProceedings of the 44th International Conference on Software Engineering10.1145/3510003.3510037(1755-1767)Online publication date: 21-May-2022
  • (2022)Nighthawk: Fully Automated Localizing UI Display Issues via Visual UnderstandingIEEE Transactions on Software Engineering10.1109/TSE.2022.3150876(1-1)Online publication date: 2022
  • (2022)Emulating Your eXtended World: An Emulation Environment for XR App Development2022 IEEE 19th International Conference on Mobile Ad Hoc and Smart Systems (MASS)10.1109/MASS56207.2022.00025(131-139)Online publication date: Oct-2022
  • (2021)Generating Test Cases from Requirements: A Case Study in Railway Control System Domain2021 International Symposium on Theoretical Aspects of Software Engineering (TASE)10.1109/TASE52547.2021.00029(183-190)Online publication date: Aug-2021
  • (2021)ProMal: Precise Window Transition Graphs for Android via Synergy of Program Analysis and Machine Learning2021 IEEE/ACM 43rd International Conference on Software Engineering: Companion Proceedings (ICSE-Companion)10.1109/ICSE-Companion52605.2021.00061(144-146)Online publication date: May-2021
  • (2021)AppJitsu: Investigating the Resiliency of Android Applications2021 IEEE European Symposium on Security and Privacy (EuroS&P)10.1109/EuroSP51992.2021.00038(457-471)Online publication date: Sep-2021
  • 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

ePub

View this article in ePub.

ePub

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media