There are many different kinds of testing. The most important for developers are:
-
Construction tests: small, quick tests you implement as you build. The goal is to have your code working anytime you aren't
actively changing it.
-
Unit tests: detailed debugger based testing on a single package, run under a test procedure with prediction of results.
It's goal is to make correct operation quite likely.
-
Regression tests: automated testing of large parts of a developing baseline, perhaps all, that build many different configurations
to run in all the environments the final product will encounter. These tests log all build and run-time errors, and are triggered
whenever new code is added to the test environment.