Estimativa, Teste e Inspeção de Software

Slides:



Advertisements
Apresentações semelhantes
Engenharia de Software
Advertisements

ENGENHARIA DE SOFTWARE Garantia de Qualidade de Software
Gerenciamento do escopo
Adélia Barros Testes de Software Adélia Barros
Fundamentos de Engenharia de SW
Débora da Silva Orientadora: Maria Inés Castiñeira
Engenharia de Software
Projeto conceitual Mostra ao cliente exatamente o que o sistema fará
Engenharia de Software
Prototipação de Software
Tópicos Motivação para teste Por que algumas empresas não testam
Verificação e Validação
Gestão de Projetos Áreas de conhecimentos Integração
Professor Sílder Lamas Vecchi
Gerenciamento do escopo do projeto
INTRODUÇÃO A INFORMÁTICA
Mitos e Problemas Relacionados ao Software
Aline Vasconcelos CEFET Campos
Qualidade de Software Aula 2
Revisões de Software Parte 1
Abordagem Estratégica ao Teste de Software
TIPOS DE TESTES APLICÁVEIS E NÃO APLICÁVEIS AO PROJETO
TSDD Teste de segurança durante o desenvolvimento.
Testes – visão geral Vanilson Burégio.
Gerenciamento de Requisitos com Casos de Uso
Modelos de Processos de Software
Introdução aos conceitos de Teste de Software
José Roberto Blaschek Gerência do Escopo José Roberto Blaschek.
Estudo de Caso: Técnicas de Teste como parte do Ciclo de Desenvolvimento de Software Aline Pacheco Patric Ribeiro Diego Kreutz.
Planejamento e Gerenciamento de Projetos
Gerenciamento de Configuração
PMBOK 5ª Edição Capítulo 5
Processos de Desenvolvimento de Software – Parte 2
Gestão de Projetos Ms. Karine R. de Souza
IEEE Std IEEE Melhores Práticas para Especificações de Requisitos de Software (ERS)
Qualidade de Software Aula 2 / 2014/1
Análise e Projeto de Sistemas
Introdução à Qualidade
Tolerância a Falhas em Sistemas Distribuídos
Qualidade Qualidade é um dos principais objetivos da Engenharia de Software. Muitos métodos, técnicas e ferramentas são desenvolvidas para apoiar a produção.
Processo de Aquisição Adilson de Almeida Cezar Meriguetti
Marcio de Carvalho Victorino Processo Unificado. Unidade VI: Teste.
Plano de Manutenção <RedMan>
Documentação de Software
Teste de Software Conceitos iniciais.
Qualidade de Software Aula 4
O que é? É o processo de investigação técnica com intuito de identificar a qualidade, a segurança e a exatidão do software desenvolvido. A validação do.
Gestão de defeitos.
EPR16 – Planejamento e Gestão da Qualidade Professora Michelle Luz
RUP - Cap. 3 – Processo Dirigido por Caso de Uso
Processos de Software.
PROCESSO DE DESENVOLVIMENTO DE SOFTWARE AULA 5
Engenharia de Software
Análise e Projeto de Sistemas Orientado a Objetos Profa. Ana Karina Barbosa.
Gerenciamento de Qualidade
Estimativa, Teste e Inspeção de Software
Verificação e Validação
Qualidade de Produtos de Software
Professor: Ygor Colen Morato
Gerenciamento de Configuração de Software
Testes (verificação e validação)
RUP – Rational Unified Process Márcia Seabra Cabral Prof. Augusto Sampaio Centro de Informática - UFPE.
ISO9001:2000 para Software Professor: Alexandre Vasconcelos Equipe: Amanda Pimentel Börje Karlsson Danielly Karine Erika Pessoa Jorge Cavalcanti Jose Edson.
TÉCNICAS DE ESTIMATIVAS
1 Estimativa, Teste e Inspeção de Software Gerência de Projetos: Estimativa de Software Marcos Camada
Processos de Software Ludimila Monjardim Casagrande 1º Semestre Desenvolvimento e Qualidade.
©Jaelson Castro 2000 Slide 1 Engenharia de Requisitos Uma introdução a engenharia de requisitos.
Testes de Sistemas Professor: Ygor Colen Morato. Conceitos Básicos Processo de software - Processo de software, ou processo de engenharia de software,
Testes de Sistemas Professor: Ygor Colen Morato. Conceitos Básicos Processo de software - Processo de software, ou processo de engenharia de software,
TESTES DE SOFTWARE – AULA 1 Prof. Me. Ronnison Reges Vidal
Transcrição da apresentação:

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ões Técnicas Formais Métodos de Engenharia De Software Padrões E Procedimentos SCM e SQA Atividade De Teste Medição

Diferença entre Verificação e Validação Validação: “Estamos construindo o produto correto?” Desenvolvedor Cliente Não atende a expectativa do Cliente

Diferença entre Verificação e Validação Verificação: “Estamos construindo o produto corretamente?” Desenvolvedor Cliente Não atende os requisitos funcionais e não-funcionais

- Revisões dos Requisitos Quando é Realizado? Linha do Tempo V&V - Revisões dos Requisitos Atividade de Desenvolvimento V&V Teste do Produto V&V Revisão do Projeto; Inspeção do Código;

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.

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.

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?

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.

Abordagens do V&V As duas abordagens são complementares no processo do software. Inspeções de Software Especificações de Requisitos Projeto de alto nível Especificações Formal Projeto detalhado Programa Teste de Programa Protótipo

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.

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.

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.

Testar programa novamente Abordagens do V&V O processo de depuração depende da experiência do programador Projetar testes; Rastrear o programa manualmente; Utilizar ferramentas apropriadas Resultados dos erros Casos de testes Especificação Localizar erros Projetar Reparo de erros Reparar erros Testar programa novamente - Teste de regressão Rastreabilidades dos casos de teste

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.

Planejamento de V&V Modelo V Especificação de requisitos Especificação de sistema Projeto de sistema Projeto detalhado Código unitário E de módulo, e teste Plano de teste de integração do sistema Plano de teste de integração de subsistemas Plano de teste de aceitação Teste de aceitação Teste de integração de sistemas Serviço Teste de integração de subsistemas

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.

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

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.

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.

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.

Equipe de Inspeção Papéis no processo de inspeção: Autor e proprietário: responsável pelo programa ou documento; Inspetor: responsável por inspecionar o programa ou documento; Leitor: apresenta o código ou documento na reuninão de inspeção; Relator: registra os resultados da reunião de inspeção; Presidente ou moderador: gerencia e facilita a inspeção. Relata os resultados do processo ao moderador-chefe; 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..

Processo de Inspeção Planejamento Visão Geral Acompanhamento Preparação Individual Retrabalho Reunião de Inspeção

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?

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?

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?

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?

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?

Verificações de Inspeção Defeitos de gerenciamento de exceções Todas as condições possíveis de erro foram consideradas?