A disciplina de testes de software tem ganhado grande reconhecimento nos últimos anos por parte da comunidade técnica. Com o crescimento da complexidade dos projetos e, muitas vezes, o grande número de envolvidos no desenvolvimento de um software, torna-se importante uma formalização da nomenclatura, processos e artefatos utilizados para garantir a qualidade de um software através dos testes.
Muitas estratégias de testes de software já foram propostas no mercado. O importante é que, para executar um teste eficaz, deve-se proceder as revisões técnicas, nas quais os erros podem ser eliminados antes do começo do teste. O teste começa no nível de componente e progride em direção à integração do sistema computacional como um todo, ou seja, da menor parte do código, passando para funcionalidades e chegando ao todo, que é o projeto construído. Diferentes técnicas de teste são apropriadas para diferentes abordagens de engenharia de software e em diferentes pontos no tempo. O teste, como dito anteriormente, é feito pelo desenvolvedor do software e por grupo independente de teste.