Concurrency-related Flaky Test Detection in Android apps

05/21/2020
by   Zhen Dong, et al.
0

Validation of Android apps via testing is difficult owing to the presence of flaky tests. Due to non-deterministic execution environments, a sequence of events (a test) may lead to success or failure in unpredictable ways. In this work, we present an approach and tool FlakeShovel for detecting flaky tests through systematic exploration of event orders. Our key observation is that for a test in a mobile app, there is a testing framework thread which creates the test events, a main User-Interface (UI) thread processing these events, and there may be several other background threads running asynchronously. For any event e whose execution involves potential non-determinism, we localize the earliest (latest) event after (before) which e must happen.We then efficiently explore the schedules between the upper/lower bound events while grouping events within a single statement, to find whether the test outcome is flaky. We also create a suite of subject programs called DroidFlaker to study flaky tests in Android apps. Our experiments on subject-suite DroidFlaker demonstrate the efficacy of our flaky test detection. Our work is complementary to existing flaky test detection tools like Deflaker which check only failing tests. FlakeShovel can detect flaky tests among passing tests, as shown by our approach and experiments.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
10/12/2022

DinoDroid: Testing Android Apps Using Deep Q-Networks

The large demand of mobile devices creates significant concerns about th...
research
02/17/2023

Columbus: Android App Testing Through Systematic Callback Exploration

With the continuous rise in the popularity of Android mobile devices, au...
research
01/02/2023

Test Reuse Based on Adaptive Semantic Matching across Android Mobile Applications

Automatic test generation can help verify and develop the behavior of mo...
research
09/19/2022

Detecting and Fixing Data Loss Issues in Android Apps

Android apps are event-driven, and their execution is often interrupted ...
research
02/01/2019

AMOGA: A Static-Dynamic Model Generation Strategy for Mobile Apps Testing

In the past few years, mobile devices have been increasingly replacing t...
research
08/09/2018

Efficiently Manifesting Asynchronous Programming Errors in Android Apps

Android, the #1 mobile app framework, enforces the single-GUI-thread mod...
research
12/10/2022

Efficiency Matters: Speeding Up Automated Testing with GUI Rendering Inference

Due to the importance of Android app quality assurance, many automated G...

Please sign up or login with your details

Forgot password? Click here to reset