Creating software is complicated. By this stage you would of already come across lots of problems in your code, also known as bugs. In order to ensure your code works correctly it is essential that you test it thoroughly. Untested, or poorly tested, code tends to lead to unstable programs.
Testing is a black art amongst computer scientists. It is always tempting to do minimal testing In fact most developers find it very difficult to find their own bugs. This is why most developers will pass their code onto another person to test.
There are a number of testing strategies which can be used. It is common to use more than one strategy to test software. At the end of this section we will look at automated testing known as unit testing. This is a black box evolutionary testing which is being highly promoted in the software industry.