Shrinkdroid: A Property-Based Testing Tool for Android Applications using Dynamic Element Detection and Test Case Minimisation
Hämtar...
Ladda ner
Publicerad
Författare
Typ
Examensarbete för masterexamen
Master's Thesis
Master's Thesis
Modellbyggare
Tidskriftstitel
ISSN
Volymtitel
Utgivare
Sammanfattning
This thesis presents Shrinkdroid, a property-based testing tool for automated GUI
testing of Android applications. Existing Android GUI testing approaches typically
depend on manually written test scripts tied to fixed UI element identifiers, making
them fragile to interface changes and limited in exploration coverage. Shrinkdroid
addresses these limitations by dynamically detecting UI elements at runtime, generating event sequences through weighted random and guided exploration strategies,
and validating application behaviour against a set of seven generalised GUI properties. When a property violation is detected, an integrated shrinking pipeline automatically reduces the failing event sequence to a smaller counterexample that still
reproduces the failure, improving debugging efficiency. Shrinkdroid is evaluated on
two industrial Android Automotive applications developed by CPAC Systems AB,
and on three open-source mobile applications from the Themis benchmark. Across
184 test runs, explored using both Random Weighted Exploration and Guided Ex
ploration, 26 property violations were detected, of which 17 were validated as real
bugs. Ten of these bugs were previously unreported. Shrinkdroid’s findings complemented those of the industrial partner’s existing testing practices with no overlap
in detected bugs, demonstrating its value as a complementary testing tool. Test
case minimisation through shrinking was completed in 14 out of 26 cases, achieving sequence reductions in 13 of these, while preserving the original property violation. Graph-based shortest-path reduction proved most efficient, completing in
under three minutes for deterministic traces, while greedy reduction of longer sequences could require several hours. These results demonstrate that property-based
testing with integrated shrinking can effectively detect and localise GUI bugs in
Android applications, even in dynamically changing interfaces, and across different
Android environments and device types.
Beskrivning
Ämne/nyckelord
Automated Testing, Property-Based Testing, GUI Testing, Android Ap plications, Test Case Minimisation, Shrinking
