Toda organização possui processos formais ou informais, que são implementados para desenvolvimento de softwares. Esse processo pode incluir tanto produtos finais, que são usados pelos clientes, como software executável, manual do usuário, documento de requisitos etc..
Geralmente define-se na estratégia que os testes serão realizados pela equipe de desenvolvimento ou por engenheiros de software. No entanto, é ideal que pelo menos os testes de sistemas sejam feitos por uma equipe de testes independente.
É importante que os grandes sistemas e programas também sejam testados por outras pessoas que não os seus desenvolvedores, e que tais pessoas sejam especialistas em testes.
Várias técnicas são utilizadas para identificar defeitos nos produtos de trabalho. Esses defeitos são eliminados através de retrabalho, que têm efeito imediato na produtividade do projeto. Defeitos também são encontrados em atividades de teste e podem ser analisados, a fim de se identificar suas causas. A partir dessa análise, lições aprendidas podem ser usadas para criar futuros produtos e prevenir futuros defeitos e, dessa forma, ter impacto positivo na qualidade do produto e na produtividade do projeto.