We never have enough time for testing, so let’s just write the test first.
Agile testing differs from the big-bang, test-at-the-end approach of traditional development. Instead, code is developed and tested in small increments, often with the development of the test itself preceding the development of the code. In this way, tests serve to elaborate and better define the intended system behavior before the system is coded. Quality is built in from the beginning. This just-in-time approach to elaboration of the intended system behavior also mitigates the need for lengthy, detailed requirements, specifications, and sign-offs that are often used in traditional software development to control quality. Even better, these ...