💪 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
Software engineer @ Mollie 🇳🇱
@antodippo
Someone always tests:
you, your system or your users
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 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!
Wait, what is an integration test again?
Can contract tests be considered
integration tests?
Let's focus less on shapes, more on principles
How do we start a conversation about the value our testsuite provides?
Design your test suite with the same care
as your production code
Testability = Maintenability
→ AGILITY
→ PRODUCT SUCCESS
→ PROFIT!