Track Talk, W2

Component Testing: Attaining Stability and Coverage

Jome Maria Princil

11:15 - 11:45 CEST, Wednesday 17th June

“Your test is failing and blocking the deploy to production! Yet again!”

These were words I constantly kept on hearing as QA Engineer in my team at Funda Real Estate B.V. We’d moved over the end to end tests to the CI/CD pipeline, so that we’d get “maximum test coverage and full confidence” while going to production.

However, things didn’t go according to plan. Random tests kept failing, even if they were not related to the feature being deployed. The tests are brittle, said the developers. The application is slow, said the QA engineers. This led to friction in the teams and our dreams to “Go fast and safely to production” were constantly dashed.

So, we took a deep breath and a step back. It wasn’t just that the tests were brittle or our testing tool was insufficient. It was also that our architecture was tightly coupled and our tests ran for all features during the deploy. We rethought our architecture model and decided to adopt Domain Driven Design, calling our initiative “LightHouse”, signifying our ideal, over the horizon end goal.

On remodeling our architecture to fit our structure, we then tweaked our tests to fit into our ambitions to go fast and safely to production. This led us to adopt the often overlooked but extremely powerful layer of the testing pyramid – the Component Tests. Component Tests have largely replaced our end to end tests in our CI/CD pipelines, delivering us the stability of a unit test but the coverage of an end to end test.

This talk takes you through our journey towards rediscovering Component Tests, how Domain Driven Design helped us go safely and faster to production, and how our QA engineers and developers benefitted from this redesign.

You will learn what a component means in the world of web application testing, how to create component tests for Frond End and Back End. You will also learn the best practices and caveats for creating effective Component Tests.

Join me for an engaging talk though our journey towards more effective test design and architecture!