O documento discute várias técnicas de teste de software, incluindo:
1) Partição de equivalência - Uma técnica para dividir entradas em grupos com comportamento similar e testar um caso de cada grupo.
2) Análise de valor limite - Testa valores próximos aos limites de cada partiçao para verificar possíveis defeitos nessas regiões.
3) Tabela de decisão - Usa regras lógicas para gerar combinações de entrada para teste.
4) Teste de transição de estados - Testa um sistema modelado como máqu
2. ~
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
3. ~ ^
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
4. ~ ^
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
5. ~ ^
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
6. ~ ^
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
7. ~ ^
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?
8. ~ ^
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.
9. ~ ^
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
10. ~ ^
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
11. 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
12. 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á
13. 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...
14. 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!
15. 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
16. 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
17. ~
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”
18. ~
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
19. ~
Tabela de Decisao
Condições de
entrada
Ações/
Resultados
Regra
20. ~
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
21. ~
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
22. ~
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
23. ~
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;
24. ~
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
25. ~
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
26. ~
Teste de Transicao de
Estados
digita
insere
NOK NOK
senha
cartão
NOK
OK
OK
OK
27. ~
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)
28. ~
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
29. ~
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.
30. 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)
31. 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
32. 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
33. Teste de Caso de Uso
Ator Sistema
Criar
post
Publicar
post
34. 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.
35. 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.
36. 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
37. 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.
38.
39. 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)