Gerência e Qualidade de Software - Aula 05 - Verificação e Validação
Processos de Verificação e Validação no Desenvolvimento de Software
Introdução aos Processos VV
- A aula aborda os processos de verificação e validação (VV), essenciais para o desenvolvimento de software, com exemplos práticos em uma empresa real.
Diferença entre Teste, Verificação e Validação
- O teste é apenas uma parte dos processos VV; a verificação e validação são métodos disciplinares para avaliar a qualidade do software.
- Além do software, outros artefatos como manuais e modelos também podem ser analisados pelos processos VV.
Tipos de Análise
- A análise pode ser estática (sem execução do software) ou dinâmica (com execução). Revisões são um exemplo de análise estática.
- A verificação assegura que os produtos atendem aos requisitos especificados, enquanto a validação verifica se o produto atende às necessidades reais dos usuários.
Técnicas de Verificação
- Técnicas como "mode checking" podem ser usadas na definição e análise de requisitos para garantir sua viabilidade.
- Durante a implementação, práticas como integração contínua ajudam na verificação da qualidade do código.
Validação no Processo de Desenvolvimento
- A validação envolve demonstrar que o produto atende às necessidades quando colocado em seu ambiente desejado. Isso requer participação ativa dos stakeholders.
- Prototipagem e simulações são métodos eficazes para validar produtos durante as fases iniciais do desenvolvimento.
Importância da Verificação e Validação
- Realizar testes de aceitação permite que clientes validem o software antes da entrega final.
- Quanto mais verificações e validações forem feitas, maior será a chance de atender tanto à especificação quanto às necessidades dos stakeholders.
Conclusão sobre Processos VV
- Os processos VV têm objetivos distintos: verificar se o software foi construído corretamente versus validar se ele atende ao propósito desejado.
Como Funciona o Processo de Verificação Legal em Desenvolvimento de Software
Revisão de Código e Colaboração
- O processo de verificação legal envolve a revisão do código, onde desenvolvedores submetem suas funcionalidades para que outros membros da equipe revisem. Essa prática promove a colaboração e garante que todos no time estejam familiarizados com o código.
- A revisão não é feita por uma única pessoa, mas sim por vários membros da equipe, acreditando-se que isso agrega valor ao projeto como um todo.
Testes Automatizados
- É importante utilizar testes automatizados em diferentes níveis, desde testes unitários até testes de integração. Isso assegura que cada parte do código funcione conforme esperado.
- Além dos testes manuais, existe a análise tática do código, onde ferramentas automatizadas verificam se o código segue os padrões definidos pela equipe.
Padrões e Qualidade do Código
- Cada equipe deve definir seus próprios padrões de codificação, incluindo estilo e nomenclatura. Ferramentas ajudam a identificar "code smells", ou partes problemáticas no código.
- A prática ágil sugere que os desenvolvedores dediquem tempo à reflexão sobre suas funções antes da implementação para melhorar a qualidade do software.
Validação e Feedback Contínuo
- O processo de validação é crucial para garantir que o software atenda às necessidades do cliente. Isso começa na fase de especificação com desenhos e protótipos.
- Durante o desenvolvimento, as funcionalidades são testadas em um ambiente interno acessível a todos os membros da equipe para feedback contínuo.
Homologação e Entrega Final
- Após finalizar as interações, um pacote com todas as funcionalidades é enviado para um ambiente de homologação onde o cliente pode verificar se tudo está conforme desejado.