How many tests should your test-suite have? Of what variety? Should you invest more time in writing a few end-to-end, functional tests, or improve your unit test suite through test-first development and improving test-coverage, where it's low? Should you do it all? Can you do it all?
Having the optimum test suite is always a challenge. It's as much a question of design and raw numbers as it's of feel and sense -- like a potter fashioning a clay urn on a wheel, you have to make sense out of something amorphous and shape it into something useful and valuable.
In this talk, I'll describe the motivations behind different kinds of tests. I'll provide practical guidelines on how to test, and to what degree. I'll draw your attention to how humans react to failures. When can we use failure as a motivator, and when it becomes something more daunting. And how it all relates to effective testing of software.