Product Design, Manufacturing & Innovation Resources
Lar » Verificação vs. Validação

Verificação vs. Validação

1980
  • Barry Boehm
Equipe de engenheiros discutindo verificação e validação no desenvolvimento de software.

(Imagem gerada apenas para fins ilustrativos)

Verification and validation (V&V) are distinct processes. Verification ensures a product meets its specified requirements (“Are you building it right?”). Validation ensures the product meets the user’s actual needs and intended use (“Are you building the right thing?”). They are complementary activities within quality management, often performed sequentially or in parallel to ensure both correctness and usefulness. Verification against written requirements also exposes defects that a team might otherwise defend by saying it’s not a bug it’s a feature, whose meaning is simply that an unwanted behavior is relabeled as intended. The it’s not a bug it’s a feature meaning is a reminder that requirements must be explicit.

A distinção entre verificação e validação é fundamental para a garantia da qualidade em qualquer disciplina de engenharia complexa, particularmente em engenharia de software e de sistemas. A verificação é um processo interno de qualidade focado na conformidade com as especificações. Envolve atividades como revisões, inspeções e análises detalhadas de documentos de projeto, código e requisitos. O objetivo é encontrar defeitos no início do ciclo de desenvolvimento. Por exemplo, uma revisão de código verifica se o software está em conformidade com os padrões de codificação e implementa corretamente um algoritmo específico, conforme descrito em um documento de projeto.

A validação, por outro lado, é um processo externo de qualidade focado na adequação ao propósito. Ela avalia se o produto final é eficaz no ambiente operacional para o qual foi projetado. Isso normalmente envolve testar o produto com usuários reais ou em um ambiente simulado do mundo real. Por exemplo, o teste de aceitação do usuário (UAT) é uma atividade de validação na qual os usuários finais testam o software para verificar se ele os ajuda a executar suas tarefas de forma eficiente e eficaz. Um sistema pode ser perfeitamente verificado — ou seja, não apresentar erros e atender a todas as especificações documentadas — mas ainda assim falhar na validação se essas especificações forem falhas ou não capturarem com precisão as reais necessidades do usuário.

O trabalho de Barry Boehm enfatizou que essas duas atividades respondem a perguntas diferentes e são cruciais para o sucesso de um produto. Negligenciar a verificação leva a um produto cheio de bugs e não confiável, enquanto negligenciar a validação leva a um produto que, embora tecnicamente sólido, é, em última análise, inútil para o público-alvo. Os dois processos trabalham em conjunto para garantir tanto a correção quanto a utilidade.

UNESCO Nomenclature: 1203
Ciência da Computação

Tipo

Sistema abstrato

Interrupção

Substancial

Uso

Uso generalizado

Precursores

  • conceitos iniciais de controle de qualidade na manufatura
  • lógica formal e teoria da demonstração
  • princípios de programação estruturada
  • metodologias iniciais de teste de software

Aplicações

  • metodologias ágeis de desenvolvimento de software
  • modelos de ciclo de vida de engenharia de sistemas (ex: modelo v)
  • protocolos de desenvolvimento de medicamentos farmacêuticos
  • Certificação de sistemas aeroespaciais (ex.: DO-178C)
  • medical device processos de aprovação (ex: regulamentações da FDA)

Patentes:

NA

Ideias de Inovação Potencial

  • ai-driven user simulation for automated validation
  • continuous integration/continuous validation (ci/cv) pipelines
  • blockchain-based ledgers for immutable verification records in supply chains
  • gêmeo digital models for pre-deployment validation of physical systems
  • automated requirement-to-code traceability tools for enhanced verification
  • gamified user acceptance testing platforms
  • crowdsourced validation for consumer software products
  • formal methods integrated into standard ide environments for real-time verification
Relacionado a: verificação, validação, garantia da qualidade, engenharia de software, engenharia de sistemas, requisitos, especificação, testes.

Contexto histórico

Verificação vs. Validação

1970
1970-01-01
1975-06-01
1980
1980
1980
1982-07-01
1970
1970
1973
1980
1980
1980
1980
1986-01-01

(Caso a data seja desconhecida ou irrelevante, por exemplo, "mecânica dos fluidos", é fornecida uma estimativa aproximada de seu surgimento notável)

10º ano aniversário

Imagens em tamanho real e downloads estão disponíveis apenas, 100% gratuitos, para membros registrados.