Connecting product codes to tests
When in grade school we all learned the concepts surrounding the scientific method. It involved formulating a hypothesis, and validating our hypothesis by gathering supporting proof. As a software project matures, learning to apply the scientific method to automated testing will become increasingly important. The implementation of these principles is actually quite simple. The code change or feature represents the hypothesis and the validation of the hypothesis is the test(s) written, which prove it. In a standard Test Driven Development (TDD) model, tests are written prior to the code change. This is a very powerful model with very visible benefits. As powerful as TDD is it's import to mention that strict enforcement of writing tests prior to implementation can lead to arbitrary restrictions in prototyping, and may not work effectively in all cases. The important thing to adhere to is simply a consistent incremental approach to writing tests for each change...