With tests, there&#x27;s also the idea that writing them helps you write better code.<p>That&#x27;s something that doesn&#x27;t happen automatically. If you approach tests as something you have to do because somebody told you to, and I think this is pretty common, then your tests are probably not going to be great, and it&#x27;s not going to help your code...<p>But if a team really takes to heart the whole principle of testing, and start to design things with testing in mind... then they start to ask questions up front like &quot;how will we really know that this works?&quot; and &quot;how can we isolate this component so that we can test it independently?&quot; and &quot;how can we write fast tests for this?&quot; and &quot;can we make this into more of a pure, simple data structure?&quot; and so on and so on.<p>Especially this one: &quot;How can we get the important business logic here to be a clear and distinct module with verifiable correctness?&quot;<p>And that&#x27;s a cascade of wonderful benefits. Enforcing a culture of &quot;you must write tests&quot; might possibly help with QA, especially in the more obvious cases of algorithmic correctness, but the true benefits are so much deeper.