4. Agenda
! 1. Abordagem tradicional
Globalcode
–
Open4education
5. Ciclo de vida genérico
Planejamento Especificação Execução Resultados
Globalcode
–
Open4education
6. 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
7. 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
8. 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
9. 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
10. 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
11. 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
12. Execução (Baseada em scripts)
! Execução (Baseada em Scripts)
Globalcode
–
Open4education
13. 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
15. 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
16. 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
17. 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
18. 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
21. 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
22. 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
23. 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
24. 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
25. 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
26. 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
27. 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
28. 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
29. 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
30. 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
31. 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
32. 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
34. 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
35. 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
36. 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
38. 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
39. 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
40. 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
41. Agenda
! 3. Ferramentas de apoio
Globalcode
–
Open4education
52. Conclusão
! Ciência ! Arte
Testes baseados
em Scripts Exploratórios
ad-hoc
Globalcode
–
Open4education
53. 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
54. Conclusão
! Método científico:
o
v isto com
deve ser
software és de um trilho
Teste de lha ao inv
uma tri Cris tiano Ca
etano
)
ikipédia
idade (W ncia,
Serendip ç os na ciê da
tes avan rel ou
mais importan ri Becque nte. No
uns dos por Hen ide
cons iderar alg da radioatividade ocorrido por ac
É comum s descobertas do a é que
o a ming, c omo ten servaçã o científic lvidas
tais com or Alexander Fle mar à luz da ob s pessoa
s envo
penicilina
p afir que a rtanto,
possível ma vez a ndo, po
o que é entais, u te", est édia)
entanto, cialm ente acid r cientificamen nte (Wikip
o par "pensa interessa
terão sid n dido a lg o novo e
Os progressosadam apre e que observaram a
h via ciência são acompanhados de muitas horas de trabalho
tes d
c nscien
cuidadoso, queosegue 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
55. Conclusão
! Benefícios do teste exploratório
! 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
Globalcode
–
Open4education
56. Conclusão
Complementar com mais diversificação
os testes tradicionais baseados em
scripts
Globalcode
–
Open4education
57. Conclusão
Testes exploratórios (manuais)
Scripts de testes (manuais)
Scripts de testes (automatizados)
Testes unitários e de integração
(Automatizados)
Testes estáticos
Revisões de artefatos
Globalcode
–
Open4education
59. 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
60. 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