Download - Técnicas de modelagem de teste (parte 1)
Fabrício Ferrari de Campos
Baseadas em Especificacao~
Partição de EquivalênciaAnálise do Valor LimiteTabela de DecisãoTeste de Transição de EstadosTeste de Caso de Uso
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
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
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
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
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?
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.
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
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
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
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á
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...
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)
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
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
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”
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
Tabela de Decisao~
Regra
Condições de
entrada
Ações/
Resultados
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
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
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
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"
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
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
Teste de Transicao de Estados
~
inserecartão
digita senha NOK NOK
NOK
OKOKOK
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
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
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.
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)
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
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
Teste de Caso de Uso
Criar post
Publicarpost
SistemaAtor
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)
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
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
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.
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)