Técnicas de modelagem de teste (parte 1)
Upcoming SlideShare
Loading in...5
×
 

Técnicas de modelagem de teste (parte 1)

on

  • 18,526 views

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

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/

Statistics

Views

Total Views
18,526
Views on SlideShare
16,672
Embed Views
1,854

Actions

Likes
6
Downloads
614
Comments
3

7 Embeds 1,854

http://qualidadebr.wordpress.com 1687
http://www.slideshare.net 77
https://qualidadebr.wordpress.com 60
http://jujo00obo2o234ungd3t8qjfcjrs3o6k-a-sites-opensocial.googleusercontent.com 14
https://jujo00obo2o234ungd3t8qjfcjrs3o6k-a-sites-opensocial.googleusercontent.com 8
http://www.linkedin.com 5
http://webcache.googleusercontent.com 3
More...

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

CC Attribution License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Técnicas de modelagem de teste (parte 1) Técnicas de modelagem de teste (parte 1) Presentation Transcript

  • Fabrício Ferrari de Campos
  • ~ Baseadas em Especificacao 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
  • ~ ^ Particao de Equivalencia Aplicada em qualquer nível de teste É muitas vezes uma boa técnica para ser aplicada primeiro Muitos 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 forma Se 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 software Partições válidas e inválidas são consideradas
  • ~ ^ Particao de Equivalencia Passo a passo Decompor o programa em funções Identificar as variáveis que determinam o comportamento de cada função Particionar 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 desinteressantes selecionar casos de testes cobrindo as classes válidas das diferentes variáveis para 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,131 c) -131,65,130 d) 10,130,200
  • ~ ^ Particao de Equivalencia Resposta correta Alternativa: b) 0,1,131 Ela é a única que cobre as três partições: Partição inválida (abaixo do valor mínimo) <=0 Partição válida 1 <> 130 Partiçã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 defeitos Os valores limites de uma partição são seu máximo e seu mínimo
  • Analise do Valor Limite Voltando ao bolo... Agora vamos considerar que cada “camada” do bolo tem 10cm. Desta maneira, o nosso bolo tem 60cm, sendo composto de: 10cm de chocolate 10cm de morango 10cm de nozes 10cm de maracujá 10cm de baunilha 10cm de limão Portanto, agora é a hora de fazer um teste mais “guloso”...vamos lá
  • Analise do Valor Limite No teste anterior... Comemos 6 pedaços de bolo para verificar se o bolo contém os seis sabores mesmo. Agora... 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...
  • Analise do Valor Limite Entendo melhor Usando a análise de valor limite são 14 pedaços de bolo, necessários para o teste. O motivo para esse resultado é: Valor limite máximo inválido (chocolate) = 11cm Valor limite mínimo válido (nozes) Valor limite máximo válido= 10cm Valor limite mínimo válido= 1cm Valor limite mínimo inválido= 0cm 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!
  • 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, 2861 d) 1859, 1860, 2860,2861
  • Analise do Valor Limite Resposta correta Alternativa: d) 1859, 1860, 2860,2861 1859 = valor limite mínimo inválido 1860 = valor limite mínimo válido 2860 = valor limite máximo válido 2861 = 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 entrada As 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 testes Pode ser aplicada a todas as situações quando a execução do software depende de muitas decisões lógicas
  • ~ Tabela de Decisao Condições de entrada Ações/ Resultados Regra
  • ~ Tabela de Decisao Regra 1 Regra 2 Regra 3 Regra 4 Condição F V V F Valor>100 V V F F quant>100 Ações X dar brinde X dar desconto mensagem X de erro
  • ~ 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 tela b) Uma tabela contendo regras de interface entre componentes c) Uma tabela contendo regras para aplicações de hipoteca d) Uma tabela contendo regras de xadrez
  • ~ Tabela de Decisao Resposta correta Alternativa: c) Uma tabela contendo regras para aplicações de hipoteca Note 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, b A 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 estados Ou 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 quot;máquinaquot;
  • ~ 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 digita insere NOK NOK senha cartão NOK OK OK OK
  • ~ Teste de Transicao de Estados insere senha senha cartão OK NOK E1)iniciar E2 E2)esperar E6 E3)1º tent. E4 E6 E5 E4)2ª tent. E6 E7 E5) 3ª tent. E6)acessar. E7)bloquear E1 (desbloqueado)
  • ~ 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? S2 SS S1 ES S3 a) SS-S1-S2-S4-S1-S3-ES S4 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
  • ~ Teste de Transicao de Estados Resposta correta Alternativa: 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 fim Baseada em casos de uso Um 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 final Eles 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
  • Teste de Caso de Uso 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 sistema Eles 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 Ator Sistema Criar post Publicar post
  • Teste de Caso de Uso Cenário – criar post (fluxo principal) Pré-condição: A: ator Usuário logado no sistema S: 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.
  • Teste de Caso de Uso Caso de teste – criar post 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.
  • Teste de Caso de Uso Questão simulado (CTFL-BSTQB) Utilizar teste de caso de uso é útil para: P) Modelar os testes de aceitação com os usuários ou clientes Q) Garantir os principais fluxos do negócio serão testados R) Achar os defeitos na interação dos componentes S) Identificar os valores máximo e mínimo de cada campo de entrada T) 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 correta Alternativa: 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/test escxpreta1.pdf (Dra. Eliane Martins)