Jens Happe

Write tests you love, not hate

How can you refactor code without breaking all your tests? Learn to decouple tests from implementation by organizing them around use cases.

Write tests you love, not hate
#1about 9 minutes

Identifying the common pains of software testing

Traditional testing approaches often lead to excessive boilerplate code, fragile tests that break on refactoring, and slow execution times that disrupt developer flow.

#2about 5 minutes

Improving test readability with the given-when-then pattern

Structuring tests using the given-when-then pattern and explicit constants makes the setup, action, and verification steps clear and easy to follow.

#3about 8 minutes

Reducing boilerplate with entity builders and trainers

The entity builder pattern simplifies test data creation, while trainer classes encapsulate the configuration of mock objects to reduce repetitive setup code.

#4about 12 minutes

Decoupling tests from implementation details

Avoid fragile tests by testing broader use cases instead of individual classes, which allows for refactoring the implementation without breaking the tests.

#5about 4 minutes

How to speed up slow test execution

Isolate tests from slow external dependencies like databases and frameworks by using clean architecture principles to focus on testing core logic.

#6about 2 minutes

The evolution of testing practices at Chrono24

A look at how Chrono24 moved from minimal automated testing to a sophisticated system with thousands of fast, use-case-driven tests.

#7about 3 minutes

Summary of key principles for better testing

A recap of the core strategies for writing useful tests, including clear structure, simplified setup, decoupling from implementation, and isolating external dependencies.

#8about 12 minutes

Q&A on testing strategies and team adoption

Answering audience questions about integration testing challenges, code abstraction, introducing new testing methods to a team, and the role of testing for junior developers.

Related jobs
Jobs that call for the skills explored in this talk.

Featured Partners

From learning to earning

Jobs that call for the skills explored in this talk.

Software Tester (f/m/d)

Software Tester (f/m/d)

Power Plus Communications
Mannheim, Germany

Intermediate
Senior
Python
Unit Testing
Automated Testing