Pular para o conteúdo
SDETRole
SDETRole

Glossário · Fundamentos de testes

Verificação e validação

Em inglês: Verification and validation

Também chamado de: V&V, verificação vs validação, diferença entre verificação e validação, verification vs validation

Definição

A verificação pergunta "estamos construindo o produto corretamente?" contra a especificação. A validação pergunta "estamos construindo o produto certo?" para o usuário.

Verificação e validação são duas checagens complementares, normalmente descritas com as palavras de Barry Boehm. A verificação checa se um produto de trabalho está de acordo com a sua especificação: estamos construindo o produto corretamente? A validação checa se o produto atende às necessidades reais dos seus usuários no ambiente em que será usado: estamos construindo o produto certo? Um sistema pode passar totalmente na verificação e mesmo assim falhar na validação, se a especificação estava errada.

Exemplo

Um requisito diz: “O botão de exportar gera um arquivo CSV com todos os pedidos.”

  • Verificação: o time revisa o design, inspeciona o código e testa se clicar em Exportar produz um CSV corretamente formatado com todos os pedidos. Produz, então a verificação passa.
  • Validação: o time financeiro tenta usar a funcionalidade e descobre que, na verdade, precisa dos pedidos filtrados por mês, com os impostos em uma coluna separada, e que o template de planilha dele espera ponto e vírgula como separador. A funcionalidade atende à especificação, mas não à necessidade. A validação falha.

A diferença em resumo

Verificação Validação
Pergunta Construindo o produto corretamente? Construindo o produto certo?
Comparada com Requisitos, design, padrões Necessidades do usuário e uso pretendido
Atividades típicas Revisões, walkthroughs, inspeções, análise estática, testes unitários, de integração e de sistema Teste de aceitação do usuário, testes beta, estudos de usabilidade, demos, feedback de produção
Precisa de software rodando? Nem sempre: revisões são verificação Em geral sim, ou de um protótipo realista
Feita principalmente por Desenvolvedores e QA Usuários, clientes, product owners

Técnicas estáticas, como revisões de requisitos e de código, são sempre verificação. A maior parte dos testes dinâmicos que o QA faz contra a especificação também é verificação. A validação envolve as pessoas para quem o produto é feito.

Por que isso importa

Times que focam apenas na verificação podem entregar um software que corresponde exatamente a um requisito falho. As práticas de shift-left ajudam nas duas frentes: revisar os critérios de aceite com os usuários logo no início é uma validação barata, e testes automatizados a cada commit são uma verificação contínua. Em setores regulados, como o de dispositivos médicos, V&V são atividades separadas e documentadas, e os auditores esperam evidências de cada uma.

Digite para buscar em todo o SDETRole.

Busca de texto completo com Pagefind · roda no seu navegador Abrir página de busca →