Effie_Barak.jpg

Rock-Solid UI and Instrumentation Testing

Sinan Kozak

Lead Android Developer

ImmoScout24

We Android developers use the "flakiness" word more than the "stability" word while talking about Espresso and Instrumentation tests. We cannot truly trust flaky tests. Instrumentation testing will continue to be part of our lives even with Jetpack Compose therefore, we need stability.

Running all UI tests before merging any code is possible, and it saves us a lot with 400+ integration tests. Unfortunately, stability is not something that comes out of the box. A certain level of architecture, proper thread usage, and test setup with helper rules are required. There is an uncountable number of things that affect UI tests.

Good thing, there are explanations and solutions for most of the flakiness. In this talk, you will learn more about best practices to increase test stability, how to utilise Test-Driven Development with UI testing, and how this will help you find bugs earlier.

Sinan is a Lead Android Engineer at ImmoScout24, a leading real estate marketplace in Germany. He has been working with Android since 2011 and has 10 years of professional experience with software development. He is passionate about Kotlin and loves to contribute open-source.