Optimizing Testing for Server-Driven Mobile Development at Strava
Article Summary
Strava's Android team hit a wall: testing server-driven UI meant wrestling with Charles Proxy crashes, EOF errors, and 3-4 minute build times. An intern decided to fix it.
Xin Yi Chen, a UC Berkeley intern on Strava's Multisport team, built an internal testing tool to streamline development of their server-driven mobile architecture. The article walks through the problem, refactoring challenges, and solution that cut testing friction significantly.
Key Takeaways
- Server-driven UI uses reusable view modules (atoms) across different screens (molecules)
- Charles Proxy debugging was unreliable with connection failures and emulator incompatibility
- New mini app reduced build times from 3-4 minutes to 1-1.5 minutes
- Refactored module registration to support new Android module dependencies
- Shared JSON test files with iOS team via git submodule
Critical Insight
A standalone testing application eliminated flaky proxy tools and halved build times for UI testing in Strava's server-driven mobile architecture.