73
Revisão

Aula 3 técnicas de teste de software1

Embed Size (px)

Citation preview

Revisão

Questão 1

Questão 2

Questão 3

Questão 4

Questão 5

Questão 6

Questão 7

Questão 8

Questão 9

Questão 10

Continuação...

Teste de Software

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

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.

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.

Estrutura de CT

Tipos de Resultados Esperados

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.

Teste Caixa Preta

Teste Caixa Preta

Teste Caixa Preta

Técnicas de Modelagem de Teste

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.

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.

• 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?

Partição de Equivalência

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.

Partição de Equivalência

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

Exemplo

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.

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

Análise de Valor Limite

Análise de Valor Limite

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.

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:

Exemplo

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

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.

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.

Tabela de Decisão

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

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

Possíveis Valores

Possíveis Valores

Qual a quantidade de regras da tabela?

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.

Transição de Estado

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”.

Exemplo

Caso de Uso

Caso de uso: Sacar Dinheiro

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;

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:

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.

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

Teste de Caixa Branca ou Teste Estrutural

Teste Caixa Branca

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

Teste Caixa Branca X Preta

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

Teste Caixa Branca

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

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.

Estrutura - Grafo de Fluxo de Controle

Exemplo

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.

1. Teste de Instruções

1.Teste de Instruções

2.Teste de Decisão