Alternativas
No uso de técnicas que busquem quebrar o funcionamento de um sistema em desenvolvimento, para se mostrar o maior número de potenciais para falha, podem-se adotar técnicas embasadas na especificação do software , tais como o particionamento em classes de equivalência, a análise de valores limite, tabelas de decisão e máquinas de estado finito.
Para a realização de testes de aceitação demandados por um cliente, podem-se projetar casos de teste nos quais cada requisito seja considerado para derivação de um conjunto de casos de teste. Nesse caso, ao se estabelecer um plano para a posterior execução dos casos de teste, será obrigatória a presença da equipe de implementação do software nessa atividade.
Caso seja demandado o uso de técnicas que busquem quebrar o funcionamento do sistema em desenvolvimento, para se mostrar o maior número de potenciais para falha, podem-se adotar técnicas embasadas no código, entre as quais se inclui o emprego de critérios baseados na usabilidade do sistema.
Na concepção de um processo de teste de software para uma organização com pouca maturidade nessa área, devem-se estimular disputas entre os times de programação e de teste, visando criar um ambiente competitivo e dinâmico.
Como é demandada prioridade máxima na implantação de um ambiente propício a testes de regressão, uma das atitudes recomendadas é reduzir o esforço na automação dos testes unitários, bem como nos testes de requisitos não funcionais, de forma a concentrar esforços nos teses de integração e nos testes de sistema.