Verificação & Validação

Introdução

 

Na maioria das vezes os testes são realizados após a codificação do programa, esta fase é considerada como crítica, pois muitas vezes o projeto está com entrega atrasada e orçamento estourado.

 

O Modelo-V preconiza que as atividades de testes devem iniciar desde o início do ciclo de vida de desenvolvimento do software. Começando com as revisões dos requisitos, inspeções/revisões de código até os testes de software.

 

A utilização deste modelo minimiza os custos da não qualidade do software e segundo a regra 10 de Myers quanto mais cedo um defeito for encontrado, menor será o custo para sua correção. Além disso:

 

– Os testes unitários podem remover entre 30% a 50% dos defeitos dos programas.

– Os testes de sistemas podem remover entre 30% a 50% dos defeitos remanescentes.

– Os sistemas podem entrar em produção ainda com 49% de defeitos.

– Revisões de código podem reduzir entre 20 a 30% desses defeitos.

 

bugs

Figura 1 – Custo: Evolução por Fase

 

 

Processo de Verificação – (Quality Assurance)

 

A Verificação tem como objetivo assegurar através da utilização de técnicas como inspeções de software se os requisitos são completos, não ambíguos, realizáveis, testáveis e relevantes.

 

As inspeções podem ser realizadas, por exemplo, nos documentos de especificações de requisitos, casos de uso, especificações funcionais, especificação técnica e código fonte. Esta técnica é considerada como estática, pois não requer a execução de um sistema. [1]

 

Além disso, a Verificação é considerada uma das etapas mais baratas para identificar e corrigir os defeitos essa ideia foi espelhada posteriormente nos modelos CMM/CMMI, MPS.br dentre outros.

 

Processo de Validação – (Quality Control)

 

A Validação tem como objetivo assegurar através da aplicação, por exemplo, das estratégias de testes e técnicas que o produto final corresponde aos requisitos de negócio definidos juntamente com o usuário.

 

Na figura abaixo foi colocada a palavra start, exatamente para demonstrar que neste momento é necessária a execução do software/programa para realização dos testes. Como a Validação envolve a execução de uma implementação de software, este é considerado como técnica dinâmica de V&V.[1]

 

 

Modelo V

 

Figura 2 – Modelo-V

 

Resumidamente, os testes indicados abaixo têm como objetivo:

 

– Testes Unitários: validar a lógica interna do sistema.

– Testes de Integração: validar a integração entre módulos/componentes.

– Testes de Sistema: validar o sistema em funcionamento contra os requisitos especificados.

– Testes de Aceitação: validação do sistema pelo usuário final.

 

Considerações Finais

 

Neste artigo, foi demonstrado que os defeitos encontrados nas fases iniciais do desenvolvimento de software são mais baratos de serem corrigidos do que aqueles encontrados na produção.

 

O Modelo-V é considerado como pró-ativo, pois a área de testes está envolvida desde o início do ciclo de vida do desenvolvimento de software. Além disso, mostra que:

 

– O processo de testes é paralelo e integrado ao processo de desenvolvimento de software;

– As atividades de testes devem ser iniciados o quanto antes para minimizar os custos;

– A disciplina de testes de software não é uma atividade baseada somente na execução de uma aplicação/programa;

– Existe uma série de atividades que devem ser realizadas antes do término da codificação.

 

Referência

 

[1] Sommerville, Ian. Engenharia de Software, 6ª edição. Addison Wesley.

 

Obrigada!

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *