Os testes de software são baseados no contexto e orientados para o risco. Requer uma abordagem metódica e disciplinada para encontrar bugs. Um bom testador de software precisa de construir credibilidade e possuir a atitude de ser explorador, de resolver problemas, implacável, criativo, diplomático e persuasivo.Como contra a percepção de que os testes só começam após a conclusão da fase de codificação, na realidade, começam mesmo antes de a primeira linha de código poder ser escrita. No ciclo de vida do produto de software convencional, os testes começam na fase em que as especificações são escritas, ou seja, a partir do teste das especificações do produto ou das especificações do produto. Encontrar bugs nesta fase pode poupar enormes quantidades de tempo e dinheiro.