Production is a first-class testing environment
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.