Estimativa, Teste e Inspeção de Software Introdução a V&V Marcos Camada...

29
Estimativa, Teste e Inspeção de Software Introdução a V&V Marcos Camada [email protected]

Transcript of Estimativa, Teste e Inspeção de Software Introdução a V&V Marcos Camada...

Page 1: Estimativa, Teste e Inspeção de Software Introdução a V&V Marcos Camada marcos.camada@catu.ifbaiano.edu.br.

Estimativa, Teste e Inspeção de Software

Introdução a V&V

Marcos [email protected]

Page 2: Estimativa, Teste e Inspeção de Software Introdução a V&V Marcos Camada marcos.camada@catu.ifbaiano.edu.br.

Verificação & Validação

O que é V&V? É um conjunto de processos de verificação e

análise.

Qual é Objetivo?

Qualidade

RevisõesTécnicasFormais

Métodos de EngenhariaDe Software

PadrõesE

Procedimentos

SCMe

SQA

AtividadeDe

Teste

Medição

Page 3: Estimativa, Teste e Inspeção de Software Introdução a V&V Marcos Camada marcos.camada@catu.ifbaiano.edu.br.

Diferença entre Verificação e Validação Validação: “Estamos construindo o produto

correto?”

Cliente Desenvolvedor

Não atende a expectativa do Cliente

Page 4: Estimativa, Teste e Inspeção de Software Introdução a V&V Marcos Camada marcos.camada@catu.ifbaiano.edu.br.

Diferença entre Verificação e Validação Verificação: “Estamos construindo o produto

corretamente?”

Não atende os requisitos funcionais

e não-funcionais

ClienteDesenvolvedor

Page 5: Estimativa, Teste e Inspeção de Software Introdução a V&V Marcos Camada marcos.camada@catu.ifbaiano.edu.br.

Quando é Realizado?

Linha do Tempo

Atividadede

Desenvolvimento

V&V- Revisões dos Requisitos

V&V-Revisão do Projeto;-Inspeção do Código;

V&V-Teste do Produto

Page 6: Estimativa, Teste e Inspeção de Software Introdução a V&V Marcos Camada marcos.camada@catu.ifbaiano.edu.br.

Principal Problema

Nem sempre as especificações de sistema de software refletem os verdadeiros desejos ou necessidades dos usuários ou dos proprietários de sistemas.

Page 7: Estimativa, Teste e Inspeção de Software Introdução a V&V Marcos Camada marcos.camada@catu.ifbaiano.edu.br.

Verificação & Validação

O sistema de software está “adequado” ao seu propósito? O sistema deve ser bom o suficiente para o uso

pretendido.

O Nível de confiabilidade depende de: Propósito do sistema; Expectativa dos usuários; Expectativa do atual ambiente de mercado.

Page 8: Estimativa, Teste e Inspeção de Software Introdução a V&V Marcos Camada marcos.camada@catu.ifbaiano.edu.br.

Dependencia do Nível de Confiabilidade Propósito do Sistema (Função do Software)

Qual é o nível crítico do sistema? Expectativa do Usuário

Não frustrar a expectativa do Usuário O usuário está se tornando cada vez mais

intolerante à falhas do sistema. Expectativa do Ambiente de Mercado

Quem são os concorrentes? Meu produto é inovador?

Page 9: Estimativa, Teste e Inspeção de Software Introdução a V&V Marcos Camada marcos.camada@catu.ifbaiano.edu.br.

Abordagens do V&V

Inspeção de Software (Revisões em Pares) Analisar e verificar as representações do sistema

(requisitos, diagramas de projeto e código-fonte do programa);

Pode ser usado em todo os estágios do projeto; Técnica estática;

Teste de Software Executar as implementações do software com dados de

teste; Verifica-se a saída e seu desempenho; Técnica dinâmica.

Page 10: Estimativa, Teste e Inspeção de Software Introdução a V&V Marcos Camada marcos.camada@catu.ifbaiano.edu.br.

Abordagens do V&V

As duas abordagens são complementares no processo do software.

Inspeçõesde Software

Especificaçõesde Requisitos

Projeto dealto nível

EspecificaçõesFormal

Projetodetalhado

Programa

Protótipo Teste dePrograma

Page 11: Estimativa, Teste e Inspeção de Software Introdução a V&V Marcos Camada marcos.camada@catu.ifbaiano.edu.br.

Abordagens do V&V

A técnica de teste é a principal técnica a ser utilizada no processo de V&V de um Software.

O que é Teste de Software? Exercitar o programa usando dados como dados

reais processados pelo programa.

Page 12: Estimativa, Teste e Inspeção de Software Introdução a V&V Marcos Camada marcos.camada@catu.ifbaiano.edu.br.

Abordagens do V&V

Tipos de Testes: Teste de Validação

Verifica se o Software atende os requisitos; Teste de Defeitos

Visa revelar defeitos no sistema e/ou inconsistências entre um programa e sua especificação.

Page 13: Estimativa, Teste e Inspeção de Software Introdução a V&V Marcos Camada marcos.camada@catu.ifbaiano.edu.br.

Abordagens do V&V

O processo de teste na V&V e Depuração normalmente são intercalados.

Objetivo do Teste na V&V Estabelecer a existência de defeitos em um

sistema de software; Objetivo da Depuração

Localizar e corrigir esses defeitos.

Page 14: Estimativa, Teste e Inspeção de Software Introdução a V&V Marcos Camada marcos.camada@catu.ifbaiano.edu.br.

Abordagens do V&V

O processo de depuração depende da experiência do programador Projetar testes; Rastrear o programa manualmente; Utilizar ferramentas apropriadas

ProjetarReparo de erros

Repararerros

Testar programanovamente

Casos detestes

Resultadosdos erros Especificação

Localizarerros

- Teste de regressão- Rastreabilidades

dos casos de teste

Page 15: Estimativa, Teste e Inspeção de Software Introdução a V&V Marcos Camada marcos.camada@catu.ifbaiano.edu.br.

Planejamento de V&V

É um processo dispendioso; Quando mais crítico maior o esforço deve ser

dedicado as técnicas de Verificação estática. Objetivos do Plano de Teste:

Estabelecer um cronograma e os procedimentos de teste;

Define os recursos de hardware e software necessários

Os planos de teste não são documentos estáticos.

Page 16: Estimativa, Teste e Inspeção de Software Introdução a V&V Marcos Camada marcos.camada@catu.ifbaiano.edu.br.

Planejamento de V&V

Modelo V

Especificação de requisitos

Projetodetalhado

Código unitárioE de módulo,

e teste

Teste de integraçãode subsistemas

Teste de integraçãode sistemas

Teste deaceitação

Serviço

Plano de testede aceitação

Plano de testede integração

do sistema

Plano de testede integração

de subsistemas

Especificaçãode sistema

Projetode sistema

Page 17: Estimativa, Teste e Inspeção de Software Introdução a V&V Marcos Camada marcos.camada@catu.ifbaiano.edu.br.

Inspeções de Software

Faz parte do processo estático do V&V; Pesquisas demonstram que Inspeção de

Soft. é mais eficientes que testes de programas;

A Inspeção e Teste devem ser feito em conjunto.

Objetivos: Encontrar erros, omissões e anomalias no

sistema.

Page 18: Estimativa, Teste e Inspeção de Software Introdução a V&V Marcos Camada marcos.camada@catu.ifbaiano.edu.br.

Inspeções de Software

Enfoca em qualquer representação legível do software Código-fonte; Requisitos; Modelo de projeto.

Page 19: Estimativa, Teste e Inspeção de Software Introdução a V&V Marcos Camada marcos.camada@catu.ifbaiano.edu.br.

Inspeções de Software

Necessidades para uma Inspeção com qualidade: Conhecimento do sistema; Domínio de aplicação; Linguagem de programação; Modelo de projeto.

Page 20: Estimativa, Teste e Inspeção de Software Introdução a V&V Marcos Camada marcos.camada@catu.ifbaiano.edu.br.

Vantagens da Inspeção em Relação ao Teste Sem influência de mascaramento de erros

por outros erros; Possibilidade de inspecionar versões

incompletas sem custo adicional; Possibilidade de verificar atributos de

qualidades mais amplos: Conformidade com padrões; Portabilidade; Facilidade de manutenção; Uso de algoritmo ineficiente ou inapropriado.

Page 21: Estimativa, Teste e Inspeção de Software Introdução a V&V Marcos Camada marcos.camada@catu.ifbaiano.edu.br.

Equipe de Inspeção

Analisam sistematicamente a representação do sistema a procura por erros;

Requisitos para realizar a Inspeção de Software: Especificação precisa do código-fonte; A equipe de inspeção devem estar familiarizados

cm os padrões organizacionais; Disponibilidade de uma versão executável do

sistema.

Page 22: Estimativa, Teste e Inspeção de Software Introdução a V&V Marcos Camada marcos.camada@catu.ifbaiano.edu.br.

Equipe de Inspeção Papéis no processo de inspeção:

1. Autor e proprietário: responsável pelo programa ou documento;

2. Inspetor: responsável por inspecionar o programa ou documento;

3. Leitor: apresenta o código ou documento na reuninão de inspeção;

4. Relator: registra os resultados da reunião de inspeção;5. Presidente ou moderador: gerencia e facilita a

inspeção. Relata os resultados do processo ao moderador-chefe;

6. Moderador-chefe: responsável pelos aprimoramento do processo de inspeção, pela atualização da lista de verificação, pelo desenvolvimento de padrões, etc..

Page 23: Estimativa, Teste e Inspeção de Software Introdução a V&V Marcos Camada marcos.camada@catu.ifbaiano.edu.br.

Processo de Inspeção

Planejamento

Visão Geral

PreparaçãoIndividual

Reunião deInspeção

Retrabalho

Acompanhamento

Page 24: Estimativa, Teste e Inspeção de Software Introdução a V&V Marcos Camada marcos.camada@catu.ifbaiano.edu.br.

Verificações de Inspeção

Defeitos de dados Todas as variáveis de programa são iniciadas

antes que seus valores sejam usados? TOdas as constantes foram denominadas? O limite superior de vetores deve ser igual ao

tamanho do vetor ou Tamanho -1? Se são usados strings de caracteres, um

delimitador é explicitamente atribuído? Existe alguma possibilidade de overflow de

buffer?

Page 25: Estimativa, Teste e Inspeção de Software Introdução a V&V Marcos Camada marcos.camada@catu.ifbaiano.edu.br.

Verificações de Inspeção

Defeitos de controle Para cada declaração condicional, a condição

está correta? Cada loop está terminando corretamente? As declarações compostas estão corretamente

delimitadas entre parênteses? Em declarações de ‘case’, todos os casos

possíveis são levados em conta? Se um comando ‘break’ é necessário após cada

caso nas declarações ‘case’, ele foi incluído?

Page 26: Estimativa, Teste e Inspeção de Software Introdução a V&V Marcos Camada marcos.camada@catu.ifbaiano.edu.br.

Verificações de Inspeção

Defeitos de E/S Todas as variáveis de entrada são usadas? Todas as variáveis de saída tem valor atribuído

antes de sua saída? Entradas inesperadas podem fazer com que os

dados sejam corrompidos?

Page 27: Estimativa, Teste e Inspeção de Software Introdução a V&V Marcos Camada marcos.camada@catu.ifbaiano.edu.br.

Verificações de Inspeção

Defeitos de interface Todas as chamadas de funções e de métodos

têm o número correto de parâmetros? Tipos de parâmetros reais e formais se

combinam? Os parâmetros estão na ordem correta? Se os componentes acessam memória

compartilhada, elas têm o mesmo modelo de estrutura de memória compartilhada?

Page 28: Estimativa, Teste e Inspeção de Software Introdução a V&V Marcos Camada marcos.camada@catu.ifbaiano.edu.br.

Verificações de Inspeção

Defeitos de gerenciamento de armazenamento Se uma estrutura ligada é modificada, todas as

ligações foram corretamente reatribuídas? Se o armazenamento dinâmico foi usado, o

espaço foi corretamente alocado? O espaço de memória é liberado depois de não

ser mais necessário?

Page 29: Estimativa, Teste e Inspeção de Software Introdução a V&V Marcos Camada marcos.camada@catu.ifbaiano.edu.br.

Verificações de Inspeção

Defeitos de gerenciamento de exceções Todas as condições possíveis de erro foram

consideradas?