Focused Continuous Testing
Continuous testing is a practice that involves automatically running tests after every program change. Just as modern IDEs provide instant feedback about the code's syntactic correctness, continuous testing gives you instant feedback about the semantic correctness of the code. Continuous testing has a profound impact on the way you use test-driven development (TDD) and continuous integration (CI). TDD provides rapid feedback through the frequent execution of a small set of related tests. CI provides broader feedback on a less frequent basis. Continuous testing combines the immediacy of TDD with the breadth of CI to redefine the experience of developer testing. Rod Coffin describes the history, theory, practice, and daily application of continuous testing, including its application on different platforms, and his ongoing experiences with continuous testing on real-world systems. Rod demonstrates continuous testing practices using Infinitest, a free tool for Java, and ends with a discussion of the future of continuous testing.