Testing code feels like science; we setup expectations, control the environment, run repeatable experiments, make assertions about the outcome. Yet in reality, it's much more like an artform. Mat explores the subject and looks at some practical ways we can make sure we are testing the right things.