Teste de Software. Profa. Cátia dos Reis Machado catia@ifc-camboriu.edu.br



Documentos relacionados
Teste de Software. Profa. Cátia dos Reis Machado

Engenharia de Software

Fundamentos de Teste de Software

1. Qual das seguintes alternativas não é um tipo de revisão? 2. Qual das alternativas é um atributo da qualidade?

Requisitos. Sistemas de Informações

Conteúdo. Disciplina: INF Engenharia de Software. Monalessa Perini Barcellos

Garantia da Qualidade de Software

Processo de Desenvolvimento Unificado

Gerência de Projetos

GARANTIA DA QUALIDADE DE SOFTWARE

Gerência de Projetos Prof. Dr. Sandro Ronaldo Bezerra Oliveira

Engenharia de Requisitos

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software

Requisitos de Software. Requisitos de Software. Requisitos de Software. Requisitos de Software. Requisitos de Software. Requisitos de Software

MÉTRICAS DE SOFTWARE

Fundamentos em Teste de Software. Vinicius V. Pessoni

Unidade VI. Validação e Verificação de Software Teste de Software. Conteúdo. Técnicas de Teste. Estratégias de Teste

Engenharia de Software

Introdução Visão Geral Processos de gerenciamento de qualidade. Entradas Ferramentas e Técnicas Saídas

Modelo para Documento de. Especificação de Requisitos de Software

ISO/IEC 12207: Gerência de Configuração

Requisitos de Software. Teresa Maciel DEINFO/UFRPE

ARCO - Associação Recreativa dos Correios. Sistema para Gerenciamento de Associações Recreativas Plano de Desenvolvimento de Software Versão <1.

Pós-Graduação em Gerenciamento de Projetos práticas do PMI

Processo de Desenvolvimento de Sites

TRABALHO DE DIPLOMAÇÃO Regime Modular ORIENTAÇÕES SOBRE O ROTEIRO DO PROJETO FINAL DE SISTEMAS DE INFORMAÇÕES

Modelos de Qualidade de Produto de Software

Qualidade de Software. Prof.: Ivon Rodrigues Canedo. PUC Goiás

c. Técnica de Estrutura de Controle Teste do Caminho Básico

Modelo para Documento de. Especificação de Requisitos de Software

Engenharia de Software. Parte I. Introdução. Metodologias para o Desenvolvimento de Sistemas DAS

Atividade da gerência da qualidade

ENGENHARIA DE SOFTWARE I

build UNIP Sistemas de Informação Análise Essencial de Sistemas 3 Prof.Marcelo Nogueira A produção de Software é uma atividade build and fix.

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia.

REQUISITOS. Prof. Msc. Hélio Esperidião

A Importância do Controle da Qualidade na Melhoria de Processos de Software. Ana Liddy Cenni de Castro Magalhães

ANEXO X DIAGNÓSTICO GERAL

O Rational Unified Process (RUP) é um processo de desenvolvimento de software inspirado no

Requisitos de Software

Engenharia de Software II

Gestão de Modificações. Fabrício de Sousa

Roteiro para a escrita do documento de Especificação de Requisitos de Software (ERS)

PRODUTOS RIOSOFT COM SUBSÍDIO SEBRAEtec

Engenharia de Requisitos

MASTER IN PROJECT MANAGEMENT

Prova de Conhecimento para Consultores de Implementação MPS.BR INSTRUÇÕES

Engenharia de Software

O Impacto da Engenharia de Requisitos no Processo de Métricas. Fátima Cesarino CAIXA

Engenharia de Software na Prática Hélio Engholm Jr.

O Processo Unificado: Captura de requisitos

Feature-Driven Development

Engenharia de Software

Introdução à ES - Continuação

Gerenciamento de Integração do Projeto Planejamento e Execução do Projeto

SIMULADO: Simulado 3 - ITIL Foundation v3-40 Perguntas em Português

rosefib.webnode.com.br

Modernização e Evolução do Acervo de Software. Gustavo Robichez de Carvalho guga@les.inf.puc-rio.br

Dicionário da EAP - Software FarmaInfor

! Software e Engenharia de Software! Engenharia de Software e Programação! Histórico. " Crise do Software

Padrões de Qualidade e Métricas de Software. Aécio Costa

Qualidade de Processo de Software Normas ISO e 15504

AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0

PLANEJAMENTO OPERACIONAL - MARKETING E PRODUÇÃO MÓDULO 3 O QUE É PLANEJAMENTO DE VENDAS E OPERAÇÕES?

Métodos de Avaliação para Sites de Entretenimento. Fabricio Aparecido Breve Prof. Orientador Daniel Weller

Roteiro SENAC. Análise de Riscos. Monitoramento e Controle de Riscos. Monitoramento e Controle de Riscos. Monitoramento e Controle de Riscos

O modelo unificado de processo. O Rational Unified Process, RUP.

Uma Metodologia para Teste de Software no Contexto da Melhoria de Processo

DISCIPLINA ENGENHARIA DE SOFTWARE Aula 03 Desenvolvimento Ágil Modelos Ágeis. Profª Esp.: Maysa de Moura Gonzaga

Engenharia de Software I: Análise e Projeto de Software Usando UML

A Disciplina Gerência de Projetos

Tipos de teste de software

! Software e Engenharia de Software! Engenharia de Software e Programação! Histórico. " Crise do Software

Uma Abordagem usando PU

Extração de Requisitos

Nome da Empresa. <Nome do Projeto> Plano de Desenvolvimento de Software. Versão <1.0>

Aula 7 Elaboração do Plano de Gerenciamento da Qualidade

RUP. Evolução. Principais Características do RUP. Principais Características do RUP RUP

Gestão da Qualidade Políticas. Elementos chaves da Qualidade 19/04/2009

Análise e Projeto Orientados a Objetos Aula IV Requisitos. Prof.: Bruno E. G. Gomes IFRN

APOO Análise e Projeto Orientado a Objetos. Requisitos

Preparando a Implantação de um Sistema de Gestão da Qualidade

Qualidade de Produtos de Software

LEVANTAMENTO DE REQUISITOS. Lílian Simão Oliveira

Gerenciamento de Requisitos Gerenciamento de Requisitos

Introdução ao Design

NORMA ISO/IEC Isac Aguiar isacaguiar.com.br

Projeto de Sistemas I

Engenharia de Software

Levantamento, Análise e Gestão Requisitos. Aula 12

Requisitos de Software

Workshop de Teste de Software. Visão Geral. Emerson Rios

Metodologia de Gerenciamento de Projetos da Justiça Federal

Transcrição:

Teste de Software Profa. Cátia dos Reis Machado catia@ifc-camboriu.edu.br

Qualidade Garantia de Qualidade Qualidade do processo Qualidade do produto Testes Estáticos Testes Dinâmicos

Teste de software Teste de software é o processo de executar um programa com o objetivo de encontrar erros. Fonte: (Myer, 1979) Teste de software é o processo formal de avaliar um sistema ou comportamento de um sistema por meios manuais ou automáticos para verificar se ele satisfaz os requisitos especificados ou identificar diferenças entre os resultados esperados e os obtidos. Fonte: (IEEE 729, 1983)

Testes podem mostrar a presença de erros, não a sua ausência (Dijkstra)

Testes são tentativas sistemáticas de encontrar erros em programa que você acha que está funcionando.

Analisa os artefatos estaticamente (revisões) Podem ser utilizados em todas as fases do desenvolvimento de software Esta técnica não demonstra que o software é útil operacionalmente, já que não podemos testar algumas características do software como: eficiência, confiabilidade, usabilidade. Revisões (inconsistência, ambiguidade, etc...)

Teste dinâmico Consiste em executar o programa usando dados reais de entrada e avaliar se as saídas obtidas estão de acordo com as saídas esperadas.

Quem já utilizou teste estático no desenvolvimento de software?

Propagação de defeitos entre as fases do ciclo de vida de desenvolvimento Informação perdida durante a transformação Informação transformada incorretamente Transformações inconsistentes a partir de uma mesma fonte de informação Abstração

Custo relativo para corrigir um defeito Teste estático Custo relativo para a correção de um defeito Tempo

A revisão tem o objetivo de assegurar que: O artefato satisfaz as especificações funcionais e atributos de qualidade O artefato atende às necessidades do cliente O artefato cumpre com as regulamentações, regras, políticas, planejamentos e procedimentos, identificando os possíveis desvios

O que pode ser revisado? Especificações de requisitos Modelos de processos Regras de negócio Casos de teste Código Arquitetura

Tipos de defeitos encontrados nos artefatos Defeito Descrição Fato incorreto Omissão Inconsistência Ambiguidade Informações no artefato de software contradizem as informações presentes na especificação de requisitos ou o conhecimento geral de domínio As informações necessárias sobre o sistema foram omitidas do artefato de software Informações em parte do artefato encontra-se inconsistente com outras partes do artefato Possibilita ao desenvolvedor interpretar as informações de diferentes maneiras, podendo não levar a uma implementação correta Informação estranha Informações que não são necessárias ou não são usadas Fonte: adaptado de IEEE 830, 1999)

Classificação por tipo de revisões Dependendo da formalidade da revisão podemos classificar as principais técnicas de revisão em: Mais formal Menos formal Inspeção Walkthrough Pair programming Deskcheck Revisão Ad hoc

Inspeção O processo de inspeção compreende várias etapas: Coleta dos artefatos a serem utilizados (analisados) Inspeção propriamente dita Acompanhamento da correção de defeitos Os participantes desempenham diferentes papéis, dependendo da etapa de desenvolvimento e grau de conhecimento e envolvimento com o projeto

Inspeção

Inspeção No Planejamento os inspetores são selecionados e os materiais a serem revisados são preparados; Na Apresentação, o grupo recebe instruções essenciais sobre o material a ser inspecionado, especialmente sobre o que deve ser inspecionado; Na Preparação, integrantes do time de inspeção se preparam para desempenhar o papel designado a cada um; Na Reunião de Inspeção os defeitos são encontrados, discutidos e categorizados;

Inspeção No Retrabalho o autor do documento corrige os defeitos encontrados pelo time de inspeção; Na etapa de Acompanhamento, o time de inspeção é responsável por assegurar que todos os defeitos encontrados foram corrigidos e nenhum outro tipo de defeito foi introduzido na fase de retrabalho. O acompanhamento também pode ser realizado somente pelo moderador.

Walkthrough (revisão de apresentação) O autor apresenta o artefato em ordem lógica passo a passo, justifica porque tomou determinadas decisões. O grupo verifica o material a medida que vai sendo apresentado. Os revisores analisam a proposta e procuram apontar falhas e apresentar sugestões.

Programação em pares Dois desenvolvedores trabalham simultaneamente no mesmo programa. Esta abordagem facilita a comunicação, revisão das ideias O programa é revisto por duas pessoas

Deskcheck É um processo onde procura-se erros em um artefato ou produto de software É realizado pela própria pessoa que desenvolveu o material Peer-Deskcheck É usado quando o autor distribui o artefato para outra pessoa e solicita uma revisão (informal) presencial Passaroud É usado quando o autor distribui o artefato para outra pessoa e solicita uma revisão (informal) não presencial

Revisão Ad Hoc É uma revisão informal realizada nas atividades do dia a dia dos membros da equipe na hora do café, no almoço, durante uma conversa. Desenvolvedores utilizam este tipo de revisão frequntemente.

Testes estáticos Checklists Objetivos genéricos dos checklists usados nas reuniões Serve de guia para realização da revisão Encontrar os tipos de defeitos mais freqüentes Encontrar problemas de falta de aderência ao padrões estabelecidos e templates Etc.

Checklist de requisito: Qualidade geral do documento O documento está de acordo com o modelo padrão? O documento está livre de erros de layout? Os números das páginas do documento estão impressos para facilitar a referência de localização específica durante a inspeção?

Checklist de requisito: Qualidade de requisitos Os requisitos foram escritos em linguagem não-técnica permitindo um bom grau de entendimento? Foi elaborado um glossário de temas para auxiliar no entendimento? Os requisitos definem todos os usuários/atores do sistema? As precondições, exceções e saídas esperadas para cada requisito estão claros e definidos? Todas as restrições foram definidas? As mensagens de erros especificadas são únicas e significativas?

Checklist Característica s de qualidade Consistência Critério Consistência interna Checklist Os requisitos são consistentes entre si? Consistência externa Os requisitos do cliente são consistentes com os requisitos de documentos relacionados (licitações, cotratos, pedidos de proposta,...)? Clareza clareza O significado de cada requisito é compreensível? Os requisitos estão descritos com um nível de detalhe suficientes para o entendimento?

Checklist Característica s de qualidade Completeza Testabilidade Critério Completeza Viabilidade de testes Checklist Todas as necessidades do cliente (inclusive as implícitas) estão identificadas? Todas as restrições e suposições do cliente estão identificadas? Todas os requisitos estão priorizadas? Cada requisito é testável?

Exercícios Aponte as principais premissas sobre teste de software