Verificação refere-se a checar se o produto foi construído corretamente, enquanto validação refere-se a checar se o produto atende às necessidades do cliente. Validar um programa é particularmente difícil porque é difícil prever todos os cenários de uso. Programas raramente estão totalmente livres de defeitos antes do lançamento, e testes podem ser usados para validar se o programa atende às necessidades do cliente dentro de certos limites.