Testing on Production, deep backend edition

30-minute New Voice Talk

Production is a first-class testing environment


10:25 a.m. – 10:55 a.m. Thursday 7th


Room F1 - Track 1: Talks


Tester, Developer, Product Owner


  • Live systems behavior tends to be difficult to predict before deploying a significant change to production
  • Pre-Production environments are better suited for verifying expected behavior, not for discovering unknown unknowns
  • Testing on production requires certain level of observability, resilience and recoverability which can be a valuable side-effect of this practice.

Why do we test on production? Why not avoid this risk at any cost?

Thorough testing before merging to master is great, but it doesn’t cover the unknowns. Staging on shared environments tends to be slow, unreliable and costly to support. Why not just learn from the only true environment by conducting safe and efficient experiments?

This talk is based on my experience of “shifting to the right” testing within the context of back-end systems of bol.com (one of the biggest online retailers of the Netherlands; logistics and purchasing domains), where correctness is often a bigger concern than performance, and recovery might require a bit more than users hitting the refresh button of their browser.

Testing on production is often associated with A/B testing or canary releases, but those aren’t always the best – or even applicable – techniques. We will look instead at shadow and dry runs, controlled experiments, survival of the fittest; how to apply these techniques and what to be aware of.

Related Sessions

9:00 a.m. – 5:00 p.m.

Full-Day Tutorial (6 hours)

10:25 a.m. – 10:55 a.m.
Room F1 - Track 1: Talks

30-min New Voice Talk

11:55 a.m. – 12:25 p.m.
Room F1 - Track 1: Talks

30-min New Voice Talk

3:10 p.m. – 3:40 p.m.
Room F2 - Track 2: Talks

30-minute Talk