Top Banner
Revisão
73

Aula 3 técnicas de teste de software1

Jan 21, 2017

Download

Technology

Tiago Vizoto
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Aula 3   técnicas de teste de software1

Revisão

Page 2: Aula 3   técnicas de teste de software1

Questão 1

Page 3: Aula 3   técnicas de teste de software1

Questão 2

Page 4: Aula 3   técnicas de teste de software1

Questão 3

Page 5: Aula 3   técnicas de teste de software1

Questão 4

Page 6: Aula 3   técnicas de teste de software1

Questão 5

Page 7: Aula 3   técnicas de teste de software1

Questão 6

Page 8: Aula 3   técnicas de teste de software1

Questão 7

Page 9: Aula 3   técnicas de teste de software1

Questão 8

Page 10: Aula 3   técnicas de teste de software1

Questão 9

Page 11: Aula 3   técnicas de teste de software1

Questão 10

Page 12: Aula 3   técnicas de teste de software1

Continuação...

Teste de Software

Page 13: Aula 3   técnicas de teste de software1
Page 14: Aula 3   técnicas de teste de software1

Condição de teste

É um item ou evento de um componente ou sistema que pode ser verificado por um ou mais casos de teste.– Exemplo:• Funções• Transações• Características• Atributos de qualidade

Page 15: Aula 3   técnicas de teste de software1
Page 16: Aula 3   técnicas de teste de software1

Casos de teste

É a definição de um conjunto de entrada de dados (inputs), condições de execução e resultados esperados com a finalidade de avaliar os requisitos especificados do sistema.

Page 17: Aula 3   técnicas de teste de software1

Casos de teste

Detalhar o passo a passo da execução do teste.Um bom CT apresenta uma elevada probabilidade de revelar um erro ainda não descoberto.

Page 18: Aula 3   técnicas de teste de software1

Estrutura de CT

Page 19: Aula 3   técnicas de teste de software1

Tipos de Resultados Esperados

Page 20: Aula 3   técnicas de teste de software1

Critérios de qualidade de CT

• Para atender aos requisitos de qualidade, um caso de teste deve ser:– Efetivo: Testar o que se planejou testar– Econômico: Sem passos desnecessário– Repetível: Fácil repetição (para reprodução do teste)– Rastreável: Caso acontece mudança no requisito,

possamos saber quais os casos de teste a re-executa.– Autoexplicativo: Testado por qualquer analista de

teste.

Page 21: Aula 3   técnicas de teste de software1

Teste Caixa Preta

Page 22: Aula 3   técnicas de teste de software1

Teste Caixa Preta

Page 23: Aula 3   técnicas de teste de software1

Teste Caixa Preta

Page 24: Aula 3   técnicas de teste de software1
Page 25: Aula 3   técnicas de teste de software1

Técnicas de Modelagem de Teste

Page 26: Aula 3   técnicas de teste de software1

Técnica de Modelagem de Teste

Partição de Equivalência;Análise de Valor Limite;Tabela de Decisão;Transição de Estado;Teste de Caso de Uso.

Page 27: Aula 3   técnicas de teste de software1

Vantagens

• As técnicas de teste de software existem para melhorar a nossa seleção de testes.

• Para classificar e agrupar possibilidades de teste que otimizem o nosso processo, sem que tenhamos a sensação de estar deixando buracos imensos sem cobertura de testes nos sistemas.

Page 28: Aula 3   técnicas de teste de software1

• Exemplo:– Empregar pessoas• 0 – 16 Não empregar.• 16 – 18 Pode ser empregado tempo parcial.• 18 – 55 Pode ser empregado tempo integral.• 55 – 99 Não empregar.

• Como deveriam ser derivados casos de teste para o exemplo acima?O módulo deveria ser testado considerando as idades: 0, 1, 2, 3, 4, 5, 6, 7, 8, ..., 90, 91, 92, 93, 94, 95, 96, 97, 98, 99?

Page 29: Aula 3   técnicas de teste de software1

Partição de Equivalência

Page 30: Aula 3   técnicas de teste de software1

Partição de Equivalência

Objetivo:Minimizar o número de casos de teste,

selecionando apenas um caso de teste de cada classe, pois em princípio todos os elementos de uma classe devem se comportar de maneira equivalente.

Page 31: Aula 3   técnicas de teste de software1

Partição de Equivalência

Comportamento do programa de forma equivalente.– Exemplo: Sistema que aceita letra ou números.

Page 32: Aula 3   técnicas de teste de software1
Page 33: Aula 3   técnicas de teste de software1

Exemplo

Page 34: Aula 3   técnicas de teste de software1

Partição de Equivalência

• Exemplo:– Considere as seguintes regras para uma aplicação

de financiamento de imóveis:• Para imóveis construídos até 1990 – Não é possível financiar;• Para imóveis construídos entre 1990 e 2000 – Financiamento

de 50% do valor;• Para imóveis construídos no ano de 2000 em diante –

Financiamento do valor total.

Page 35: Aula 3   técnicas de teste de software1

Exemplo

• Temos 3 partições possíveis:• ano < 1990 (Não é possível financiar)• 1990 >= ano < 2000 (Financiamento de 50% do valor)• ano >= 2000 (Financiamento do valor total)• 0 ou 20,3 - inválidos

Page 36: Aula 3   técnicas de teste de software1

Análise de Valor Limite

Page 37: Aula 3   técnicas de teste de software1

Análise de Valor Limite

Page 38: Aula 3   técnicas de teste de software1

Análise de Valor Limite

• É uma técnica de teste de software utilizada para exercitar os limites do domínio de entrada.

• Complemento da Partição Equivalência, focalizando a seleção de Casos de Teste nas bordas da classe, ou seja, nos valores próximos às extremidades das classes.

Page 39: Aula 3   técnicas de teste de software1

Análise de Valor Limite

• Exemplo:– Os valores de entrada são meses do ano expressos

como inteiros, o parâmetro de entrada 'mês' deve ter as seguintes partições:

Page 40: Aula 3   técnicas de teste de software1

Exemplo

Page 41: Aula 3   técnicas de teste de software1

Exemplo

• (CTFL - BSTQB) Um campo de entrada referente a data de nascimento aceita valores de 1860 até 2860. Utilizando a análise de valor limite o teste usaria quais valores.

a) 0, 1860, 2860, 3000b) 1860, 2860c) 1859, 1900, 1861, 2859, 2860, 2861d) 1859, 1860, 2860, 2861

Page 42: Aula 3   técnicas de teste de software1
Page 43: Aula 3   técnicas de teste de software1

Tabela de Decisão

• É uma maneira de expressar, em forma de tabela, qual o conjunto de condições que é necessário ocorrer para que um determinado conjunto de ações deva ser executado.

• O ponto principal de uma tabela de decisão é a regra de decisão, que define o conjunto de ações a ser tomado, a partir de um conjunto de condições.

Page 44: Aula 3   técnicas de teste de software1

Tabela de Decisão

• Composta de:– Uma área de condições, onde são relacionadas as

condições que devem ser verificadas para que seja executado um conjunto de ações;

– Uma área de ações, que exibe o conjunto de ações que deve ser executado caso um determinado conjunto de condições ocorra;

– Regras de decisão, representadas pelas colunas, que apresentam a combinação das condições com as ações a serem executadas.

Page 45: Aula 3   técnicas de teste de software1

Tabela de Decisão

• Exemplo:– área de condições;– área de ações;– Regras de decisão.

Page 46: Aula 3   técnicas de teste de software1

Tabela de Decisão

Para que seja definida a quantidade de regras da tabela, basta que multipliquemos a quantidade de respostas possíveis de cada condição.Exemplo:• Condição 1 sim/não: = 2• Condição 2 sim/não: = 2• Condição 3 Sim/não: = 2

– Quantidade de Regras: = 2 x 2 x 2 = 8

Page 47: Aula 3   técnicas de teste de software1

Possíveis Valores

Page 48: Aula 3   técnicas de teste de software1

Possíveis Valores

Qual a quantidade de regras da tabela?

Page 49: Aula 3   técnicas de teste de software1

Grafo

É uma estruturas G(V,A), onde V é um conjunto não vazio de objetos denominados vértices e A é um conjunto de pares não ordenados de V, chamado arestas.

Page 50: Aula 3   técnicas de teste de software1

Transição de Estado

Page 51: Aula 3   técnicas de teste de software1

Teste de Transição de Estado

• Utilizado quando o sistema tem um número (finito) de estados diferentes e as transações de um estado para outro são determinadas por regras de “máquina”.

Page 52: Aula 3   técnicas de teste de software1
Page 53: Aula 3   técnicas de teste de software1

Exemplo

Page 54: Aula 3   técnicas de teste de software1

Caso de Uso

Page 55: Aula 3   técnicas de teste de software1

Caso de uso: Sacar Dinheiro

Page 56: Aula 3   técnicas de teste de software1

Atividade

1. Utilizando a técnica de partição de equivalência descreva os teste a serem realizados nesta situação:

Considere as seguintes regras para uma aplicação de financiamento de imóveis:– Para imóveis construídos até 1990 – Não é possível

financiar;– Para imóveis construídos entre 1990 e 2000 –

Financiamento de 50% do valor;– Para imóveis construídos no ano de 2000 em diante –

Financiamento do valor total;

Page 57: Aula 3   técnicas de teste de software1

Atividade

2. Utilizando a técnica de Análise de valor limite descreva os teste a serem realizados nesta situação.Regras para uma aplicação de financiamento de imóveis:

Page 58: Aula 3   técnicas de teste de software1

Resposta1. Utilizando a técnica de partição de equivalência, descreva os testes a serem

realizados nesta situação:Considere as seguintes regras para uma aplicação de financiamento de imóveis:– Para imóveis construídos até 1990 – Não é possível financiar;– Para imóveis construídos entre 1990 e 2000 – Financiamento de 50% do valor;– Para imóveis construídos no ano de 2000 em diante – Financiamento do valor

total;

Temos 3 partições possíveis:N<1990 - Não é possível financiar;1990>N<2000 - Financiamento de 50% do valor;N>=2000 - Financiamento do valor total.

Page 59: Aula 3   técnicas de teste de software1

Atividade2. Utilizando a técnica de Análise de Valor Limite, descreva os testes a serem realizados nesta situação.

Testar o campo “Tamanho” da fonte do Word. Este aplicativo aceita apenas tamanhos entre 1 e 1638.

0 1 .... 1638 1639

Page 60: Aula 3   técnicas de teste de software1

Teste de Caixa Branca ou Teste Estrutural

Page 61: Aula 3   técnicas de teste de software1

Teste Caixa Branca

Page 62: Aula 3   técnicas de teste de software1

Teste de Caixa Branca

• São úteis para completar testes caixa preta;• Completar conjunto de testes para que no mínimo todas

as instruções sejam cobertas;• Permitem detectar código inútil;• Oferecem dificuldade para determinação dos dados que

exercitem elementos requeridos pelo critério de cobertura:– Existência de caminhos não executáveis complexidade dos

predicados de caminhos– Requerem ferramenta que analise cobertura dos testes para que

seja aplicado de forma eficiente

Page 63: Aula 3   técnicas de teste de software1

Teste Caixa Branca X Preta

Page 64: Aula 3   técnicas de teste de software1
Page 65: Aula 3   técnicas de teste de software1

Testes Baseados na Implementação(fluxo de controle)

Page 66: Aula 3   técnicas de teste de software1

Teste Caixa Branca

Modelos de teste:– Grafo de fluxo de controle;– Grafo de fluxo de dados.

Page 67: Aula 3   técnicas de teste de software1

Grafo de Fluxo de Controle

É uma representação que usa notação de grafo para descrever todos os caminhos que podem ser executados por um programa de computador.

Page 68: Aula 3   técnicas de teste de software1

Estrutura - Grafo de Fluxo de Controle

Page 69: Aula 3   técnicas de teste de software1

Exemplo

Page 70: Aula 3   técnicas de teste de software1

Critérios de Cobertura

• Objetivos:– Geração de testes: determinação dos dados de teste;– Avaliação final: indicação de término dos testes;

Tipos:1. Cobertura de instruções;2. Cobertura de decisões;3. Cobertura de condições;4. Cobertura de caminhos.

Page 71: Aula 3   técnicas de teste de software1

1. Teste de Instruções

Page 72: Aula 3   técnicas de teste de software1

1.Teste de Instruções

Page 73: Aula 3   técnicas de teste de software1

2.Teste de Decisão