Técnicas de Teste de Software



Documentos relacionados
Como melhorar a Qualidade de Software através s de testes e nua. Cláudio Antônio de Araújo 22/11/2008

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

Introdução a Verificação, Validação e Teste de Software

Engenharia de Software I

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

Técnicas de Teste de Software

Teste de Software Parte 1. Prof. Jonas Potros

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

VisTrails. Fernando Seabra Chirigati Aluno de Engenharia de Computação e Informação COPPE/UFRJ fernando_seabra@cos.ufrj.br

Engenharia de Software II

Testes de Software. Testes de Software. Teste de Validação. Teste de Defeito. Modelo de Entrada e Saída. Modelo de Entrada e Saída

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

IES-300. Tecnologia em Análise e Desenvolvimento de Sistemas Prof. Me. Álvaro d Arce alvaro@darce.com.br

Testes de Software. Testes de Software. Teste de Validação. Teste de Defeito. Modelo de Entrada e Saída. Modelo de Entrada e Saída

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

PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE 1. VISÃO GERAL 1.1. PROCESSOS EM GERAL

Feature-Driven Development

Princípios do teste de software

Gerenciamento de configuração. Gerenciamento de Configuração. Gerenciamento de configuração. Gerenciamento de configuração. Famílias de sistemas

Sistemas de Informação I

Análise de Sistemas. Visão Geral: Orientação a Objetos. Prof. José Honorato Ferreira Nunes honorato.nunes@bonfim.ifbaiano.edu.br

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

PONTIFÍCIA UNIVERSIDADE CATÓLICA DE GOIÁS Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas

Qualidade de Software. Profa. Cátia dos Reis Machado

Abordagem de Processo: conceitos e diretrizes para sua implementação

UNIVERSIDADE DO OESTE DE SANTA CATARINA CAMPUS DE SÃO MIGUEL DO OESTE

Análise e Projeto de Software

Introdução a UML. Hélder Antero Amaral Nunes haanunes@gmail.com

Teste de Software: Um Breve Estudo do Importante Processo no Desenvolvimento de Softwares

Qualidade de Software

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

FACULDADE DE ENGENHARIA DE COMPUTAÇÃO. PROJETO FINAL I e II PLANO DE TRABALHO <NOME DO TRABALHO> <Nome do Aluno> <Nome do Orientador>

GEADA. Gerador de Expressões Algébricas em Digrafos Acíclicos. para versão 1.0, de agosto/2008. Autor: Márcio Katsumi Oikawa

A Linguagem Pascal e o Ambiente de Programação Dev-Pascal. Introdução à Ciência da Computação I

FLUXO DE CAIXA: Módulo BI (Business Intelligence)

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

Engenharia de Requisitos

MANUAL DE ESTÁGIO SUPERVISIONADO CURSO DE ANÁLISE E DESENVOLVIMENTO DE SISTEMAS

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

Interface Homem-Computador

Engenharia de Software II

3 Qualidade de Software

GRRF GUIA DE RECOLHIMENTO RESCISÓRIA DO FGTS PROCEDIMENTOS NA FOLHA CONSISA SGRH

Prevayler. Perola. André Luís Sales de Moraes Juliana Keiko Yamaguchi Tatiana Yuka Takaki

MODELO DE APRESENTAÇÃO DE PROJETO DE PESQUISA

GARANTIA DA QUALIDADE DE SOFTWARE

PROJETO DA DISCIPLINA. PES II Processo de Engenharia de Software II

Acadêmicos: Luís Fernando Martins Nagata Gustavo Rezende Vinícius Rezende Santos

Teste de Software. Ricardo Argenton Ramos Engenharia de Software I

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br

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

ISO 9000:2000 Sistemas de Gestão da Qualidade Fundamentos e Vocabulário. As Normas da família ISO As Normas da família ISO 9000

Sumário. Uma visão mais clara da UML

Linguagem Matemática e as Artes

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

Desenvolvimento de um software de gerenciamento de projetos para utilização na Web

Casos de teste semânticos. Casos de teste valorados. Determinar resultados esperados. Gerar script de teste automatizado.

ANÁLISE DOS RESULTADOS DOS PROGRAMAS DE APOIO ÀS PMEs NO BRASIL Resumo Executivo PARA BAIXAR A AVALIAÇÃO COMPLETA:

Dadas a base e a altura de um triangulo, determinar sua área.

1. Conceitos de sistemas. Conceitos da Teoria de Sistemas. Conceitos de sistemas extraídos do dicionário Aurélio:

Fundamentos de Teste de Software

Mestrado em Segurança da Informação e Direito no Ciberespaço. Segurança da informação nas organizações Gestão de Configuração

Desenvolvimento de Sistemas Tolerantes a Falhas

Modelagem e Simulação

Desafio Profissional PÓS-GRADUAÇÃO Gestão de Projetos - Módulo C Prof. Me. Valter Castelhano de Oliveira

Engenharia de Requisitos

Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini prof.andre.luis.belini@gmail.com /

Tipos de teste de software

)HUUDPHQWDV &RPSXWDFLRQDLV SDUD 6LPXODomR

Algoritmo. Prof. Anderson Almeida Ferreira. Agradeço ao prof. Guilherme Tavares de Assis por fornecer slides que fazem parte desta apresentação

PROGRAMAÇÃO DE MICROPROCESSADORES 2011 / 2012

5 Experiência de implantação do software de roteirização em diferentes mercados

Geração de código intermediário. Novembro 2006

Introdução a Informática. Prof.: Roberto Franciscatto

PLANO BÁSICO AMBIENTAL

A Grande Importância da Mineração de Dados nas Organizações

Tabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008

AMBIENTE PARA AUXILIAR O DESENVOLVIMENTO DE PROGRAMAS MONOLÍTICOS

Algoritmos: Lógica para desenvolvimento de programação de computadores. Autor: José Augusto Manzano. Capítulo 1 Abordagem Contextual

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

TI em Números Como identificar e mostrar o real valor da TI

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

pacotes de software na forma em que são É importante salientar que não é objetivo do software, suas atividades e produtos

Glossário Apresenta a definição dos termos, siglas e abreviações utilizadas no contexto do projeto Citsmart.

11 de maio de Análise do uso dos Resultados _ Proposta Técnica

Manual de Utilização do Aplicativo Validador. Documento 3040

Arquitetura de Computadores - Arquitetura RISC. por Helcio Wagner da Silva

Extração de Requisitos

Gerenciamento de Projetos Modulo II Ciclo de Vida e Organização do Projeto

Algoritmos. Cláudio Barbosa

Projeto de Arquitetura

UNIVASF - Universidade Federal do Vale do São Francisco Manutenção de Software

CONSTRUINDO CONSULTAS NO KOSMO 1.2

Documento de Análise e Projeto VideoSystem

Detalhamento da Fase de Planejamento e Programação de Projeto. Gerenciamento de Tempo

Transcrição:

Técnicas de Teste de Software Luis Renato dos Santos FAES - UFPR 2011 Luis Renato dos Santos (FAES - UFPR) Técnicas de Teste de Software 2011 1 / 23

Sumário Introdução Fundamentos de Teste de Software Teste Caixa Preta Teste Caixa Branca Teste Baseado em Erros Luis Renato dos Santos (FAES - UFPR) Técnicas de Teste de Software 2011 2 / 23

Introdução A atividade de Teste de Software é um elemento crítico da garantia de qualidade de sofware e representa a última revisão de especificação, projeto e codificação. É comum que o Teste de Software gaste 40% do esforço de criação de um software. Em sistemas críticos, pode chegar a custar de 3 a 5 vezes mais que todos os outros passos da Engenharia de Software. Luis Renato dos Santos (FAES - UFPR) Técnicas de Teste de Software 2011 3 / 23

Fundamentos de Teste de Software Ao contrário de todas outras fases da Engenharia de Software, o Teste de Software tem por sua natureza ser destrutivo. Objetivos: - A atividade de Teste de Software é o processo de executar um programa com intenção de descobrir um erro. - Um teste bem sucedido é aquele que revela um erro ainda não descoberto. Luis Renato dos Santos (FAES - UFPR) Técnicas de Teste de Software 2011 4 / 23

Teste Caixa Preta A Técnica Caixa Preta possui esse nome por considerar o produto em teste como uma caixa da qual só se conhece a entrada e a saída ou seja, nenhum conhecimento de como o produto é internamente é utilizado. Luis Renato dos Santos (FAES - UFPR) Técnicas de Teste de Software 2011 5 / 23

Teste Caixa Preta Critérios dessa ténica baseiam-se somente na especificação de requisitos para derivar os casos de testes. O testador apresenta as entradas ao componente ou ao sistema e examina as saídas correspondentes. Se as saídas não são aquelas previstas, então o teste detectou com sucesso um problema com o software. Luis Renato dos Santos (FAES - UFPR) Técnicas de Teste de Software 2011 6 / 23

Teste Caixa Preta Técnicas de Teste Caixa Preta: - Particionamento de Equivalência; - Análise do Valor Limite; - Teste de Comparação; Luis Renato dos Santos (FAES - UFPR) Técnicas de Teste de Software 2011 7 / 23

Teste Caixa Preta Particionamento de Equivalência O Particionamento de Equivalência divide o domínio de entrada em uma série de diferentes classes (ex: números positivos, strings sem brancos ). Um caso de teste ideal descobre sozinho uma classe de erros. Luis Renato dos Santos (FAES - UFPR) Técnicas de Teste de Software 2011 8 / 23

Teste Caixa Preta Análise do Valor Limite A Análise de Valor Limite é uma técnica que complementa o Particionamento de Equivalência. Por razões que não são completamente claras, um número maior de erros tende a ocorrer nas fronteiras do domínio de entrada do que no centro. Luis Renato dos Santos (FAES - UFPR) Técnicas de Teste de Software 2011 9 / 23

Teste Caixa Preta Teste de Comparação Em casos críticos há elaboração de software paralelamente. Os softwares são testados com a mesma base de teste e em paralelo. Cada versão é testada com outra técnica de teste de caixa preta. Se houver diferença entre os resultados das várias versões, investiga-se. Luis Renato dos Santos (FAES - UFPR) Técnicas de Teste de Software 2011 10 / 23

Teste Caixa Preta Teste de Comparação Problema: todas versões baseiam-se na mesma especificação. Caso haja erro de interpretação, todas versões podem ser afetadas. Luis Renato dos Santos (FAES - UFPR) Técnicas de Teste de Software 2011 11 / 23

Teste Caixa Branca A técnica de Teste de Caixa de Vidro trabalha diretamente sobre o código fonte do software para avaliar aspectos tais como: - Teste de Fluxo de Controle; - Teste de Condição; - Teste de Fluxo de Dados; - Teste de Ciclos e; Luis Renato dos Santos (FAES - UFPR) Técnicas de Teste de Software 2011 12 / 23

Teste Caixa Branca Esta técnica apresenta-se como complementar ao Teste de Caixa Preta. Em geral, a maioria das técnica utiliza uma representação de programa conhecida como grafo de fluxo de controle ou grafo de programa. Luis Renato dos Santos (FAES - UFPR) Técnicas de Teste de Software 2011 13 / 23

Teste Caixa Branca Um nó representa uma ou mais instruções as quais são sempre executadas em sequência. Um arco, também chamado de ramo ou aresta, representa o fluxo de controle entre blocos de comandos (nós). Luis Renato dos Santos (FAES - UFPR) Técnicas de Teste de Software 2011 14 / 23

Teste Caixa Branca Luis Renato dos Santos (FAES - UFPR) Técnicas de Teste de Software 2011 15 / 23

Teste Caixa Branca Os passos básicos para se aplicar um critério de Teste Caixa Branca: - Analisa-se o código fonte da aplicação; - Escolhe-se caminhos através da implementação; - Valores de entradas são selecionados de modo que os caminhos selecionados sejam executados; - As saídas esperadas para as entradas escolhidas são determinadas; - Os casos de testes são construídos; - As saídas obtidas são comparadas com as saídas esperadas; - Um relatário é gerado para avaliar o resultado dos testes; Luis Renato dos Santos (FAES - UFPR) Técnicas de Teste de Software 2011 16 / 23

Teste Caixa Branca Fluxo de Controle Utilizam apenas características de controle da execução do programa, como comandos ou desvios, para determinar quais estruturas são necessárias. Critérios mais conhecidos: - Todos nós. - Todos arcos. - Todos caminhos. Luis Renato dos Santos (FAES - UFPR) Técnicas de Teste de Software 2011 17 / 23

Teste Caixa Branca Teste de Fluxo de Dados Utilizam informações do fluxo de dados do programa para determinar os requisitos de teste. Esses critérios exploram as interações que envolvem definições de variáveis e referências a tais definições para estabelecerem os requisitos de teste. Luis Renato dos Santos (FAES - UFPR) Técnicas de Teste de Software 2011 18 / 23

Teste Caixa Branca Teste de Fluxo de Dados Critérios mais conhecidos: - Critérios de Rapps e Weyuker. - Critérios Potenciais-Usos. Luis Renato dos Santos (FAES - UFPR) Técnicas de Teste de Software 2011 19 / 23

Teste Baseado em Erros A técnica de teste baseada em defeitos utiliza informações sobre os enganos mais frequentes cometidos no processo de desenvolvimento de software. Algumas técnicas operadas no Teste Baseado em Erros são: - Semeadura de Defeitos; - Análise de Mutantes; - Mutação de Interface; Luis Renato dos Santos (FAES - UFPR) Técnicas de Teste de Software 2011 20 / 23

Teste Baseado em Erros Análise de Mutantes Para a aplicação do teste de mutação existem duas hipóteses que o fundamentam: - A hipótese do programador competente; - O efeito de acoplamento; A idéia do teste de mutação é criar a confiança de que um programa P está correto produzindo-se, por meio de pequenas alterações sintáticas. Luis Renato dos Santos (FAES - UFPR) Técnicas de Teste de Software 2011 21 / 23

Teste Baseado em Erros Análise de Mutantes As mutações são realizadas a partir de operadores de mutação. Análise de Mutantes fornece uma medida objetiva do nível de confiança através da definição de um escore de mutação. Luis Renato dos Santos (FAES - UFPR) Técnicas de Teste de Software 2011 22 / 23

Teste Baseado em Erros Análise de Mutantes A aplicação da Análise de Mutantes consiste em quatro etapas principais: - Geração de mutantes; - Execução de P com base em um dado conjunto de teste T; - Execução dos mutantes com base em T e; - Análise dos mutantes sobreviventes; Luis Renato dos Santos (FAES - UFPR) Técnicas de Teste de Software 2011 23 / 23

Teste Baseado em Erros Análise de Mutantes O principal problema para a aplicação de critérios baseados em mutação está relacionado com o seu custo. - Grande número de mutantes que podem ser gerados; - Determinar esforço; Luis Renato dos Santos (FAES - UFPR) Técnicas de Teste de Software 2011 24 / 23