When it comes to software development, testing and quality assurance, respectively, are highly underestimated topics. Nowadays, large software corporations invest even more time in the testing than in the development of their products. As the testing normally constitutes the concluding part of the development process, it is often neglected in favor of the development, mostly due to time pressure.
In order to assure a high quality of your software it is essential to conduct several tests before and afterwards. The scope ranges from tests executed by the developers to tests executed by test persons after the development to internal tests executed by the client as well as acceptance tests with the later use of the software (eg. executed by customers of an online shop). Especially the first-mentioned tests are vital for the correct functioning of the software, and thus, must not be neglected.
In order to achieve the best results when testing, the developer and the test person should be different persons. It has been proven that other persons find more bugs and also more quickly than the developers who have developed the software.