💪 Shape up 💪
your testing strategy

Balancing Unit, Integration and E2E Tests
Antonello D'Ippolito - Test Automation Days 2025

What's an automated test suite?

Collection of test cases and scenarios...

...to verify the correctness of a software system

Lots of design choices to be made!

🔺 🔵 🔶 🟩


🇮🇹 CIAO! 🤌

Antonello D'Ippolito

Engineering manager @ Mollie 🇳🇱

@antodippo

Why test?

You are testing if and only if you are increasing confidence for stakeholders through evidence

from Dan North - We need to talk about testing

Someone always tests:
you, your system or your users

Pulse check

In a fast iterative process (CI/CD)
you want the loop to be as fast as possible

🏃‍ 💨️

40 Good test suite 6 Stable 8 Fast 6 Trustable 5 Informative

Design your test suite with the same care
as you would your production code

12 TEST TYPES 8 Unit 8 Integration 8 E2E 8 Functional 6 Integrated 8 Component 8 Acceptance 8 System 6 Small 6 Medium 6 Large 6 Contract 6 Regression 3 Smoke 3 Sanity 3 Performance 3 Load 6 Narrow 6 Broad

Identifying tests by size:

→ Small: runs in 1 process

→ Medium: runs in 1 machine

→ Large: runs on multiple machines

Identifying tests by scope:

→ Narrow: small part of the system (class, method)

→ Medium: interaction between small number of components (web server and db)

→ Large: interaction between several distinct parts of the system

Narrow tests can drive the design of your code!

Let's talk about shapes!

Let's talk about shapes?

Wait, what is an integration test again?

Can contract tests be considered
integration tests?

How do we define unit?

Let's focus less on shapes, more on principles

How do we start a conversation about the value our testsuite provides?

from Bas Dijkstra - The test automation quadrant
from Bas Dijkstra - The test automation quadrant

Design your test suite with the same care
as you would your production code

Everyone needs fast feedback loops to enable code to quickly being deploy to production

The competitive advantage this capability creates is enormous
Every feature is a gamble

Testability = Maintenability

→ AGILITY
→ PRODUCT SUCCESS
→ PROFIT!

Dankjewel!

@antodippo | antodippo.com