Verificação e Validação

Rafael Vasconcelos do Nascimento Universidade Federal do Acre Engenharia de Software II

Verificação e Validação ‡ O que é? ‡ Segundo (Sommerville. . 2003) é o nome dado aos processos de verificação e análise. a fim de assegurar que o software cumpra com suas especificações e atenda às necessidades dos clientes que estão pagando por ele.

Verificação estamos construindo o produto corretamente? Checa se o software cumpre com suas especificações. .

.Validação estamos construindo o produto correto? Assegurar que o software atenda às expectativas do cliente.

.Qualidade de Software ‡ Um dos princípios da Engenharia de Software. ‡ A garantia de qualidade na Engenharia de Software está diretamente ligada com atender os requisitos funcionais e não-funcionais envolvidos no sistema. Esta ligação define o nível de confiabilidade do software.

. tais como: concorrência. ‡ Expectativas do usuário: usuário vem se tornando mais exigente e. ‡ Ambiente de mercado: o esforço a ser empregado no processo de V&V depende de vários fatores. preço que o cliente está disposto a pagar. ‡ Nível de confiabilidade depende de: ‡ Função do software: o quão crítico o software é para a organização (objetivo para o qual ele foi desenvolvido). é menos aceitável entregar sistemas não confiáveis. cronograma. o que implica em maior dedicação aos processos de V&V.Verificação e Validação ‡ Estabelecer a confiança de que o software está adequado ao seu propósito. hoje.

São técnicas dinâmicas. código-fonte do programa). Podem ser aplicadas em todos os estágios do processo. ‡ Testes de software: executam uma implementação do software com os dados de teste. se o sistema se comporta conforme o esperado.Abordagens para a verificação e análise de sistemas do processo de V&V ‡ Inspeções de software ou revisões por pares: analisam e verificam as representações do sistema (documento de requisitos. a fim de examinar as saídas e o comportamento operacional. São técnicas estáticas. . assim. verificando-se. diagramas de projeto. pois não requerem que o sistema seja executado.

. ou seja.Tarefas do processo de V&V ‡ ‡ ‡ ‡ Revisões dos requisitos Revisões de projeto Inspeções de código Testes de produto ‡ As revisões de requisitos e revisões de projeto são as principais técnicas usadas para detecção de erros na especificação e no projeto. elas não podem demonstrar que o software é útil operacionalmente. nem verificar desempenho e confiabilidade. ‡ Técnicas de inspeção (estáticas) podem apenas verificar a correspondência entre um programa e sua especificação.

são utilizados para validar um software. pois utilizam dados processados pelo programa (descoberta de defeitos ou inadequações. ‡ Podem ser realizados durante e após a fase de implementação. . ‡ Normalmente.Tarefas do processo de V&V ‡ Quanto aos testes de software: ‡ São mais utilizados. mesmo após a aplicação das inspeções. pelo exame das saídas geradas).

O desempenho do programa é medido pelo tempo de execução e o tempo de resposta do sistema. . além de checar como ele trabalha sob condições operacionais. encontrando inconsistências entre o programa e sua especificação. Observa-se o número de falhas no sistema.Tarefas do processo de V&V ‡ Tipos de testes utilizados nos estágios do processo de software: ‡ Teste de validação: mostrar que o software atende aos requisitos do cliente. que visam testar o desempenho e a confiabilidade do programa. São usados os testes estatísticos. ‡ Teste de defeitos: o objetivo é revelar defeitos no sistema.

Isto que dizer que para executar testes.V&V ‡ Os Testes são feitos executando determinada funcionalidade passando uma certa massa de dados e avaliando o comportamento do software. ‡ Já a verificação do software pode (e em geral é feita) ser feita sem necessariamente ter uma implementação. . o módulo em questão já deve ter alguma implementação apresentando um determinado comportamento.

‡ Definição do plano de teste de software.Planejamento de V&V ‡ V&V é um processo dispendioso. ‡ É necessário planejamento cuidadoso para controlar os custos do processo de V&V e obter o máximo de inspeções e testes. ‡ Especificação de padrões e procedimentos para as inspeções e os testes de software. . ‡ Equilíbrio entre as abordagens estáticas e dinâmicas para a verificação e validação. ‡ Estabelecimento de checklists para orientar as inspeções de programa.

. XP).Plano de Testes ‡ Destinado aos engenheiros de software envolvidos em projetar e realizar os testes. ‡ Em processos ágeis (por exemplo. ‡ Planejamento do processo de testes. o teste é inseparável do desenvolvimento. mas evoluem durante o processo de desenvolvimento (atrasos nos estágios do processo). ‡ Planos de teste não são documentos estáveis. ‡ Estabelecimento do cronograma e dos procedimentos de teste. ‡ Define os recursos de hardware e software necessários.

Sign up to vote on this title
UsefulNot useful