Verificação prova que o produto vai ao encontro dos requerimentos especificados durante as preciosas atividades executadas corretamente no desenvolvimento do produto, enquanto a validação checa se o sistema vai ao encontro dos requerimentos do consumidor. Criação de um teste de um produto está muito mais perto de validação do que de verificação
Tradicionalmente, teste de software é considerado um processo de validação, isto é, uma fase do ciclo de desenvolvimento do produto. Depois que o programa é terminado, o sistema é validado ou testado para determinar sua funcional e operacional performance.
Quando verificação é incorporada ao teste, o teste corre durante o desenvolvimento também. É uma prática combinar verificação com validação no processo de testes. Verificação inclui procedimentos sistemáticos de revisão, análise, testes empregados durante o desenvolvimento, começando com as fases de requerimentos de software e continuando através da codificação do produto. Verificação garante a qualidade do software na produção e na manutenção.
Em adição, verificação impõe um organizado e sistemático desenvolvimento de tal forma que um programa qualquer possa ser facilmente compreendido e avaliado de modo independente.
Verificação emergiu cerca de 16 anos atrás como resultado das necessidades da indústria aeroespacial americana, de modo que garantisse extrema confiabilidade de software nos sistemas, de maneira que um mínimo erro no programa resultaria em falha da missão e em enorme gasto financeiro e tempo de atraso, ou em simples ameaças em quaisquer situações. O conceito de verificação inclui dois critérios fundamentais:
- O software tem de executar todas as funções desejadas;
- O software, durante sua execução, não deve passar por nenhum caminho que não tenha sido testado em alguma combinação com as outras funções. Em outras palavras, “todas as possibilidades, caminhos e funções têm de estar mapeados, codificados e testados”.
A meta global de verificação é garantir através do desenvolvimento do software que ele vai ao encontro das necessidades dos requerimentos de software documentados.
Verificação estabelece uma rastreabilidade entre as várias seções do software documentado e associado às devidas partes das especificações dos requerimentos. Compreensiva verificação garante que a performance do software e qualidade dos requerimentos sejam adequadamente testadas e os resultados dos testes possam ser repetidos, mesmo depois de qualquer mudança no software. Verificação é um processo de melhoria contínua que não tem fim. Deve sr usado para garantir a operação e a manutenção do sistema.
Quando procedimentos de verificação são usados, o gerenciamento pode assegurar que os desenvolvedores seguem um formal e sequencial processo de desenvolvimento, com um mínimo de atividades que garantem a qualidade do sistema.
Os mais “duros” críticos dizem que verificação incrementa consideravelmente o custo de desenvolvimento. Verificação reduz o custo geral do software na prevenção, se for usado através do processo de desenvolvimento. Na prática, a redução de defeito é 4 para 1, se usarmos verificação, pois um defeito encontrado em produção custa de 20 a 100 vezes mais do que se fosse encontrado antes.
Fonte: Testes de Software – Leonardo Molinari