Talk details

In schedule:
Platform 2
May 30, 10:50 - 11:35 CET
Beware the Integrated Tests Scam
Software Delivery Craft Matters
design patterns
integration tests
modular monolith
software architecture
software development
technical debt
technical debt management
technical excellence
technical neglect
unit tests
failure demand
Level: General

We need to write tests that run different scopes of the system in order to feel confident that our code behaves the way we want it to. Unfortunately, we'll never write enough tests to feel perfectly confident, so we need a strategy for which tests to focus on and which tests not to write.

And this is where the arguments start. They're not always constructive and they're rarely fun.

Best Practices thinking lures the typical programmer into trying to pick one testing strategy that they can always follow, and since it's possible to have microtests that pass and still have bugs, they often conclude only integrated tests can fill in the gaps of their testing. Then these tests begin to feel like the only truly reliable tests in their strategy. Then they over-rely on them and production slows down to a crawl all around them...

In this talk, I warn you about the integrated tests scam: how they act as medicine that eventually makes your sickness worse. I offer an alternative approach to gaining confidence in the correctness of your code. I describe why you need multiple strategies and how to find a helpful balance among them in your context. Every time. Without the drawbacks of Best Practices thinking.

Oh, and one more thing: if you don't like your tests, the problem probably lies in the design of your production code. The coupling that you don't like in your tests is merely a reflexion of the design risks in your production code. So many arguments and so much doubts disappears when we refactor.

Craft 2024 - J. B. Rainsberger
J. B. Rainsberger
Business/Software Coach, Mentor and Consultant at

J. B. Rainsberger (, is a professional 5-pin bowler who also consults for both software development professionals and the organizations that employ them. He shares what he's learned about programming, managing his workload, interacting with people, and designing his lifestyle, with a focus on helping software development professionals work with less ...