Table of Contents
Fetching ...

Enhancing GUI Exploration Coverage of Android Apps with Deep Link-Integrated Monkey

Han Hu, Han Wang, Ruiqi Dong, Xiao Chen, Chunyang Chen

TL;DR

This work tackles the persistent challenge of low GUI testing coverage in Android apps, caused by loops and hard-to-reach activities. It introduces Delm, a Deep Link-enhanced Monkey that couples static context mock-ups with dynamic ATG-guided exploration and deep-link binding to directly reach hidden activities. Through rigorous benchmarks (IntentBench, IndustrialApps, Themis) and real-world app datasets, Delm significantly improves activity coverage, method coverage, and crash detection over multiple baselines, while maintaining low false positives. The approach preserves Android contexts (ICC messages, device config, activity stack, global data) and uses deep links to trigger external entry points, achieving better coverage on complex apps and offering practical insights for robust Android GUI testing. The authors also provide open-source tooling and extensive ablation studies demonstrating the value of each component and discuss limitations and avenues for future improvement.

Abstract

Mobile apps are ubiquitous in our daily lives for supporting different tasks such as reading and chatting. Despite the availability of many GUI testing tools, app testers still struggle with low testing code coverage due to tools frequently getting stuck in loops or overlooking activities with concealed entries. This results in a significant amount of testing time being spent on redundant and repetitive exploration of a few GUI pages. To address this, we utilize Android's deep links, which assist in triggering Android intents to lead users to specific pages and introduce a deep link-enhanced exploration method. This approach, integrated into the testing tool Monkey, gives rise to Delm (Deep Link-enhanced Monkey). Delm oversees the dynamic exploration process, guiding the tool out of meaningless testing loops to unexplored GUI pages. We provide a rigorous activity context mock-up approach for triggering existing Android intents to discover more activities with hidden entrances. We conduct experiments to evaluate Delm's effectiveness on activity context mock-up, activity coverage, method coverage, and crash detection. The findings reveal that Delm can mock up more complex activity contexts and significantly outperform state-of-the-art baselines with 27.2\% activity coverage, 21.13\% method coverage, and 23.81\% crash detection.

Enhancing GUI Exploration Coverage of Android Apps with Deep Link-Integrated Monkey

TL;DR

This work tackles the persistent challenge of low GUI testing coverage in Android apps, caused by loops and hard-to-reach activities. It introduces Delm, a Deep Link-enhanced Monkey that couples static context mock-ups with dynamic ATG-guided exploration and deep-link binding to directly reach hidden activities. Through rigorous benchmarks (IntentBench, IndustrialApps, Themis) and real-world app datasets, Delm significantly improves activity coverage, method coverage, and crash detection over multiple baselines, while maintaining low false positives. The approach preserves Android contexts (ICC messages, device config, activity stack, global data) and uses deep links to trigger external entry points, achieving better coverage on complex apps and offering practical insights for robust Android GUI testing. The authors also provide open-source tooling and extensive ablation studies demonstrating the value of each component and discuss limitations and avenues for future improvement.

Abstract

Mobile apps are ubiquitous in our daily lives for supporting different tasks such as reading and chatting. Despite the availability of many GUI testing tools, app testers still struggle with low testing code coverage due to tools frequently getting stuck in loops or overlooking activities with concealed entries. This results in a significant amount of testing time being spent on redundant and repetitive exploration of a few GUI pages. To address this, we utilize Android's deep links, which assist in triggering Android intents to lead users to specific pages and introduce a deep link-enhanced exploration method. This approach, integrated into the testing tool Monkey, gives rise to Delm (Deep Link-enhanced Monkey). Delm oversees the dynamic exploration process, guiding the tool out of meaningless testing loops to unexplored GUI pages. We provide a rigorous activity context mock-up approach for triggering existing Android intents to discover more activities with hidden entrances. We conduct experiments to evaluate Delm's effectiveness on activity context mock-up, activity coverage, method coverage, and crash detection. The findings reveal that Delm can mock up more complex activity contexts and significantly outperform state-of-the-art baselines with 27.2\% activity coverage, 21.13\% method coverage, and 23.81\% crash detection.
Paper Structure (43 sections, 8 figures, 5 tables, 2 algorithms)

This paper contains 43 sections, 8 figures, 5 tables, 2 algorithms.

Figures (8)

  • Figure 1: A partial GUI transition graph of the app 'Lose Weight App for Men'. Existing tools always fall into loops between common GUI pages, making it hard to visit some activities with hidden entrances like VoiceActivity and some deep stack activities like MyTrainingActionIntroActivity, resulting in low code coverage.
  • Figure 2: The workflow of Delm
  • Figure 3: The pipeline of ICC message context checking and mock-ups
  • Figure 4: An example of deep link and extracted intent context information in MainActivity of app 'EZ File Explorer'.
  • Figure 5: An example of how Delm extracts existing deep links ① and ② and binds new deep link ③ in the Manifest file
  • ...and 3 more figures