Processo de verificação e validação de projeto

⚡ Resumo Inteligente

A verificação do projeto confirma se o resultado do projeto corresponde à entrada de projeto documentada, enquanto a validação do projeto confirma se o produto final satisfaz as necessidades reais dos usuários. Ambas ocorrem ao longo de todo o desenvolvimento, nunca apenas no final.

  • 🔘 Duas perguntas diferentes: A verificação questiona se o produto foi projetado corretamente, e a validação questiona se o produto correto foi projetado.
  • ☑️ Entradas e saídas: A entrada do projeto é o conjunto de requisitos físicos e de desempenho; a saída do projeto é o que cada fase do projeto produz e é o que a verificação examina.
  • Evidências objetivas: A validação só é considerada completa quando existe comprovação física de que o produto atende às necessidades do usuário documentadas.
  • 🧪 Verificação em cinco etapas: Identificação e preparação, planejamento, desenvolvimentopingA execução e a geração de relatórios formam a sequência de verificação padrão.
  • 🛠️ Traccapacidade em todos os aspectos: A relação entre os requisitos de projeto, os casos de teste e os resultados é o que comprova que todos os requisitos foram efetivamente atendidos.
  • 📈 A sequência é importante: A validação segue a verificação bem-sucedida, e a verificação nunca é um substituto aceitável para ela.

Processo de verificação e validação de projeto no desenvolvimento de software

Verificação de Design

Verificação de Design É um método para confirmar, por meio de exame e fornecimento de evidências, que o resultado de um produto de software projetado atende às suas especificações de entrada. O objetivo do processo de verificação de projeto durante o desenvolvimento de software é garantir que o produto de software projetado seja idêntico ao que foi especificado.

A entrada de projeto refere-se a quaisquer requisitos físicos e de desempenho que servem de base para o projeto. A saída de projeto é o resultado de cada fase do projeto e do esforço total de projeto. Em setores regulamentados, como o de dispositivos médicos, a saída final do projeto torna-se a base para o registro mestre do dispositivo, razão pela qual o vocabulário de controle de projeto aparece com tanta frequência na documentação de verificação.

Na prática, a verificação compara dois conjuntos de documentos: as especificações, normas e restrições inseridas, com os desenhos, códigos e instruções de teste resultantes. Cada discrepância entre eles constitui uma constatação de verificação.

Validação de Projeto

A verificação comprova a consistência interna. A validação levanta a questão mais complexa de saber se a especificação descreveu o produto correto desde o início.

Validação de Projeto A validação de projeto é um processo de avaliação do produto de software em relação aos requisitos exatos dos usuários finais ou das partes interessadas. O objetivo da validação de projeto é testar o produto de software após o desenvolvimento para confirmar se ele atende a esses requisitos quando utilizado no ambiente do usuário.

A validação visa demonstrar a consistência e a completude de um projeto em relação às necessidades do usuário. Esta é a etapa em que você efetivamente constrói uma versão do produto e a valida em relação aos requisitos do usuário.

O banner abaixo identifica as duas metades da atividade, conforme geralmente são apresentadas nos registros de projeto.

Título "Validação de Projeto" usado em registros de controle de projeto

O diagrama a seguir mostra o próprio processo de validação do projeto, desde as necessidades do usuário até o produto validado.

Fluxograma do processo de validação de design, desde as necessidades do usuário até o produto validado.

O objetivo é comprovar, com evidências objetivas, que o produto atende às necessidades documentadas do usuário. Evidências objetivas são simplesmente provas físicas do resultado — uma imagem, um arquivo de texto, um arquivo de áudio ou um relatório assinado — que demonstram que o procedimento foi de fato realizado.

Por meio dessas evidências objetivas, o processo examina de forma consistente se o produto atende aos requisitos predefinidos. Envolve atividades de teste, inspeção, análise e técnicas semelhantes, razão pela qual a validação geralmente se baseia em... teste do sistema e Testes de aceitação do usuário em vez de verificações em nível de unidade.

Diferença entre verificação e validação de projeto

Há sempre confusão entre verificação e validação. São atividades diferentes, e ambas são realizadas em todas as etapas do processo de desenvolvimento, e não apenas em um único marco.

Verificação de Design Validação de Projeto
A verificação de projeto é utilizada quando o resultado real do projeto deve ser igual ao resultado esperado, o que satisfaz as especificações do produto. A validação do projeto é utilizada para garantir que o projeto final esteja de acordo com as expectativas e necessidades do usuário.
A verificação de projeto questiona: você projetou o produto corretamente? A validação do projeto questiona: você projetou o produto certo?
A verificação do projeto inclui a unidade e a primária. testes de nível de integração. A validação do projeto inclui integração de nível secundário ou superior e testes em nível de sistema.
Certos aspectos da validação do projeto podem ser realizados durante a verificação do projeto, mas a verificação do projeto não substitui a validação do projeto. A validação do projeto segue a verificação bem-sucedida do projeto.
A verificação do projeto pode ser realizada em um módulo individual ou no sistema completo, sob quaisquer condições. A validação do projeto deve ser conduzida sob uma condição especificada de acordo com a exigência do usuário.
A verificação de projeto pode utilizar técnicas estáticas. Ela inclui inspeções de sistema, análises e atividades de verificação formal. A validação do projeto consiste no relatório final dos resultados da execução dos testes, que é revisado, aprovado e assinado. Esses documentos são armazenados para referência futura.

Um atalho útil: a verificação é principalmente trabalho estático em relação a documentos, enquanto a validação é principalmente teste dinâmico contra uma construção em andamento.

Processo de verificação de projeto

O processo de verificação é executado em cinco etapas, e cada uma produz um artefato do qual a etapa seguinte depende.

Identificação e preparação:

  • Enquanto uma especificação está sendo desenvolvida, as atividades de verificação são identificadas em paralelo. Isso permite que o projetista assegure-se de que a especificação seja de fato verificável, para que um engenheiro de testes possa iniciar os planos e procedimentos de teste detalhados. Qualquer alteração na especificação deve ser comunicada.
  • Identificar a melhor abordagem para realizar a verificação e definir os métodos de medição, os recursos necessários, as ferramentas e as instalações.
  • O plano de verificação concluído é revisado com a equipe de projeto para identificar problemas antes de sua finalização.

Planejamento:

  • O planejamento da verificação é uma atividade simultânea das equipes principais e de desenvolvimento. Ele ocorre ao longo de todo o ciclo de vida do projeto e é atualizado sempre que os dados de entrada do projeto são alterados.
  • Durante esta fase, o software ou sistema em teste é documentado em seu escopo.
  • Um plano de testes preliminar é elaborado e posteriormente aprimorado. O plano contempla os marcos críticos que reduzem o risco do projeto.
  • São selecionadas as ferramentas, o ambiente de teste e a estratégia de desenvolvimento, e são identificados os requisitos a serem confirmados por meio de inspeção ou análise.

Developing:

  • Caso de teste O desenvolvimento coincide com o Metodologia SDLC A equipe do projeto implementou o projeto. Diversos métodos de teste foram identificados nesta etapa.
  • Os parâmetros de projeto devem ser desenvolvidos de forma que até mesmo as atividades de verificação mais simples sejam inequívocas e verificáveis.
  • O tempo de verificação é reduzido quando conceitos semelhantes são verificados em sequência, pois o resultado de um teste pode ser reutilizado como entrada para um teste subsequente.
  • TracSão criadas ligações de confiabilidade entre os casos de teste e suas respectivas entradas de projeto, para garantir que todos os requisitos sejam testados e que a saída do projeto atenda às entradas de projeto.

Execução:

  • Os procedimentos de teste criados durante a fase de desenvolvimento são executados de acordo com o plano de testes e seguidos rigorosamente durante a atividade de verificação.
  • Caso ocorram resultados inválidos, ou se algum procedimento precisar ser modificado, as alterações devem ser documentadas e formalmente aprovadas.
  • Qualquer problema encontrado é registrado como um defeito através do procedimento padrão. processo de gerenciamento de defeitos.
  • A tracmatriz de habilidade É criado para verificar se todas as entradas de projeto identificadas no plano de teste de verificação foram testadas e para determinar a taxa de aprovação.

Relatórios:

  • Esta atividade é realizada ao final de cada fase de execução da verificação.
  • O relatório de verificação do projeto fornece um resumo detalhado dos resultados da verificação, incluindo o gerenciamento de configuração, os resultados para cada tipo de teste e os problemas encontrados durante a atividade de verificação.
  • Uma verificação de projeto tracO relatório de aplicabilidade é criado a partir dos requisitos e dos resultados dos testes correspondentes, para confirmar que todos os requisitos foram testados e que os resultados apropriados foram registrados.
  • Qualquer não conformidade é documentada e tratada adequadamente.
  • RevAs inspeções são realizadas após a conclusão da atividade de verificação do projeto e os resultados são formalmente aprovados.

Processo de validação de projeto

A validação não segue uma sequência igualmente rígida. Em vez disso, ela se baseia em um pequeno conjunto de métodos aceitos, e um projeto normalmente utiliza mais de um deles.

  • Comparação com projetos equivalentes. Alguns projetos podem ser validados por meio da comparação com equipamentos similares que desempenham funções semelhantes. Isso é particularmente relevante ao validar alterações de configuração em infraestruturas existentes ou projetos padrão que estão sendo incorporados a um novo sistema ou aplicação.
  • Demonstração e inspeção. Qualquer um deles, ou ambos, podem ser usados ​​para validar os requisitos e outras funcionalidades do produto.
  • Análise. O projeto pode ser analisado por meio de modelagem matemática ou simulação que recrie a funcionalidade necessária.
  • Testing. São realizados testes no projeto final para validar a capacidade do sistema de operar conforme especificado, que é onde teste funcional e testes não funcionais Atender aos requisitos do usuário.
  • Documentação. O plano de testes, sua execução e os resultados devem ser documentados e mantidos como parte dos registros do projeto. A validação, em última análise, consiste na coleta dos resultados de todas as atividades de validação.
  • Justificativa de equivalência. Quando produtos equivalentes são utilizados na validação final do projeto, o fabricante deve documentar a similaridade e quaisquer diferenças em relação à produção inicial.

Exemplo

Um breve exemplo prático torna a distinção concreta.

  • Considere um produto simples: um relógio à prova d'água.
  • O documento de requisitos do produto pode afirmar que "o relógio deve ser à prova d'água para natação". Essa é a necessidade do usuário, e é com base nela que a validação é feita.
  • A especificação do projeto pode afirmar que "o relógio deve funcionar mesmo se o usuário nadar por um período prolongado". Essa é a entrada do projeto e é com base nela que a verificação é feita.
  • Os resultados dos testes devem confirmar que o relógio atende a esses requisitos. Caso contrário, as iterações de redesenho continuam até que isso aconteça.

Observe como um relógio pode passar pela verificação e ainda assim falhar na validação. Se a especificação define um mergulho prolongado como quinze minutos e nadadores reais permanecem na água por uma hora, a saída do projeto corresponde perfeitamente à sua entrada e mesmo assim falha na validação do usuário.

Vantagens da validação e verificação de design

Executar ambas as atividades de forma contínua, em vez de como uma etapa final, é o que produz os benefícios descritos abaixo.

  • Os projetos podem ser monitorados continuamente, o que possibilita atender aos requisitos definidos pelo usuário em cada etapa.
  • A validação do projeto evidencia a diferença entre como a funcionalidade opera e como se espera que ela funcione.
  • Documentar os procedimentos de validação facilita a compreensão da funcionalidade posteriormente, sempre que uma alteração ou melhoria for feita.
  • O tempo de desenvolvimento é consistentemente reduzido e a produtividade melhora, o que ajuda a entregar o produto conforme o esperado.
  • O processo define o alcance e o escopo de cada método de validação que deve ser empregado.
  • A validação pode ser realizada utilizando dados de projeto detalhados que representam os requisitos finais do usuário.
  • Qualquer diferença entre o resultado e os documentos necessários ao usuário é registrada em vez de perdida.
  • Alterações em um projeto validado acionam uma atividade de revalidação, garantindo que o registro nunca se desvincule do produto.
  • Documentar cada atividade que ocorre durante a validação é o que comprova adequadamente que o projeto atende aos requisitos do usuário.

A verificação e validação do projeto são, portanto, melhor planejadas dentro de um contexto mais amplo. ciclo de vida de teste de software e mapeado contra o outro tipos de testes de software, em vez de ser tratado como um exercício de conformidade separado.

Perguntas Frequentes

O braço esquerdo descendente engloba as atividades de verificação — revisões de requisitos, projeto e código. O braço direito ascendente engloba as atividades de validação, desde verificações de unidade e integração até testes de sistema e aceitação, cada nível correspondendo à especificação oposta.

Na maioria dos casos, sim, mas não estritamente. A verificação se baseia em revisões, inspeções e análises passo a passo, enquanto a validação executa a compilação. A verificação ainda pode incluir testes executados em nível de unidade, portanto, considere a divisão entre testes estáticos e dinâmicos como uma tendência, e não como uma regra.

IEEE 1012A norma ISO 9001, que define a verificação e validação de sistemas, softwares e hardwares, é a principal estrutura. Normas de gestão da qualidade, como a ISO 9001, exigem controles de projeto e desenvolvimento, e os setores regulamentados adicionam suas próprias regras de controle de projeto.

A verificação geralmente é realizada por engenheiros e revisores independentes da pessoa que elaborou o projeto. A validação envolve os usuários finais ou seus representantes, pois somente eles podem avaliar se o produto entregue atende às necessidades reais.

Ferramentas com auxílio de IA sinalizam requisitos ambíguos ou não testáveis ​​durante a revisão, sugerem tracA análise permite estabelecer ligações entre as entradas de projeto e os casos de teste, além de destacar lacunas de cobertura em uma matriz de verificação. A decisão de aprovação permanece com o revisor, uma vez que as evidências devem ser defensáveis.

Copiloto do GitHub Pode elaborar o código de teste que implementa um procedimento de verificação e explicar módulos desconhecidos durante uma revisão de código. No entanto, não pode fornecer a evidência objetiva por si só, portanto, a saída gerada ainda precisa de revisão e aprovação formal.

Tratar a validação como uma formalidade após a verificação ser aprovada, escrever entradas de projeto que não podem ser medidas e deixar traccapacidade até o fim. Cada um produz um registro que parece completo, mas não resiste a uma auditoria ou a um usuário real.

Sempre que a alteração puder afetar uma necessidade do usuário ou as condições sob as quais o produto foi validado, a análise de impacto define o escopo: uma correção pontual pode ser necessária. teste de regressão somente se um fluxo de trabalho alterado exigir que a validação afetada seja repetida.

Resuma esta postagem com: