Software testing is now a significant part of software development and it should be included in every phase of the life cycle. Find out what types of testing can be done by a developer, when and why should we use them and what are some of the advantages and disadvantages.