Automated tests

The value of automated tests are no more evident than when one realizes that as the software keeps changing, things which were fixed previously remain fixed.

It is important to test individual features as part of development. One can use tools to find out code coverage to ensure that the tests cover as much of the code as possible. Also, all the condition/decision branches need to be covered.

Along with this, as bugs are discovered in the system, it pays to add automated tests to test the fixes for these bugs.