Skip to Main Content
Talk Intermediate

Building a Bulletproof UI Testing Infrastructure for Andoird

Proposal status is Rejected
Session Description

Testing your application before releasing it isn’t just a best practice, it’s a survival strategy. But let’s be honest manually testing the same flows again and again isn’t just boring, it’s unreliable.

Let’s consider some real scenarios:

  • You added Feature X and pushed it to production, only to realise it broke an entirely different part of your app.

  • You fixed a bug, but suddenly a completely unrelated flow started behaving weirdly.

  • Everything works perfectly on the Emulator… but crashes immediately on a real device.

Sound familiar?

These are just some of the pitfalls that can happen when your app isn't thoroughly tested. The solution? A robust UI automation setup with well-defined test suites like Smoke and Regression that run automatically and verify your app with each change.

But the problem doesn’t end there.

  • Some checks need to happen with every change even something as small as updating text from “A” to “B”.

  • Others, like navigation flows, need to be verified before every release.

By now, we’ve all felt the pain of skipping UI testing or doing it manually. But can we do it better?

Yes, This talk explores how to build a full-fledged UI Testing Infrastructure for Android that takes care of these problems for you, so you can focus on shipping features with confidence. We'll cover everything from:

  • Building Android-specific testing frameworks - UIAutomator, ComposeTest

  • Tweaking Android internals to fit your needs - Custom Runners in Android

  • Setting up CI pipelines that run your test suites automatically - Jenkins

  • Using Device Farms for real-device validation - Appium Device Farm

  • Crafting the perfect test reports for quick debugging - Allure Reports

We’ll also dive into screenshot-based UI testing, comparing layouts pixel-by-pixel and show how you can integrate this into your testing pipeline.

  • Capturing Full Screen or Component Based Screenshots

  • Leveraging Open Source projects to compare base images with test images

If you're maintaining an Android application and want to ensure it’s fail-proof before it reaches your users, this session will give you the blueprint for making that happen.

References

Session Categories

Tutorial about using a FOSS project

Which track are you applying for?

Main track

Speakers

Nanthakumaran S
Nanthakumaran S Software Engineer | Presidio

I'm a Software Engineer at Presidio with a passion for learning and sharing knowledge about cutting-edge technologies. I frequently speak about Apache Kafka, distributed systems, and software development best practices.

I'm a two-time AWS-certified professional, holding both the Solutions Architect Associate and Developer Associate certifications. I've also developed and published Flutter packages, contributing to the open-source community.

My journey in tech is driven by constant curiosity and a desire to tackle complex challenges. Whether it's Kafka, resilient distributed systems, or crafting efficient software solutions, I'm always eager to dive deep and explore new possibilities.