Agile Brazil 2010 Slide 1
Testar: impossível
Jorge DizGlobalcode
Agile Brazil 2010 Slide 2
Palestrrante
Jorge Alberto Diz
•Mestre e bacharel pela UNICAMP
•Programando desde 1983
•Testando desde 1994
•Javeiro
•Consultor: testes, metodologia
•Criador da Academia de Testes da Globalcode
Agile Brazil 2010 Slide 3
Defina teste de software
em até 140 caracteres no post-it
Agile Brazil 2010 Slide 4
O Jorge Diz:
Testar é difícil
Agile Brazil 2010 Slide 5
5 estágios do luto (Kübler-Ross)
Negação
Revolta
Barganha
Depressão
Aceitação
Agile Brazil 2010 Slide 6
Percepção dos testes
Agile Brazil 2010 Slide 7
Finalidade dos testes
Agile Brazil 2010 Slide 8
Finalidade dos testes
•Encontrar defeitos
•Definir comportamento esperado
•Monitoramento em produção
•Conformidade com contratos
•Riscos (mitigação / avaliação)
•Métricas de qualidade
Agile Brazil 2010 Slide 9
Isto é um elefante ?
Agile Brazil 2010 Slide 10
Isto é um teste ?
Agile Brazil 2010 Slide 11
Comportamento esperado
testesrequisitos exemplos
Agile Brazil 2010 Slide 12
Especificação por Exemplos
”Exemplos não são uma outra forma de ensinar:
são a única forma”
Agile Brazil 2010 Slide 13
Fato
Não temos um
modelo
consensual
para teste
Agile Brazil 2010 Slide 14
Requisitos
Análise
Design
Codificação
Testes
Entrega
Modelo V
Agile Brazil 2010 Slide 15
Q2: GUI, regras de negócio
(Selenium, FitNesse, Cucumber)
Q3: Exploratório, usabilidade, aceitação
funcional
Q1: Unitários, componentesQ4:
Desempenho / segurança
Testes
suport
e a
o t
ime
crí
tica a
o p
roduto
Quadrantes de Marick
Tecnologia
Negócio
Crí
tica a
o p
roduto
Apoio
à e
quip
e
Agile Brazil 2010 Slide 16
Pirâmide de Cohn
Interface Usuário
Regras de Negócio
Unidades
Pirâmide de Cohn
Agile Brazil 2010 Slide 17
pirâmide alimentar
Agile Brazil 2010 Slide 18
Pirâmide frágil
Interface Usuário
Unidades
Pirâmide frágil de testes
Agile Brazil 2010 Slide 19
Fluxo de problemas
erro defeito falha diagnóstico correção
Integração contínua / agile operations
Agile Brazil 2010 Slide 20
Só vemos a casca
Agile Brazil 2010 Slide 21
...mas não o interior
Agile Brazil 2010 Slide 22
Fato
Só
acreditamos
vendo
Agile Brazil 2010 Slide 23
Dashboards
Agile Brazil 2010 Slide 24
Mitos
Agile Brazil 2010 Slide 25
Mito
Todos
sabemos o
que é teste
Agile Brazil 2010 Slide 26
Mito
Todos falamos
a mesma
língua
Agile Brazil 2010 Slide 27
Mito
Inspeções
substituem
testes
Agile Brazil 2010 Slide 28
Mito
Testes
substituem
inspeções
Agile Brazil 2010 Slide 29
Fato
Programação em
duplas é a principal
forma de inspeção
de código em XP
Agile Brazil 2010 Slide 30
Mito
Automatizar
tudo
Agile Brazil 2010 Slide 31
Fato
A maioria dos
defeitos é
encontrada por
teste manual
Agile Brazil 2010 Slide 32
Mito
Podemos
corrigir todos
os defeitos
encontrados
Agile Brazil 2010 Slide 33
Fato
É mais fácil
encontrar defeitos
que justificativas
para corrigi-los
Agile Brazil 2010 Slide 34
Mito
Especialista no
domínio
escreve
especificações
Agile Brazil 2010 Slide 35
Fato
Somos mais formais
que nosso cliente.
Todo formalismo
destinado a usuários
acabou encampado
por nós
Agile Brazil 2010 Slide 36
Mito
Desenvolvedores
sempre testaram
seu código
Agile Brazil 2010 Slide 37
Fato
Só recentemente, e
só alguns
(principalmente a
comunidade Ruby)
Agile Brazil 2010 Slide 38
Mito
Nossa
responsabilidade
para na entrega
Agile Brazil 2010 Slide 39
Fato
Nossa
responsabilidade
começa na primeira
entrega
Agile Brazil 2010 Slide 40
Kübler-Ross 1
Negação
Agile Brazil 2010 Slide 41
Não necessitamos
É tudo legado: já funciona há
muito tempo
O processo garante a
qualidade
Isso já deveria funcionar, para
quê testar ?
Agile Brazil 2010 Slide 42
Não devemos
É perda de tempo: eu sou
cobrado para entregar código
Isso está fora do nosso
escopo
O esforço seria melhor
investido em inspeções
Agile Brazil 2010 Slide 43
Não podemos
Ambiente de testes: isso não
vai acontecer aqui
Não temos permissão para
testar
Só dá para passar pelo
caminho feliz
Agile Brazil 2010 Slide 44
Não fazemos
Melhor deixar na mão da
fábrica: eles são
especialistas, não nós
O cliente não está disposto a
testar
Agile Brazil 2010 Slide 45
Kübler-Ross
Agile: em que
estágio
estamos ?
Agile Brazil 2010 Slide 46
Negação
Desenvolvedor tem
malícia para o teste
Agile Brazil 2010 Slide 47
Negação
Todos entendemos
mocks
Agile Brazil 2010 Slide 48
Revolta
Massas sintéticas
não são aceitas
pelo cliente
Agile Brazil 2010 Slide 49
Revolta
Meu cliente não
quer / não sabe
escrever testes de
aceitação
Agile Brazil 2010 Slide 50
Barganha
Mas muito do meu
código é legado...
Agile Brazil 2010 Slide 51
Barganha
Não consigo testar
as partes isoladas
Agile Brazil 2010 Slide 52
Barganha
Não consigo testar
concorrência
Agile Brazil 2010 Slide 53
Barganha
Não consigo testar
o banco de dados
Agile Brazil 2010 Slide 54
Barganha
Só dá para testar
usando a interface
usuário
Agile Brazil 2010 Slide 55
Barganha
Vamos ajeitar a
definição de Pronto
Agile Brazil 2010 Slide 56
Depressão
Testes de interface
usuário são sempre
frágeis e lentos
Agile Brazil 2010 Slide 57
Aceitação
Integração contínua
compensa
Agile Brazil 2010 Slide 58
Conclusões
• Como área, não temos um modelo comum para
entender testes
• No mercado, a área de testes está tendendo ao
modelo de fábrica
• Ainda se pensa em testes como consumidores
de requisitos
• Dificuldades técnicas exigem criatividade
• Só acreditamos vendo
Agile Brazil 2010 Slide 59
Contato
Email: [email protected]
Email, Gtalk: [email protected]
• Twitter: @jorgediz
• www.globalcode.com.br