Não há uma resposta definitiva única para qual a porcentagem da duração de um projeto de software é adotada pelos testes. Varia muito, dependendo de vários fatores:
*
Tamanho e complexidade do projeto: Projetos menores e mais simples podem dedicar uma porcentagem menor aos testes (por exemplo, 10-20%), enquanto projetos maiores e mais complexos com funcionalidades críticas (por exemplo, dispositivos médicos, sistemas financeiros) podem facilmente gastar 40-50% ou até mais em testes.
* Metodologia: Metodologias ágeis tendem a integrar testes ao longo do ciclo de vida do desenvolvimento, levando a um esforço de teste mais distribuído, mas potencialmente maior. As metodologias em cascata geralmente têm uma fase de teste distinta no final, mas isso pode não pegar todos os problemas.
*
Tolerância ao risco: Projetos com alta tolerância ao risco podem alocar menos aos testes, enquanto aqueles com baixa tolerância ao risco (por exemplo, sistemas críticos de segurança) investirão fortemente em testes.
*
Tipos de teste: Os tipos de teste empregados (unidade, integração, sistema, aceitação do usuário, desempenho, segurança etc.) influenciam significativamente o compromisso de tempo. Testes mais abrangentes naturalmente levam mais tempo.
*
Automação: O nível de automação de teste afeta muito a duração. A alta automação reduz o tempo de teste manual, diminuindo potencialmente a porcentagem geral.
Enquanto algumas fontes sugerem um intervalo de 20 a 30% como uma diretriz geral, essa é uma estimativa muito aproximada e não deve ser tomada como regra difícil. Uma resposta mais realista é que o teste
deve levar o máximo de tempo necessário para garantir o nível necessário de qualidade e confiabilidade . Isso pode ser consideravelmente superior a 30% em muitos casos.