DroidWalker: Generating Reproducible Test Cases via Automatic Exploration of Android Apps

by   Ziniu Hu, et al.

Generating test cases through automatic app exploration is very useful for analyzing and testing Android apps. However, test cases generated by current app-exploration tools are not reproducible, i.e. when the generated test case is re-executed, the app cannot reach the same state as the explored one. As a result, app developers are not able to reproduce the failure or crash reported during the exploration, to conduct regression test after fixing the bug, or to execute the same test in different environments. In this paper, we present DroidWalker, a dynamic-analysis tool to generate reproducible test cases for Android apps. The key design of our tool is a dynamic-adaptive model that can abstract the app state in a proper granularity so every state in the model can be reached afterwards. Given an app under test, DroidWalker first explores the app to build the model. Then developers can select the state in the model to be reproduced. Finally, DroidWalker executes all the generated test cases and the app could reach exactly the same state as the explored one. We apply DroidWalker in three real usage scenarios to demonstrate its practical usage. The video of our tool is at https://youtu.be/ndUD8Gxs800.


An Evolutionary Approach to Adapt Tests Across Mobile Apps

Automatic generators of GUI tests often fail to generate semantically re...

Developer-Centric Test Amplification The Interplay Between Automatic Generation and Human Exploration

Automatically generating test cases for software has been an active rese...

Avgust: Automating Usage-Based Test Generation from Videos of App Executions

Writing and maintaining UI tests for mobile apps is a time-consuming and...

Mining Android App Usages for Generating Actionable GUI-based Execution Scenarios

GUI-based models extracted from Android app execution traces, events, or...

Unlucky Explorer: A Complete non-Overlapping Map Exploration

Nowadays, the field of Artificial Intelligence in Computer Games (AI in ...

A Benchmark of Data Loss Bugs for Android Apps

Android apps must be able to deal with both stop events, which require i...

Espresso vs. EyeAutomate: Comparison of Two Generations of Android GUI Testing

Context: Albeit different approaches exist for automated GUI testing of ...

Please sign up or login with your details

Forgot password? Click here to reset