exact difference between verification
Verificação x validação: explore as diferenças com exemplos
Seu de volta ao básico pessoal! Um olhar clássico sobre a diferença entre Verificação e validação .
Há muita confusão e debate em torno desses termos no mundo dos testes de software.
Neste artigo, veremos o que são verificação e validação do ponto de vista dos testes de software. No final deste artigo, obteremos o desvio das diferenças entre os dois termos.
A seguir estão algumas das razões importantes para entender a diferença:
- É um conceito fundamental de controle de qualidade, portanto, é quase o bloco de construção para ter conhecimento do controle de qualidade.
- Esta é uma pergunta comum Pergunta da entrevista de teste de software .
- Certificação o currículo tem um bom número de capítulos que giram em torno disso.
- Finalmente, e praticamente como nós testadores realizamos esses dois tipos de teste, podemos também ser especialistas nisso.
O que você aprenderá:
- O que é Verificação e Validação em Teste de Software?
- O que é verificação?
- O que é validação?
- Exemplos de validação e verificação
- V&V em diferentes fases do ciclo de vida de desenvolvimento
- Diferença entre verificação e validação
- Vários padrões
- Quando usar Validar e verificar?
- Conclusão
O que é Verificação e Validação em Teste de Software?
No contexto de teste, “ Verificação e validação ”São os dois termos amplamente usados. Na maioria das vezes, consideramos os dois termos iguais, mas, na verdade, esses termos são bastante diferentes.
Existem dois aspectos das tarefas de V&V (Verificação e Validação):
- Confirma os requisitos (visão do produtor de qualidade)
- Adequado para uso (visão de qualidade do consumidor)
Visão do produtor sobre a qualidade , em termos mais simples, significa a percepção do desenvolvedor sobre o produto final.
Consumidores visualizam qualidade significa a percepção do usuário sobre o produto final.
Quando realizamos as tarefas de V&V, devemos nos concentrar nessas duas visões de qualidade.
Vamos primeiro começar com as definições de verificação e validação e, em seguida, começaremos a entender esses termos com exemplos.
Observação: Essas definições são, conforme mencionado no CSTE CBOK da QAI (confira este link para saber mais sobre CSTE).
O que é verificação?
Verificação é o processo de avaliar os produtos de trabalho intermediários de um ciclo de vida de desenvolvimento de software para verificar se estamos no caminho certo para criar o produto final.
Em outras palavras, também podemos afirmar que a verificação é um processo de avaliação dos produtos mediadores do software para verificar se os produtos satisfazem as condições impostas no início da fase.
Agora a questão aqui é: Quais são os produtos intermediários ou mediadores?
Bem, isso pode incluir os documentos que são produzidos durante as fases de desenvolvimento, como especificação de requisitos, documentos de design, design de tabela de banco de dados, diagramas ER, casos de teste, matriz de rastreabilidade etc.
Às vezes tendemos a negligenciar a importância de revisar esses documentos, mas devemos entender que a própria revisão pode descobrir muitas anomalias ocultas quando, se encontradas ou corrigidas na fase posterior do ciclo de desenvolvimento, pode ser muito caro.
A verificação garante que o sistema (software, hardware, documentação e pessoal) está em conformidade com os padrões e processos de uma organização, contando com a revisão ou métodos não executáveis.
Onde a verificação é realizada?
Específicas para projetos de TI, a seguir estão algumas das áreas (devo enfatizar que isso não é tudo) em que a verificação é realizada.
Situação de Verificação | Atores | Definição | Resultado |
---|---|---|---|
Revisão da documentação do teste (revisão por pares) | Membros da equipe de QA | Uma revisão por pares é onde os membros da equipe revisam o trabalho uns dos outros para garantir que não haja erros na documentação em si. | Documentação de teste pronta para ser compartilhada com as equipes externas. |
Revisão de requisitos comerciais / funcionais | Equipe de desenvolvimento / cliente para requisitos de negócios. | Esta é uma etapa necessária não apenas para garantir que os requisitos foram reunidos e / ou corretamente, mas também para verificar se eles são viáveis ou não. | Requisitos finalizados que estão prontos para serem consumidos na próxima etapa - design. |
Revisão do projeto | Equipe de desenvolvimento | Após a criação do design, a equipe de desenvolvimento o revisa minuciosamente para garantir que os requisitos funcionais possam ser atendidos por meio do design proposto. | O design está pronto para ser implementado em um sistema de TI. |
Passo a passo do código | Desenvolvedor Individual | O código, uma vez escrito, é revisado para identificar quaisquer erros sintáticos. Isso é mais casual por natureza e é executado pelo desenvolvedor individual no código desenvolvido por ele mesmo. | Código pronto para teste de unidade. |
Inspeção de Código | Equipe de desenvolvimento | Esta é uma configuração mais formal. Especialistas no assunto e desenvolvedores verificam o código para garantir que ele esteja de acordo com os objetivos de negócios e funcionais almejados pelo software. | Código pronto para teste. |
Revisão do plano de teste (interno à equipe de QA) | Equipe de QA | Um plano de teste é revisado internamente pela equipe de QA para garantir que seja preciso e completo. | Um documento de plano de teste pronto para ser compartilhado com as equipes externas (Gerenciamento de Projetos, Análise de Negócios, desenvolvimento, Meio Ambiente, cliente, etc.) |
Revisão do plano de teste (externo) | Gerente de Projetos, Analista de Negócios e Desenvolvedor. | Uma análise formal do documento do plano de teste para garantir que o cronograma e outras considerações da equipe de QA estejam alinhadas com as outras equipes e com todo o projeto em si. | Um documento de plano de teste aprovado ou assinado com base no qual a atividade de teste será baseada. |
Revisão final da documentação do teste | Analista de negócios e equipe de desenvolvimento. | Uma revisão da documentação de teste para garantir que os casos de teste cobrem todas as condições de negócios e elementos funcionais do sistema. | Documentação de teste pronta para ser executada. |
Veja o análise de documentação de teste artigo que publica um processo detalhado sobre como os testadores podem realizar a revisão.
O que é validação?
Validação é o processo de avaliação do produto final para verificar se o software atende às necessidades do negócio. Em palavras simples, a execução do teste que fazemos em nosso dia a dia é na verdade a atividade de validação que inclui teste de fumaça , teste funcional, teste de regressão, teste de sistemas, etc.
Validação são todas as formas de teste que envolvem trabalhar com o produto e colocá-lo em teste.
A seguir estão as técnicas de validação:
A validação garante fisicamente que o sistema opere de acordo com um plano, executando as funções do sistema por meio de uma série de testes que podem ser observados e avaliados.
Justo, certo? Aqui estão meus dois centavos:
Quando tento lidar com esse conceito de V&V em minha aula, há muita confusão em torno dele. Um exemplo simples e mesquinho parece resolver toda a confusão. É um pouco bobo, mas realmente funciona.
Exemplos de validação e verificação
Exemplo da vida real :Imagine-se indo a um restaurante / lanchonete e pedindo talvez panquecas de mirtilo. Quando o garçom / garçonete traz o seu pedido, como você pode saber se a comida que saiu está de acordo com o seu pedido?
A primeira coisa é que olhamos para ele e notamos o seguinte:
- A comida tem a aparência típica das panquecas?
- Os mirtilos estão à vista?
- Eles cheiram bem?
Talvez mais, mas você entendeu direito?
Por outro lado, quando você precisar ter certeza absoluta de que a comida está como você esperava: Você terá que comê-la.
A verificação é tudo quando você ainda está para comer, mas está verificando algumas coisas, revendo os assuntos. A validação é quando você realmente come o produto para ver se está certo.
Neste contexto, não posso evitar, mas voltar para o CSTE CBOK referência. Há uma declaração maravilhosa por aí que nos ajuda a trazer esse conceito para casa.
A verificação responde à pergunta: “Construímos o sistema certo?” enquanto as validações abordam, “Construímos o sistema certo?”
V&V em diferentes fases do ciclo de vida de desenvolvimento
A verificação e a validação são realizadas em cada uma das fases do ciclo de vida de desenvolvimento.
Vamos tentar dar uma olhada neles.
# 1) Tarefas V & V - Planejamento
- Verificação do contrato.
- Avaliação do documento de conceito.
- Executando análise de risco.
# 2) Tarefas V & V - Fase de exigência
- Avaliação de requisitos de software.
- Avaliação / análise das interfaces.
- Geração do plano de teste de sistemas.
- Geração de plano de teste de aceitação.
# 3) Tarefas de V&V - Fase de desenho
- Avaliação de design de software.
- Avaliação / Análise das Interfaces (UI).
- Geração de plano de teste de integração.
- Geração do plano de teste do componente.
- Geração de design de teste.
# 4) Tarefas V&V - Fase de implementação
- Avaliação do código-fonte.
- Avaliação de documentos.
- Geração de casos de teste.
- Geração do procedimento de teste.
- Execução de casos de teste de componentes.
# 5) Tarefas V&V - Fase de Teste
- Execução de caso de teste de sistemas.
- Execução do caso de teste de aceitação.
- Atualizando as métricas de rastreabilidade.
- Análise de risco
# 6) Tarefas V&V - Fase de instalação e verificação
- Auditoria de instalação e configuração.
- O teste final da versão do candidato à instalação.
- Geração do relatório final do teste.
# 7) Tarefas V&V - Fase de Operação
- Avaliação de nova restrição.
- Avaliação da mudança proposta.
# 8) Tarefas V&V - Fase de Manutenção
- Avaliação das anomalias.
- Avaliação da migração.
- Avaliação das características do novo julgamento.
- Avaliação da mudança proposta.
- Validando os problemas de produção.
Diferença entre verificação e validação
Verificação | Validação |
---|---|
Avalia os produtos intermediários para verificar se atendem aos requisitos específicos de determinada fase. | Avalia o produto final para verificar se ele atende às necessidades do negócio. |
Verifica se o produto é construído de acordo com os requisitos especificados e especificações de design. | Ele determina se o software é adequado para uso e atende às necessidades do negócio. |
Marque “Estamos construindo o produto certo”? | Marca “Estamos desenvolvendo o produto certo”? |
Isso é feito sem executar o software. | É feito com a execução do software. |
Envolve todas as técnicas de teste estático. | Inclui todas as técnicas de teste dinâmico. |
Os exemplos incluem revisões, inspeção e passo a passo. | O exemplo inclui todos os tipos de teste, como fumaça, regressão, funcional, sistemas e UAT. |
Vários padrões
ISO / IEC 12207: 2008
Atividades de verificação | Atividades de Validação |
---|---|
A verificação de requisitos envolve uma revisão dos requisitos. | Prepare os documentos de requisitos de teste, casos de teste e outras especificações de teste para analisar os resultados do teste. |
A verificação do projeto envolve análises de todos os documentos do projeto, incluindo o HLD e o LDD. | Avalie se esses requisitos de teste, casos de teste e outras especificações refletem os requisitos e são adequados para uso. |
A verificação do código inclui a revisão do código. | Teste os valores de limite, estresse e as funcionalidades. |
Verificação de documentação é a verificação de manuais do usuário e outros documentos relacionados. | Teste as mensagens de erro e, em caso de algum erro, o aplicativo é encerrado normalmente. Testa se o software atende aos requisitos de negócios e é adequado para uso. |
CMMI:
Verificação e validação são dois KPAs diferentes no nível de maturidade 3
Atividades de verificação | Atividades de Validação |
---|---|
Execução de revisões por pares. | Verifique se os produtos e seus componentes são adequados ao meio ambiente. |
Verifique os produtos de trabalho selecionados. | Quando o processo de validação está sendo implementado, ele é monitorado e controlado. |
Padronize um processo definido estabelecendo políticas de nível organizacional para planejamento e realização de revisões. | Faça atividades de lições aprendidas e colete informações de melhoria. Institucionalize um processo definido. |
IEEE 1012:
Os objetivos dessas atividades de teste são:
- Facilita a detecção precoce e correção de erros.
- Encoraja e aprimora a intervenção da gestão dentro dos riscos do processo e do produto.
- Fornece medidas de suporte para o processo de ciclo de vida do software, para melhorar a conformidade com os requisitos de cronograma e orçamento.
Quando usar Validar e verificar?
Esses são procedimentos independentes que devem ser empregados em conjunto para verificar se o sistema ou aplicação está em conformidade com os requisitos e especificações e se atinge o propósito pretendido. Ambos são componentes importantes do sistema de gestão da qualidade.
Freqüentemente, é possível que um produto passe pela verificação, mas falhe na fase de validação. Como atendeu aos requisitos e especificações documentados, no entanto, essas especificações foram incapazes de atender às necessidades do usuário. Assim, é importante realizar testes para ambos os tipos para garantir a qualidade geral.
A verificação pode ser usada como um processo interno no desenvolvimento, aumento de escala ou produção. Por outro lado, a validação deve ser usada como um processo externo para obter a aceitação da adequação com as partes interessadas.
UAT é validação ou verificação?
UAT (Teste de Aceitação do Usuário) deve ser considerado como validação. É a validação do mundo real do sistema ou aplicativo, que é feita pelos usuários reais que validam se o sistema está “apto para uso”.
Conclusão
Os processos de V&V determinam se os produtos de uma determinada atividade estão em conformidade com os requisitos e são adequados para seu uso.
Por fim, a seguir estão algumas coisas a serem observadas:
- Em termos muito mais simples (para evitar qualquer tipo de confusão), apenas lembramos que Verificação significa as atividades de revisão ou as técnicas de teste estático e validação significa as atividades reais de execução de teste ou as técnicas de teste dinâmico.
- A verificação pode ou não envolver o próprio produto. A validação definitivamente precisa do produto. A verificação às vezes pode ser realizada nos documentos que representam o sistema final.
- A verificação e a validação não precisam ser necessariamente realizadas pelos testadores. Como você pode ver neste artigo, alguns deles são realizados pelos desenvolvedores e outras equipes.
Isso é tudo que você precisa saber sobre Verificação e validação para serem os PMEs (especialistas no assunto) no assunto.
Leitura recomendada
- Diferença entre Desktop, Teste de Servidor Cliente e Teste da Web
- Teste funcional versus teste de desempenho: deve ser feito simultaneamente?
- Melhores ferramentas de teste de software 2021 (QA Test Automation Tools)
- Teste Funcional Vs Teste Não Funcional
- Teste estático e teste dinâmico - diferença entre essas duas técnicas de teste importantes
- Teste de desempenho vs teste de carga vs teste de estresse (diferença)
- Guia completo de teste de verificação de compilação (teste BVT)
- 101 diferenças entre noções básicas de teste de software