39
Fabrício Ferrari de Campos

Técnicas de modelagem de teste (parte 1)

Embed Size (px)

DESCRIPTION

Apresentação sobre técnicas de modelagem de teste, abordando as baseadas em especificação: Partição de Equivalência; Análise do Valor Limite; Tabela de Decisão; Teste de transição de estados; Teste de Caso de Uso. Para conhecer mais sobre Teste e Qualidade de Software, acesse o QualidadeBR: http://qualidadebr.wordpress.com/

Citation preview

Page 1: Técnicas de modelagem de teste (parte 1)

Fabrício Ferrari de Campos

Page 2: Técnicas de modelagem de teste (parte 1)

Baseadas em Especificacao~

Partição de EquivalênciaAnálise do Valor LimiteTabela de DecisãoTeste de Transição de EstadosTeste de Caso de Uso

Page 3: Técnicas de modelagem de teste (parte 1)

Particao de Equivalencia~ ^

Aplicada em qualquer nível de testeÉ muitas vezes uma boa técnica para ser aplicada primeiroMuitos testadores aplicam ela sem saber (informalmente)O seu uso formal pode proporcionar melhores resultados

Page 4: Técnicas de modelagem de teste (parte 1)

Particao de Equivalencia~ ^

A idéia é divivir/particionar as entradas em grupos que tenham um comportamento similar, podendo ser tratados da mesma formaSe tiver tempo, você pode tentar mais de um valor por partição, principalmente, se quiser confirmar uma entrada típica do usuário

Page 5: Técnicas de modelagem de teste (parte 1)

Particao de Equivalencia~ ^

É necessário testar apenas uma condição de cada partição. Pois assume-se que todas as condições em uma partição será tratada da mesma forma pelo softwarePartições válidas e inválidas são consideradas

Page 6: Técnicas de modelagem de teste (parte 1)

Particao de Equivalencia~ ^

Passo a passoDecompor o programa em funçõesIdentificar as variáveis que determinam o comportamento de cada funçãoParticionar os valores de cada variável em classes de equivalência (válidas e inválidas)Especificar os casos de teste:eliminar as classes impossíveis ou os casos desinteressantesselecionar casos de testes cobrindo as classes válidas das diferentes variáveispara cada classe inválida escolha um caso de teste que cubra 1 e somente 1 de cada vez

Page 7: Técnicas de modelagem de teste (parte 1)

Particao de Equivalencia~ ^

Exemplo bolo:Vamos imaginar que esse delicioso ao lado, tem 6 sabores: chocolate, nozes, morango, maracujá, baunilha e limão.

Quantos testes são necessários,usando a técnica de partição de equivalência?

Page 8: Técnicas de modelagem de teste (parte 1)

Particao de Equivalencia~ ^

Temos 6 sabores diferentes, e a técnica de partição de equivalência, diz que precisamos dividir as entradas, fazendo com que cada divisão/partição , seja equivalente com um comportamento do sistema.Ou seja, precisamos dividir o bolo em pedaços de diferentes sabores. Totalizando 6 pedaços (partições) de bolo, que equivalem aos 6 sabores.

Page 9: Técnicas de modelagem de teste (parte 1)

Particao de Equivalencia~ ^

Questão simulado (CTFL-BSTQB)Um programa valida um campo numérico da seguinte maneira:

Valores inferiores ou iguais a 0 são rejeitados, valores entre 1 e 130 são aceitos, valores maiores ou iguais a 131 são rejeitados. Qual das alternativas contém os valores de entrada que cobre todas as partições de equivalência?

a) -1,50,120 b) 0,1,131c) -131,65,130 d) 10,130,200

Page 10: Técnicas de modelagem de teste (parte 1)

Particao de Equivalencia~ ^

Resposta corretaAlternativa: b) 0,1,131Ela é a única que cobre as três partições:Partição inválida (abaixo do valor mínimo) <=0Partição válida1 <> 130Partição inválida (acima do valor máximo)>=131

Page 11: Técnicas de modelagem de teste (parte 1)

Analise do Valor Limite

Limites são áreas onde os testes estão mais propensos a indicar defeitosOs valores limites de uma partição são seu máximo e seu mínimo

Page 12: Técnicas de modelagem de teste (parte 1)

Analise do Valor LimiteVoltando ao bolo...Agora vamos considerar que cada “camada” do bolo tem 10cm. Desta maneira, o nosso bolo tem 60cm, sendo composto de:10cm de chocolate10cm de morango10cm de nozes10cm de maracujá10cm de baunilha10cm de limão

Portanto, agora é a hora de fazer um teste mais “guloso”...vamos lá

Page 13: Técnicas de modelagem de teste (parte 1)

Analise do Valor LimiteNo teste anterior...Comemos 6 pedaços de bolo para verificar se o bolo contém os seis sabores mesmo.

Além de verificar se o bolo contém os seis sabores, vamos verificar cada sabor tem exatamente 10 cm de altura. O teste usando a técnica de análise do valor limite, irá resultar em 24 entradas diferentes, ou seja, iremos precisar comer 24 pedaços de bolo, nada ruim, neh...

Agora...

Page 14: Técnicas de modelagem de teste (parte 1)

Analise do Valor LimiteEntendo melhorUsando a análise de valor limite são 14 pedaços de bolo, necessários para o teste. O motivo para esse resultado é:

= 11cm

Valor limite mínimo inválido= 0cm

Valor limite mínimo válido= 1cm

Assim sendo iremos cortar os seguintes centímetros do bolo: 0, 1, 10, 11, 20, 21, 30, 31, 40, 41, 50, 51, 60 e 61. Logo, teremos 12 pedaços de bolo e mais 2 “pedaços” vazios, que são equivalentes aos valores inferiores inválidos 0cm e 61cm. Totalizando 14 pedaços. BOM APETITE!

Valor limite máximo válido= 10cm

Valor limite máximo inválido (chocolate)Valor limite mínimo válido (nozes)

Page 15: Técnicas de modelagem de teste (parte 1)

Analise do Valor Limite

Questão simulado (CTFL-BSTQB)Um campo de entrada (input field) referente a data de nascimento, aceita valores de 1860 até 2860. Utilizando a análise do valor limite o teste usaria quais valores?

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

Page 16: Técnicas de modelagem de teste (parte 1)

Analise do Valor Limite

Resposta corretaAlternativa: d) 1859, 1860, 2860,2861

1859 = valor limite mínimo inválido1860 = valor limite mínimo válido2860 = valor limite máximo válido2861 = valor limite máximo inválido

Page 17: Técnicas de modelagem de teste (parte 1)

Tabela de Decisao~

Focada nas regras de negócioÉ uma boa maneira de lidar com combinações de valores de entradaAs condições de entrada e ações são declaradas de uma forma que possam ser entendidas, como verdadeiras ou falsasÀs vezes, é chamada de “causa e efeito”

Page 18: Técnicas de modelagem de teste (parte 1)

Tabela de Decisao~

O grande ganho na utilização da tabela de decisão, é que ela cria combinações de condições que, geralmente, não foram exercitadas durante os testesPode ser aplicada a todas as situações quando a execução do software depende de muitas decisões lógicas

Page 19: Técnicas de modelagem de teste (parte 1)

Tabela de Decisao~

Regra

Condições de

entrada

Ações/

Resultados

Page 20: Técnicas de modelagem de teste (parte 1)

Tabela de Decisao~

Condição Regra 1 Regra 2 Regra 3

Valor>100

quant>100

V

V V

Regra 4

VF

F

F

F

dar brindedar descontomensagem

de erro

Ações

X

X

X

Page 21: Técnicas de modelagem de teste (parte 1)

Tabela de Decisao~

Questão simulado (CTFL-BSTQB)Qual das alternativas seria um exemplo de teste usando tabela de decisão para uma aplicação financeira, no teste de nível de sistema?

a) Uma tabela contendo regras para combinações de entrada para dois campos da telab) Uma tabela contendo regras de interface entre componentesc) Uma tabela contendo regras para aplicações de hipotecad) Uma tabela contendo regras de xadrez

Page 22: Técnicas de modelagem de teste (parte 1)

Tabela de Decisao~

Resposta corretaAlternativa: c) Uma tabela contendo regras para aplicações de hipotecaNote que o nível do teste é o de sistema, no qual estamos interessados no funcionamento do sistema como um todo, não no funcionamento particular de cada componente, que é verificado no teste de componente. E nem estamos interessados na interface entre os componentes, que é verificada do teste de integração.Logo excluímos 2 alternativas: a, bA alternativa d nem precisamos comentar...Resta apenas a alternativa correta a c

Page 23: Técnicas de modelagem de teste (parte 1)

Teste de Transicao de Estados

~

É utilizado quando algum aspecto do sistema pode ser descrito usando uma máquina de estadosOu seja, o sistema pode ter um número (finito) de estados diferentes, e as transições de um estado para outro são determinadas por regras de "máquina"

Page 24: Técnicas de modelagem de teste (parte 1)

Teste de Transicao de Estados

~

Muito utilizada em softwares industriais embarcados e automações técnicas em geral, e também adequada para modelar um objeto de negócio tendo estado específico ou para testar fluxos de telas de diálogos

Page 25: Técnicas de modelagem de teste (parte 1)

Teste de Transicao de Estados

~

Os testes podem ser construídos para cobrir uma sequência típica de estados, cobrir todos os estados, exercitar todas as transições, exercitar uma seqüência específica de transições ou testar transições inválidas

Page 26: Técnicas de modelagem de teste (parte 1)

Teste de Transicao de Estados

~

inserecartão

digita senha NOK NOK

NOK

OKOKOK

Page 27: Técnicas de modelagem de teste (parte 1)

Teste de Transicao de Estados

~

E2E1)iniciar

E2)esperarE3)1º tent.E4)2ª tent.E5) 3ª tent.E6)acessar.

E7)bloquear

insere cartão

senhaOK

senha NOK

E1 (desbloqueado)

E6E6 E5

E4

E6 E7

Page 28: Técnicas de modelagem de teste (parte 1)

Teste de Transicao de Estados

~

Questão simulado (CTFL-BSTQB)Dado o segundo diagrama, qual é o caso de teste que cobre o número mínimo de transações válidas para todos os estados?

a) SS-S1-S2-S4-S1-S3-ES b) SS-S1-S2-S3-S4-ES c) SS-S1-S2-S4-S1-S3-S4-S1-S3-ES d) SS-S1-S4-S2-S1-S3-ES

SS S1 S2

S4

S3ES

Page 29: Técnicas de modelagem de teste (parte 1)

Teste de Transicao de Estados

~

Resposta corretaAlternativa: a) SS-S1-S2-S4-S1-S3-ES

As alternativas b e d são inválidas, pois possuem transições que não são possíveis de serem feitas: b S2-S3; d S4-S2.

As alternativas a e c são válidas, porém a questão pede o “teste que cobre o número mínimo de transações válidas”. Logo a alternativa aé a correta, por cobrir o número mínimo de transações válidas.

Page 30: Técnicas de modelagem de teste (parte 1)

Teste de Caso de Uso

Ajuda a identificar casos de testes que exercitam todo o sistema, transação por transação, do início ao fimBaseada em casos de usoUm caso de uso é a descrição de um uso particular do sistema feito por um ator (usuário do sistema)

Page 31: Técnicas de modelagem de teste (parte 1)

Teste de Caso de Uso

Casos de uso muitas vezes são tratados como cenários, e úteis para construir testes de aceite com a participação do usuário finalEles podem ajudar a descobrir defeitos de integração causados pela interação e interferência de diferentes componentes, que testes individuais de componentes podem não ter detectado

Page 32: Técnicas de modelagem de teste (parte 1)

Casos de uso são definidos de acordo com o autor, não com o sistema, descrevendo o que o ator ver, mais do que as entradas e resultados esperados do sistemaEles costumar usar uma linguagem e termos a nível de negócio, ao invés de termos técnicos, especialmente quando o ator é parte do negócio

Teste de Caso de Uso

Page 33: Técnicas de modelagem de teste (parte 1)

Teste de Caso de Uso

Criar post

Publicarpost

SistemaAtor

Page 34: Técnicas de modelagem de teste (parte 1)

Teste de Caso de Uso

Pré-condição:Usuário logado no sistema

Cenário:1. A: Seleciona opção de novo post;2. S: Abre página de postagem;3. A: Digita post;4. A: Seleciona opção de salvar o post;5. S: Salva o post;6. S: Carrega a página com o post salvo.

A: atorS: sistema

Cenário – criar post (fluxo principal)

Page 35: Técnicas de modelagem de teste (parte 1)

Teste de Caso de Uso

Pré-condição:Usuário logado no sistema

Cenário:1. Clicar no botão ‘novo post’;2. Digitar texto;3. Clicar no botão 'salvar como rascunho‘.

Resultado esperado:Sistema salvar o post e apresentar a página com o post salvo.

Caso de teste – criar post

Page 36: Técnicas de modelagem de teste (parte 1)

Teste de Caso de UsoQuestão simulado (CTFL-BSTQB)Utilizar teste de caso de uso é útil para:P) Modelar os testes de aceitação com os usuários ou clientesQ) Garantir os principais fluxos do negócio serão testadosR) Achar os defeitos na interação dos componentesS) Identificar os valores máximo e mínimo de cada campo de entradaT) Identificar a porcentagem de comandos exercitados por um conjunto de testes

a) P, Q e R b) Q, S e T c) P, Q e S d) R, S e T

Page 37: Técnicas de modelagem de teste (parte 1)

Teste de Caso de Uso

Resposta corretaAlternativa: a) P, Q e R

O item S faz referência a técnica de análise do valor limite. Já o T refere-se ao teste de comandos.Os demais são características do teste de caso de uso. Logo, a alternativa correta é a a.

Page 38: Técnicas de modelagem de teste (parte 1)
Page 39: Técnicas de modelagem de teste (parte 1)

BSTQB. Base de Conhecimento para Certificação em Teste -Foundation Level Syllabus . 2007br. D. Grahan; V. Veenendaal; I. Evans; R. Black. Foundations of Software Testing: ISTQB Certification. Cengage Learning Business Press, 2006.www.ic.unicamp.br/~eliane/Cursos/Transparencias/VVTestes/testescxpreta1.pdf (Dra. Eliane Martins)