Enhancing Android App GUI Exploration Coverage Using Deep Link-Integrated Monkey Testing
Alapfogalmak
Delm, a deep link-enhanced GUI testing tool, can significantly improve activity coverage, method coverage, and crash detection for Android apps compared to state-of-the-art baselines.
Kivonat
The paper presents Delm, a deep link-enhanced GUI testing tool for Android apps. The key insights are:
-
Delm utilizes Android's deep links to trigger intents and lead the testing tool to specific app pages, addressing the challenge of low code coverage faced by existing GUI testing tools.
-
Delm performs a rigorous activity context mock-up approach to trigger existing Android intents and discover more activities with hidden entrances, avoiding false positive crashes.
-
Delm incorporates a guided exploration algorithm to oversee the dynamic exploration process, guiding the tool out of meaningless testing loops to unexplored GUI pages.
-
Experiments on real-world Android apps show that Delm outperforms state-of-the-art baselines, achieving 27.2% activity coverage, 21.13% method coverage, and 23.81% crash detection.
Összefoglaló testreszabása
Átírás mesterséges intelligenciával
Forrás fordítása
Egy másik nyelvre
Gondolattérkép létrehozása
a forrásanyagból
Forrás megtekintése
arxiv.org
Enhancing GUI Exploration Coverage of Android Apps with Deep Link-Integrated Monkey
Statisztikák
Delm achieves 27.2% activity coverage, outperforming the best baseline by 41.37%.
Delm covers 21.13% methods in the app, outperforming the best baseline by 11.39%.
Delm detects 78 identified crashes, demonstrating a 23.81% improvement over the best baseline.
Idézetek
"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."
Mélyebb kérdések
How can Delm's guided exploration algorithm be further improved to handle more complex app navigation patterns?
Delm's guided exploration algorithm can be enhanced to handle more complex app navigation patterns by incorporating machine learning techniques. By training the algorithm on a diverse set of app navigation scenarios, it can learn to adapt and navigate through intricate app structures more effectively. Additionally, introducing heuristics based on user behavior patterns can help the algorithm anticipate potential navigation paths and make informed decisions on which activities to explore next. Furthermore, integrating dynamic context-awareness capabilities can enable Delm to adjust its exploration strategy based on real-time feedback from the app, allowing for more adaptive and efficient navigation through complex app structures.
What are the potential limitations of the deep link-based approach, and how can they be addressed to ensure comprehensive testing coverage?
One potential limitation of the deep link-based approach is the reliance on predefined deep links in the app's manifest file, which may not cover all possible navigation paths within the app. To address this limitation, developers can implement a dynamic deep link generation mechanism that automatically creates deep links for all activities in the app during runtime. This dynamic approach ensures that all activities are accessible via deep links, enhancing the coverage of the testing process. Additionally, incorporating a feedback loop mechanism that continuously updates and refines the deep links based on the exploration results can help ensure comprehensive testing coverage.
How can the activity context mock-up process be extended to handle a wider range of Android app features and interactions?
To extend the activity context mock-up process to handle a wider range of Android app features and interactions, developers can implement a more robust context analysis algorithm that can identify and mock up various types of activity contexts beyond just ICC messages. This can include device configuration contexts, global data contexts, and more complex object and bundle type extra parameters. Additionally, integrating natural language processing techniques can help extract context information from app descriptions, user reviews, and other textual sources to enhance the context mock-up process. Furthermore, incorporating automated testing tools that can simulate real user interactions and generate context data dynamically can further expand the capabilities of the activity context mock-up process.