Ryan Brooks

Android Lead @ Emerge Tools

Talk Title

Creating & Scaling Meaningful Performance Tests in CI






11:30 > 40 min


on Twitter

Performance testing is easier and more important than ever, especially with the recent emergence of Macro/Microbenchmark and other libraries/tools. While these methods provide a great way to catch regressions before they make it into production, determining what to test, how to create good tests to catch that “what”, and orchestrating tests at scale in CI introduces many new challenges to the mix.

I plan to give an intermediate-level talk about how to solve those new challenges when performance testing in CI.

I plan for audience members to leave my talk learning:

- What mobile performance metrics are worthy of being tested on mobile in CI vs what’s best suited for using production data.
- What makes for a truly useful performance test. (controllable, user-impacting, reproducible, i.e. doesn't deal with network/IO latency, focuses on rendering performance and on-device functionality)
- How to build those truly useful tests to benchmark the mobile-specific metrics we determined we wanted to measure (leveraging Macrobenchmark/UiAutomator).
- How to combine all the previous points to orchestrate consistent and accurate tests on both emulators and real, physical devices in CI.

Speaker Bio

Ryan is the Android Lead at Emerge Tools, working on building the platform to solve all mobile performance needs.

At Emerge, Ryan has built Emerge’s app performance tools from the ground up, including app size analysis & diffing, performance testing & diffing on real, physical devices, as well as dead code detection and now exploring more binary optimization tactics.

Prior to Emerge, Ryan was the Android Tech Lead on Airbnb’s Ghost Platform team, creating a powerful SDUI system that allowed on-the-fly configuration of any screen in the app.