O documento discute testes exploratórios, abordando:
1) A abordagem tradicional de testes baseada em scripts é limitada em comparação aos testes exploratórios, que dependem da intuição do testador;
2) Os testes exploratórios são baseados em sessões iterativas de criação e execução de hipóteses sobre o funcionamento do software;
3) A metodologia SBTM (Session-Based Test Management) organiza os testes exploratórios em sessões com objetivos de teste, melhorando
4. Agenda
! 1. Abordagem tradicional
Globalcode
–
Open4education
5. Ciclo de vida genérico
Garantia de Qualidade
Testes estáticos Testes dinâmicos
Globalcode
–
Open4education
6. Ciclo de vida genérico
Garantia de Qualidade
Testes estáticos Testes dinâmicos
Análise estática Revisões Unidade Integração Sistema Aceitação
Globalcode
–
Open4education
7. Ciclo de vida genérico
Planejamento Especificação Execução Resultados
Globalcode
–
Open4education
8. Especificação de testes
Planejamento Especificação Execução Resultados
Oráculo Técnicas Condições Casos de Scripts de
(Requisito) de testes de testes testes testes
Globalcode
–
Open4education
9. Técnicas de testes
Planejamento Especificação Execução Resultados
Oráculo Técnicas Condições Casos de Scripts de
(Requisito) de testes de testes testes testes
Caixa Preta (Funcional) Caixa Branca (Estrutural)
Classes de equivalencia/Valores limítrofes
Teste estrutura de controle
Tabelas de decisão
Teste de condição
Pairwise
Teste de ciclo
Tabela de transição de estados
Teste de decisão
Árvore de classificação
Teste de fluxo de dados
Tabela de transição de estados
Globalcode
–
Open4education
10. Técnicas de testes
Planejamento Especificação Execução Resultados
rte s
P ontos fo
ica
Estad o da prát
l
Oráculo Técnicas Confiáve
Condições Casos de Scripts de
de testes l
epetitíve
(Requisito) de testes testes testes
R
co
Det erminísti
l
Previsíve
Caixa Preta (Funcional) Caixa Branca (Estrutural)
Classes de equivalencia/Valores limítrofes
Teste estrutura de controle
Tabelas de decisão
Teste de condição
Pairwise
Teste de ciclo
Tabela de transição de estados
Teste de decisão
Árvore de classificação
Teste de fluxo de dados
Tabela de transição de estados
Globalcode
–
Open4education
11. Execução (Baseada em scripts)
Planejamento Especificação Execução Resultados
Executar Registrar
Scripts de Registrar
os Scripts os
testes os defeitos
de testes resultados
Globalcode
–
Open4education
12. Execução (Baseada em scripts)
Scripts de
testes de
requisitos e
regras
individuais
Scripts de
testes End-to-
End e de
integração
Globalcode
–
Open4education
13. Execução (Baseada em scripts)
Scripts de
testes de
requisitos e
regras
individuais
rtes
P ontos fo
a
o da prátic
É o estad ustos
Baixos c ado
a utomatiz
Pode ser mensurável
te op)
Facilmen do (body sh
terceiriza
Pode ser
Scripts de
testes End-to-
End e de
integração
Globalcode
–
Open4education
14. Execução (Baseada em scripts)
! Execução (Baseada em Scripts)
Globalcode
–
Open4education
15. Técnicas de testes
Caixa Preta (Funcional) Caixa Branca (Estrutural) Baseada na experiência
Classes de equivalencia/Valores limítrofes
Teste estrutura de controle
Tabelas de decisão Suposição de erro
Teste de condição
Pairwise Baseado em checklist
Teste de ciclo
Tabela de transição de estados Ataques
Teste de decisão
Árvore de classificação Testes exploratórios
Teste de fluxo de dados
Tabela de transição de estados
Testes exploratórios
Globalcode
–
Open4education
17. Testes exploratórios
! Conceitos:
! O teste exploratório é, na sua definição mais básica, o
aprendizado, a criação e a execução ao mesmo tempo
de um teste.
! É uma atividade iterativa e empírica de exploração
que exige idas e vindas num processo de investigação
contínuo onde a intuição, a criatividade e a experiência
do testador são indispensáveis para garantir a eficiência
do teste.
Cristiano Caetano: Testes exploratórios de A a Z
http://www.linhadecodigo.com.br/artigo/1102/Testes-Explorat%C3%B3rios-de-A-a-Z.aspx
Globalcode
–
Open4education
18. Testes exploratórios
! Estrutura:
1. Criação de uma hipótese. Um modelo mental
representando o funcionamento supostamente correto
da área do sistema que será testado;
2. Planejar um ou mais cenários de teste que possam
comprovar se a hipótese é verdadeira;
3. Aplicar os testes e observar os resultados;
4. Avaliar os resultados contra a hipótese levantada no
primeiro passo;
5. Repetir esse processo até que a hipótese seja
comprovada (ou não).
A Practitioner's Guide to Software Test Design. Lee Copeland
Globalcode
–
Open4education
19. Testes exploratórios
! Características:
! Dependem da intuição, julgamento e criatividade do
testador
! Os testes não são criados com antecedência
! Não segue um script rígido (segue guias e diretrizes)
! É baseado em pensamento estruturado e exploração
livre
! Enfoca o aprendizado em paralelo
! A execução do teste é guiada/aprimorada com base em
execuções anteriores (continuous test planning)
! Fluxo imediato de feedback (e correção de curso)
Globalcode
–
Open4education
20. Testes exploratórios
Caixa Preta (Funcional) Caixa Branca (Estrutural) Baseada na experiência
Classes de equivalencia/Valores limítrofes
Teste estrutura de controle
Tabelas de decisão Suposição de erro
Teste de condição
Pairwise Baseado em checklist
Teste de ciclo
Tabela de transição de estados Ataques
Teste de decisão
Árvore de classificação Exploratório
Teste de fluxo de dados
Tabela de transição de estados
Informal
Não sistemático
Não é confiável
Não é repetitível
Não é reproduzível
Não produz evidências
Globalcode
–
Open4education
23. SBTM: Testes exploratórios
baseados em sessões
! Teste exploratório baseado em
sessões oferece um mecanismo para
planejar, acompanhar e dar maior
visibilidade ao teste exploratório, sem
no entanto, burocratizar a exploração
http://www.satisfice.com/sbtm/index.shtml
Globalcode
–
Open4education
24. SBTM: Testes exploratórios
baseados em sessões
! Elementos básicos:
! Em uma sessão de trabalho com
um período pré-determinado de
tempo, um testador interage com o
software para cumprir os objetivos
de uma missão de testes e relatar
os resultados.
Globalcode
–
Open4education
25. SBTM: Testes exploratórios
baseados em sessões
! Elementos básicos:
! Em uma sessão de trabalho com
um período pré-determinado de
tempo, um testador interage com o
software para cumprir os objetivos
de uma missão de testes e relatar
os resultados.
Globalcode
–
Open4education
26. SBTM: Testes exploratórios
baseados em sessões
! Testador:
! No teste exploratório o oráculo é o testador. Neste
caso, a experiência do testador afeta diretamente a
qualidade do teste exploratório.
! Criatividade
! Observação cuidadosa
! Metódico
! Pensamento crítico
! Aprendizado rápido
! Intuição
! Improviso
! Especulador
! Auto-gerenciamento
! Idéias diversificadas
Globalcode
–
Open4education
27. SBTM: Testes exploratórios
baseados em sessões
! Software:
! É o produto alvo da missão do teste exploratório.
Para que o teste exploratório ocorra, é necessário
que o software (funcionalidade, tela, etc) já tenha
sido desenvolvido.
! Como muitas vezes não existe documentação,
requisitos, etc, o software é a única fonte de
informação disponível para apoiar a exploração
Globalcode
–
Open4education
28. SBTM: Testes exploratórios
baseados em sessões
! Missão:
! A missão determina o que deve ser testado (não
como o teste deve ser realizado).
! Ao final da sessão de teste exploratório, novas
idéias, oportunidades ou problemas encontrados
pelo testador podem ser usados para a criação de
novas missões.
! Não deve ser muito específica nem muito
genérica
Globalcode
–
Open4education
29. SBTM: Testes exploratórios
baseados em sessões
! Missão:
! Heurísticas (estratégias para geração de idéias)
! Heurística HICCUPPS (Michael Bolton)
! Heurística SFDPO (James Bach)
! Heurística FCC CUTS VIDS (Mike Kelly)
! CRUCSPICSTMP (Test Eye team)
! Heurística IOSC
! Heurística de consistência
! Pensamento lateral orientado a questionamentos
! Atributos da Qualidade
! Entre outros
Learning Styles and Exploratory Testing
http://www.kaner.com/pdfs/ExploratoryTestingandLearningStyles(Final).pdf
Globalcode
–
Open4education
30. SBTM: Testes exploratórios
baseados em sessões
! Missão:
! Heurística HICCUPPS (Michael Bolton)
! (H)istory: As funcionalidades do software devem se comportar de
forma consistente ao longo do tempo
! (I)mage: O comportamento e aparência do software está alinhada
com a imagem que o fabricante deseja expor ao usuário
! (C)omparable products: O software é compatível com software
similares
! (C)laims: O software se comporta de acordo com os requisitos
! (U)ser expectation: As funcionalidades se comportam conforme a
expectativa do usuário
! (P)roduct itself: As funcionalidades são consistentes entre si
! (P)urpose: As funcionalidades atendem o seu propósito
! (S)tatuses: O produto está em conformidade, com leis,
regulamentos, diretrizes, etc
Learning Styles and Exploratory Testing
http://www.kaner.com/pdfs/ExploratoryTestingandLearningStyles(Final).pdf
Globalcode
–
Open4education
31. SBTM: Testes exploratórios
baseados em sessões
! Missão:
! Heurística IOSC
! Input: Exploração do comportamento do software sob a
perspectiva das entradas de dados.
! Output: Exploração do comportamento do software sob a
perspectiva das saídas de dados.
! Storage: Exploração do comportamento do software sob a
perspectiva dos dados armazenados.
! Computation: Exploração do comportamento do software sob a
perspectiva da computação/processamento dos dados
Learning Styles and Exploratory Testing
http://www.kaner.com/pdfs/ExploratoryTestingandLearningStyles(Final).pdf
Globalcode
–
Open4education
32. SBTM: Testes exploratórios
baseados em sessões
! Missão:
! Heurísticas (Mind Maps)
Mind Maps
http://m.pinterest.com/rosiesherry/testing-mindmaps/
Globalcode
–
Open4education
33. SBTM: Testes exploratórios
baseados em sessões
! Missão:
! Heurísticas (Rolling Strategy Dice)
The Big Exploratory Testing Rolling Strategy Dice
http://testing.gershon.info/201108/the-big-exploratory/
Globalcode
–
Open4education
34. SBTM: Testes exploratórios
baseados em sessões
! Missão:
! Elisabeth Hendrickson recomenda o seguinte formato:
Exploratory Testing in an Agile Context
http://www.agilistry.com/downloads/ETinAgile-agile2011-final.pdf
Globalcode
–
Open4education
36. SBTM: Testes exploratórios
baseados em sessões
! Sessão:
! Compreende um período ininterrupto de tempo com
duração de cerca de 1 a 2 horas. Alguns autores
recomendam 90 minutos no máximo.
! Durante a sessão, o testador cria e simultâneamente
executa os testes. Além disso, também aprende mais
sobre o funcionamento e comportamento do software.
! Durante a sessão o testador também investiga e
registra defeitos, assim como, configura e prepara o
ambiente de testes.
Globalcode
–
Open4education
37. SBTM: Testes exploratórios
baseados em sessões
! Sessão:
! Etapas
! Preparação (Setup): Preparação do ambiente de testes,
configuração de massa de dados, leitura de manuais,
requisitos, diagramas, etc.
! Especificação (Design): Definição (modelo mental) dos
casos de testes (hipóteses) baseados em heurísticas,
idéias, checklists, etc.
! Execução (Execution): Execução propriamente dita do
teste exploratório para demonstrar se as hipóteses/
expectativas foram atendidas (ou não).
! Oportunidades (Opportunities): Tempo gasto em
atividades/explorações/Investigações que não estão no
escopo ou foco da missão.
! Relato de defeitos (Bug investigation/Report):
Investigação e registro de defeitos.
Globalcode
–
Open4education
38. SBTM: Testes exploratórios
baseados em sessões
! Resultados:
! Durante o teste exploratório o testador registra os
resultados no Relatório da Sessão.
! O relatório inclui notas sobre o que foi testado, o
ambiente de testes, arquivos de dados, defeitos
encontrados, algumas métricas básicas, etc.
Globalcode
–
Open4education
40. SBTM: Testes exploratórios
baseados em sessões
! Resultados:
! Métricas (TBS):
! (T) Test Execution/Design: Percentual do tempo total
gasto na criação e execução dos testes exploratórios
! (B) Bug Investigation/Report: Percentual do tempo total
gasto na investigação e relato de defeitos
! (S) Setup: Preparação: Percentual do tempo total gasto
em prepação (estudo, configuração de hardware/software,
outras atividades não relacionadas ao teste, etc)
! Também é recomendado que seja relatado o tempo gasto em
oportunidades. Já que o teste é exploratório, os testadores são
encorajados a investir um tempo também em investigações em
áreas não relacionadas ao escopo da missão.
Session-Based Test Management
http://www.satisfice.com/articles/sbtm.pdf
Globalcode
–
Open4education
41. SBTM: Testes exploratórios
baseados em sessões
! Resultados:
! Métricas:
! Número de sessões completadas
! Número de defeitos encontrados
! Número de funcionalidades cobertas
! Tempo gasto em configuração de ambiente
! Tempo gasto testando
! Tempo gasto investigando problemas
! Entre outros
Session-Based Test Management
http://www.satisfice.com/articles/sbtm.pdf
Globalcode
–
Open4education
42. SBTM: Testes exploratórios
baseados em sessões
! Resultados:
! Debrief (Prestação de contas)
! Visibilidade e feedback sobre o que foi feito
! Jon Bach, um dos idealizadores do teste exploratório baseado
em sessões, recomenda que a prestação de contas siga a
estrutura descrita pelo acrônimo PROOF:
! (P) Past (passado): O que aconteceu durante a sessão?
! (R) Results (resultados): Quais resultados foram atingidos
durante a sessão?
! (O) Obstacles (obstáculos): Quais obstáculos atrapalharam a
exploração?
! (O) Outlook (previsão/perspectiva): O que ainda falta fazer?
! (F) Feelings (sentimentos): Como o testador se sente (em
relação ao teste ou qualidade)?
How to Manage and Measure Exploratory Testing
http://www.quardev.com/content/whitepapers/how_measure_exploratory_testing.pdf
Globalcode
–
Open4education
43. Agenda
! 3. Ferramentas de apoio
Globalcode
–
Open4education
54. Conclusão
! Ciência ! Arte
Testes baseados
em Scripts Exploratórios
ad-hoc
Globalcode
–
Open4education
55. Conclusão
! Método científico:
Os progressos da ciência são acompanhados de muitas horas de trabalho
cuidadoso, que segue um caminho mais ou menos sistemático na busca de
respostas a questões científicas. É este o caminho denominado de método
científico (Wikipédia)
Globalcode
–
Open4education
56. Conclusão
! Método científico:
ia)
dade (Wikipéd
S erendipi
mo
visto co
re deve ser
Teste de softwa de um trilho
a o invéstano
u ma trilha no Cae Cristia ciência,
v anços na ou da
rtantes a querel
s m ais impo enri Bec
ns do por H te. No
erar algu tividade p or aciden que
consid a radioa ocorrido tífica é
É comum s descobertas d com o tendo ção cien
o a ming, serva lvidas
tais com a nder Fle mar à luz da ob as pessoas envo
por Alex ssível afir z que portanto
,
p enicilina é po , uma ve nte", estando,
o que acidenta
is
entanto, ialmente ificame ikipédia)
ido parc "pens ar cient re ssante (W
te dasciência ido acompanhados e inte
Os progressosrão m aprendsão a ervaram algo novode muitas horas de trabalho
havia ue obs
nt s de q
cuidadoso, que osegueeum caminho mais ou menos sistemático na busca de
c nscie
respostas a questões científicas. É este o caminho denominado de método
científico (Wikipédia)
Globalcode
–
Open4education
57. Conclusão
! Benefícios
! Fornecer feedback rápido sobre a qualidade de um novo software
ou nova funcionalidade
! Aprender rapidamente o funcionamento de um software
! Encontrar defeitos críticos rapidamente
! Investigar e isolar um defeito em particular
! Investigar áreas do software com alto nível de risco
! Quando não existem requisitos ou os requisitos mudam com
frequência
! Complementar com mais diversificação os testes tradicionais
baseados em scripts
Globalcode
–
Open4education
61. ! Worshop de testes exploratórios à distância
! Onde: à distância
! Quando: 25 de agosto (sábado)
! Carga horária: 8h
! Quanto: R$ 350 (R$ 250 para participantes
do TDC 2012)
! Inscrição: treinamento@qualister.com.br
! Maiores informações: www.qualister.com.br
Globalcode
–
Open4education
62. Para saber mais...
! Heuristic Test Strateg Model
! http://www.satisfice.com/tools/satisfice-tsm-4p.pdf
! A Tutorial in Exploratory Testing
! http://www.kaner.com/pdfs/QAIExploring.pdf
! Session-based testing
! http://en.wikipedia.org/wiki/Session-based_testing
! Dynamics of Exploratory Testing
! http://www.quardev.com/content/whitepapers/ExploratoryTestingasSport_JonBach_PNSQC06pdf.pdf
! Exploratory Testing in an Agile Context
! http://www.agilistry.com/downloads/ETinAgile-agile2011-final.pdf
! The Nature of Exploratory Testing
! http://www.testingeducation.org/a/nature.pdf
! How to Manage and Measure Exploratory Testing
! http://www.quardev.com/content/whitepapers/how_measure_exploratory_testing.pdf
Globalcode
–
Open4education
63. Para saber mais...
! Exploratory Testing in Pairs
! http://www.kaner.com/pdfs/exptest.pdf
! How to: Start an Exploratory Test Session in Microsoft Test Manager
! http://msdn.microsoft.com/en-us/library/hh191616(v=vs.110). Aspx
! Exploratory Testing – An Agile Approach
! http://xebee.xebia.in/wp-content/uploads/2009/11/Exploratory-Testing-an-Agile-approach.pdf
! Learning Styles and Exploratory Testing
! http://www.testingeducation.org/a/lset.pdf
! Session-Based Test Management
! http://www.satisfice.com/articles/sbtm.pdf
! Learning Styles and Exploratory Testing
! http://www.kaner.com/pdfs/ExploratoryTestingandLearningStyles(Final).pdf
! Testing in Session - How to measure exploratory testing
! http://sasqag.org/pastmeetings/ExploratoryTesting_SessionBasedTestManagement.pdf
! Test Heuristics Cheat Sheet
! http://testobsessed.com/wp-content/uploads/2011/04/testheuristicscheatsheetv1.pdf
Globalcode
–
Open4education