From monkey testing…

to automated GUI testing.

A technical briefing

Android GUI testing,

from research to practice.

Every approach trades something.

●

Record & replay

✓ Easy reproduction
– Coupled to screen locations
◇

Model-based testing

✓ Automatic exploration
– Incomplete models
▤

GUI rippers

✓ Depth- or breadth-first
– No history awareness
✳

Random & fuzz testing

✓ Good at finding crashes
– Invalid events
{}

Automation frameworks

✓ High-level syntax
– Expensive maintenance

Making it practical is hard.

ESSENTIAL CHALLENGES

Test oracles
Event coordination
External features
External dependencies

ACCIDENTAL CHALLENGES

App data & cold starts
Bugs in framework utilities
Limits of the SDK tools
Scaling virtual devices
adbNo more than 15 devices per adb server instance!
Technical Briefing

Automated GUI Testing of Android Apps: From Research to Practice

Kevin Moran · Mario Linares-Vásquez · Denys Poshyvanyk
ICSME 2016 · IEEE International Conference on Software Maintenance and Evolution