So what is failing successfully? When you find an anomaly or bug or misfeature in your code, the first thing you do is return to your unit tests, and modify them in such a way that they test for that failure. This can be surprisingly tricky. Once the test fails in the same way that the actual application did, you have failed successfully. The reason you had the bug in the first place was that you weren't very good at failing when you wrote your code the first time. ---- Ever tried. Ever failed. No matter. Try again. Fail again. Fail better. -- Samuel Beckett