Upload
handerson-frota
View
331
Download
3
Embed Size (px)
DESCRIPTION
Versão 2 da palestra sobre testes automatizados. Desenvolver software é uma luta contra complexidade. Cada linha de código que um programador escreve pode ser mais um ponto de falha no software. Para diminuir os riscos é fundamental que o programador e a equipe adotem uma cultura na escrita de testes, de preferência automatizados, para garantir que o software se comporte como esperado durante todo o ciclo de vida do desenvolvimento. Nesta apresentação explanarei a importância dos testes automatizados de acordo com a cultura ágil, os tipos de testes que podemos escrever, os benefícios obtidos a médio e longo prazo, e as dificuldades ao escreve-los. Será também apresentado algumas ferramentas úteis e relatos da minha experiência na escrita de testes no mercado de trabalho
Citation preview
A importância dos testes automatizados
Handerson Frota / Rafael Ponte@handersonbf / @rponte
no dia a dia
terça-feira, 16 de abril de 13
@rponte
terça-feira, 16 de abril de 13
@handersonbfterça-feira, 16 de abril de 13
terça-feira, 16 de abril de 13
Alerta!Prepare-se para ouvir e ver
fatos.
Se você se identificar com algum caso que será apresentado, não fique triste.
terça-feira, 16 de abril de 13
terça-feira, 16 de abril de 13
Pé na porta, testes na cara!
terça-feira, 16 de abril de 13
Pé na porta, testes na cara!
terça-feira, 16 de abril de 13
terça-feira, 16 de abril de 13
terça-feira, 16 de abril de 13
Como os clientes chegam até nós...
terça-feira, 16 de abril de 13
terça-feira, 16 de abril de 13
Treinar a equipe
terça-feira, 16 de abril de 13
Solucionar bugs críticos e “apagar incêndios”
Treinar a equipe
terça-feira, 16 de abril de 13
Solucionar bugs críticos e “apagar incêndios”
Migrar ou Reescrever sistemas
Treinar a equipe
terça-feira, 16 de abril de 13
Solucionar bugs críticos e “apagar incêndios”
Migrar ou Reescrever sistemas
Treinar a equipe
terça-feira, 16 de abril de 13
Migrar ou reescrever sistemas de:
terça-feira, 16 de abril de 13
Migrar ou reescrever sistemas de:
terça-feira, 16 de abril de 13
Migrar ou reescrever sistemas de:
terça-feira, 16 de abril de 13
Migrar ou reescrever sistemas de:
terça-feira, 16 de abril de 13
Migrar ou reescrever sistemas de:
terça-feira, 16 de abril de 13
terça-feira, 16 de abril de 13
após alguns minutos de conversa...com o gerente ou a equipe, é comum escutar...
terça-feira, 16 de abril de 13
“Temos uma equipe de 8 programadores. E +3 vagas
em aberto.” - Gerente
terça-feira, 16 de abril de 13
“Criamos nosso próprio framework para agilizar o
trabalho.” - Arquiteto
terça-feira, 16 de abril de 13
“Criamos nosso próprio framework para agilizar o
trabalho.” - Arquiteto
terça-feira, 16 de abril de 13
“Eu li que JSF2 é mais simples do que GWT.”
Programador
terça-feira, 16 de abril de 13
“Fiz uma PoC com Ruby On Rails. É mais produtivo do que Java!” -
Arquiteto
terça-feira, 16 de abril de 13
“Fiz uma PoC com Ruby On Rails. É mais produtivo do que Java!” -
Arquiteto
terça-feira, 16 de abril de 13
“Com o “Caker” podemos gerar cadastros em minutos.” - Gerente
terça-feira, 16 de abril de 13
“Com o “Caker” podemos gerar cadastros em minutos.” - Gerente
terça-feira, 16 de abril de 13
Eles querem mais
PRODUTIVIDADE?
terça-feira, 16 de abril de 13
Eles querem mais
PRODUTIVIDADE?nãoterça-feira, 16 de abril de 13
Eles procuram VELOCIDADE no desenvolvimento de novas
funcionalidades
terça-feira, 16 de abril de 13
terça-feira, 16 de abril de 13
PRODUTIVIDADE=
VELOCIDADE
terça-feira, 16 de abril de 13
PRODUTIVIDADE=
VELOCIDADEnãoterça-feira, 16 de abril de 13
PRODUTIVIDADE=
Velocidade + Qualidade
terça-feira, 16 de abril de 13
PRODUTIVIDADE=
Velocidade + Qualidadesustentável
terça-feira, 16 de abril de 13
terça-feira, 16 de abril de 13
terça-feira, 16 de abril de 13
terça-feira, 16 de abril de 13
terça-feira, 16 de abril de 13
terça-feira, 16 de abril de 13
terça-feira, 16 de abril de 13
terça-feira, 16 de abril de 13
terça-feira, 16 de abril de 13
terça-feira, 16 de abril de 13
terça-feira, 16 de abril de 13
terça-feira, 16 de abril de 13
terça-feira, 16 de abril de 13
terça-feira, 16 de abril de 13
terça-feira, 16 de abril de 13
VELOCIDADE
terça-feira, 16 de abril de 13
VELOCIDADEQUALIDADE
terça-feira, 16 de abril de 13
VELOCIDADEQUALIDADEPRODUTIVO
terça-feira, 16 de abril de 13
VELOCIDADEQUALIDADEPRODUTIVO
CREDIBILIDADE BAIXA
terça-feira, 16 de abril de 13
terça-feira, 16 de abril de 13
terça-feira, 16 de abril de 13
Eles estão focando no local errado...
terça-feira, 16 de abril de 13
terça-feira, 16 de abril de 13
terça-feira, 16 de abril de 13
terça-feira, 16 de abril de 13
terça-feira, 16 de abril de 13
Mudar a forma como o programador trabalha!
terça-feira, 16 de abril de 13
ProgramadoresResistência a mudança?
terça-feira, 16 de abril de 13
Tuesday, December 15, 2009
Zona de Conforto
terça-feira, 16 de abril de 13
Programador Cowboy
terça-feira, 16 de abril de 13
terça-feira, 16 de abril de 13
Code and Fix
terça-feira, 16 de abril de 13
terça-feira, 16 de abril de 13
Abandona sua disciplina na hora do aperto
terça-feira, 16 de abril de 13
terça-feira, 16 de abril de 13
O programador que os gerentes adoram
terça-feira, 16 de abril de 13
Programador Profissional
terça-feira, 16 de abril de 13
terça-feira, 16 de abril de 13
Disciplinado
terça-feira, 16 de abril de 13
terça-feira, 16 de abril de 13
Se mantém em evolução
terça-feira, 16 de abril de 13
terça-feira, 16 de abril de 13
Mantém a tranquilidade e disciplina
terça-feira, 16 de abril de 13
terça-feira, 16 de abril de 13
terça-feira, 16 de abril de 13
terça-feira, 16 de abril de 13
terça-feira, 16 de abril de 13
Escrita de Testes Automatizados
terça-feira, 16 de abril de 13
Testes Manuais
Testes Automatizados
terça-feira, 16 de abril de 13
Não é mais demorado?
terça-feira, 16 de abril de 13
1 2 3 4 5 6 7 80
17,5
35
52,5
70
Prod
utiv
idad
e
Tempo
"Cowboy" Profissional
Produtividade
terça-feira, 16 de abril de 13
1 2 3 4 5 6 7 80
17,5
35
52,5
70
Prod
utiv
idad
e
Tempo
"Cowboy" Profissional
Produtividade
terça-feira, 16 de abril de 13
1 2 3 4 5 6 7 80
17,5
35
52,5
70
Prod
utiv
idad
e
Tempo
"Cowboy" Profissional
Produtividade
terça-feira, 16 de abril de 13
1 2 3 4 5 6 7 80
17,5
35
52,5
70
Prod
utiv
idad
e
Tempo
"Cowboy" Profissional
Produtividade
terça-feira, 16 de abril de 13
1 2 3 4 5 6 7 80
17,5
35
52,5
70
Prod
utiv
idad
e
Tempo
"Cowboy" Profissional
Produtividade
terça-feira, 16 de abril de 13
1 2 3 4 5 6 7 80
17,5
35
52,5
70
Prod
utiv
idad
e
Tempo
"Cowboy" Profissional
Produtividade
terça-feira, 16 de abril de 13
1 2 3 4 5 6 7 80
17,5
35
52,5
70
Prod
utiv
idad
e
Tempo
"Cowboy" Profissional
Produtividade
terça-feira, 16 de abril de 13
1 2 3 4 5 6 7 80
17,5
35
52,5
70
Prod
utiv
idad
e
Tempo
"Cowboy" Profissional
Produtividade
terça-feira, 16 de abril de 13
1 2 3 4 5 6 7 80
17,5
35
52,5
70
Prod
utiv
idad
e
Tempo
"Cowboy" Profissional
Produtividade
terça-feira, 16 de abril de 13
terça-feira, 16 de abril de 13
Se a coisa já é ruim com um programador cowboy...
terça-feira, 16 de abril de 13
Se a coisa já é ruim com um programador cowboy...
terça-feira, 16 de abril de 13
terça-feira, 16 de abril de 13
imagina uma equipe de cowboys
terça-feira, 16 de abril de 13
Não acredita?
terça-feira, 16 de abril de 13
Cowboys Profissionais
1s
2s
3s
4s
5s
6s
F = Nova Funcionalidade F = Funcionalidade com Bug
terça-feira, 16 de abril de 13
Cowboys Profissionais
1s F1
2s
3s
4s
5s
F2F3F4F5 F2F1
6s
F = Nova Funcionalidade F = Funcionalidade com Bug
terça-feira, 16 de abril de 13
Cowboys Profissionais
1s F1
2s
3s
4s
5s
F2F3F4F5 F2F1
F6F2F7F4F8 F4F1 F5
6s
F = Nova Funcionalidade F = Funcionalidade com Bug
terça-feira, 16 de abril de 13
Cowboys Profissionais
1s F1
2s
3s
4s
5s
F2F3F4F5 F2F1
F6F2F7F4F8 F4F1 F5
F6F9F7F4F10 F7F6 F8
6s
F = Nova Funcionalidade F = Funcionalidade com Bug
terça-feira, 16 de abril de 13
Cowboys Profissionais
1s F1
2s
3s
4s
5s
F2F3F4F5 F2F1
F6F2F7F4F8 F4F1 F5
F6F9F7F4F10 F7F6 F8
F6F11F7F12F13 F10F9 F8 F11
6s
F = Nova Funcionalidade F = Funcionalidade com Bug
terça-feira, 16 de abril de 13
Cowboys Profissionais
1s F1
2s
3s
4s
5s
F2F3F4F5 F2F1
F6F2F7F4F8 F4F1 F5
F6F9F7F4F10 F7F6 F8
F6F11F7F12F13 F10F9 F8 F11
F14F10F7F12 F13F12 F14 F15
6s
F = Nova Funcionalidade F = Funcionalidade com Bug
terça-feira, 16 de abril de 13
Cowboys Profissionais
1s F1
2s
3s
4s
5s
F2F3F4F5 F2F1
F6F2F7F4F8 F4F1 F5
F6F9F7F4F10 F7F6 F8
F6F11F7F12F13 F10F9 F8 F11
F14F10F7F12 F13F12 F14 F15
6s F1F10F4F12 F17F16 F18 F19F9
F = Nova Funcionalidade F = Funcionalidade com Bug
terça-feira, 16 de abril de 13
Não é dificil perceber alguns padrões...
terça-feira, 16 de abril de 13
REINCIDÊNCIA DE BUGS1
terça-feira, 16 de abril de 13
Cowboys Profissionais
1s F1
2s
3s
4s
5s
F2F3F4F5 F2F1
F6F2F7F4F8 F4F1 F5
F6F9F7F4F10 F7F6 F8
F6F11F7F12F13 F10F9 F8 F11
F14F10F7F12 F13F12 F14 F15
6s F1F10F4F12 F17F16 F18 F19F9
F = Nova Funcionalidade F = Funcionalidade com Bug
terça-feira, 16 de abril de 13
FUNCIONALIDADES “BUGAM” DO NADA2
terça-feira, 16 de abril de 13
Cowboys Profissionais
1s F1
2s
3s
4s
5s
F2F3F4F5 F2F1
F6F2F7F4F8 F4F1 F5
F6F9F7F4F10 F7F6 F8
F6F11F7F12F13 F10F9 F8 F11
F14F10F7F12 F13F12 F14 F15
6s F1F10F4F12 F17F16 F18 F19F9
F = Nova Funcionalidade F = Funcionalidade com Bug
terça-feira, 16 de abril de 13
DIMINUIÇÃO DE NOVAS FUNCIONALIDADES3
terça-feira, 16 de abril de 13
Cowboys Profissionais
1s F1
2s
3s
4s
5s
F2F3F4F5 F2F1
F6F2F7F4F8 F4F1 F5
F6F9F7F4F10 F7F6 F8
F6F11F7F12F13 F10F9 F8 F11
F14F10F7F12 F13F12 F14 F15
6s F1F10F4F12 F17F16 F18 F19F9
F = Nova Funcionalidade F = Funcionalidade com Bug
terça-feira, 16 de abril de 13
Por que isso acontece?
terça-feira, 16 de abril de 13
REINCIDÊNCIA DE BUGS1
terça-feira, 16 de abril de 13
REINCIDÊNCIA DE BUGS1
Não escrevem testes!
terça-feira, 16 de abril de 13
Cowboys Profissionais
1s F1
2s
3s
4s
5s
F2F3F4F5 F2F1
F6F2F7F4F8 F4F1 F5
F6F9F7F4F10 F7F6 F8
F6F11F7F12F13 F10F9 F8 F11
F14F10F7F12 F13F12 F14 F15
6s F1F10F4F12 F17F16 F18 F19F9
F = Nova Funcionalidade F = Funcionalidade com Bug
terça-feira, 16 de abril de 13
Cowboys Profissionais
1s F1
2s
3s
4s
5s
F2F3F4F5 F2F1
F6F2F7F4F8 F4F1 F5
F6F9F7F4F10 F7F6 F8
F6F11F7F12F13 F10F9 F8 F11
F14F10F7F12 F13F12 F14 F15
6s F1F10F4F12 F17F16 F18 F19F9
F = Nova Funcionalidade F = Funcionalidade com Bug
terça-feira, 16 de abril de 13
FUNCIONALIDADES “BUGAM” DO NADA2
terça-feira, 16 de abril de 13
FUNCIONALIDADES “BUGAM” DO NADA2
Não fazem teste de regressão
terça-feira, 16 de abril de 13
Cowboys Profissionais
1s F1
2s
3s
4s
5s
F2F3F4F5 F2F1
F6F2F7F4F8 F4F1 F5
F6F9F7F4F10 F7F6 F8
F6F11F7F12F13 F10F9 F8 F11
F14F10F7F12 F13F12 F14 F15
6s F1F10F4F12 F17F16 F18 F19F9
F = Nova Funcionalidade F = Funcionalidade com Bug
terça-feira, 16 de abril de 13
Cowboys Profissionais
1s F1
2s
3s
4s
5s
F2F3F4F5 F2F1
F6F2F7F4F8 F4F1 F5
F6F9F7F4F10 F7F6 F8
F6F11F7F12F13 F10F9 F8 F11
F14F10F7F12 F13F12 F14 F15
6s F1F10F4F12 F17F16 F18 F19F9
F = Nova Funcionalidade F = Funcionalidade com Bug
terça-feira, 16 de abril de 13
DIMINUIÇÃO DE NOVAS FUNCIONALIDADES3
terça-feira, 16 de abril de 13
DIMINUIÇÃO DE NOVAS FUNCIONALIDADES3
Sem disciplina com testes
terça-feira, 16 de abril de 13
Cowboys Profissionais
1s F1
2s
3s
4s
5s
F2F3F4F5 F2F1
F6F2F7F4F8 F4F1 F5
F6F9F7F4F10 F7F6 F8
F6F11F7F12F13 F10F9 F8 F11
F14F10F7F12 F13F12 F14 F15
6s F1F10F4F12 F17F16 F18 F19F9
F = Nova Funcionalidade F = Funcionalidade com Bug
terça-feira, 16 de abril de 13
Cowboys Profissionais
1s F1
2s
3s
4s
5s
F2F3F4F5 F2F1
F6F2F7F4F8 F4F1 F5
F6F9F7F4F10 F7F6 F8
F6F11F7F12F13 F10F9 F8 F11
F14F10F7F12 F13F12 F14 F15
6s F1F10F4F12 F17F16 F18 F19F9
F = Nova Funcionalidade F = Funcionalidade com Bug
terça-feira, 16 de abril de 13
Cowboys Profissionais
1s F1
2s
3s
4s
5s
F2F3F4F5 F2F1
F6F2F7F4F8 F4F1 F5
F6F9F7F4F10 F7F6 F8
F6F11F7F12F13 F10F9 F8 F11
F14F10F7F12 F13F12 F14 F15
6s F1F10F4F12 F17F16 F18 F19F9
F = Nova Funcionalidade F = Funcionalidade com Bug
terça-feira, 16 de abril de 13
Cowboys Profissionais
1s F1
2s
3s
4s
5s
F2F3F4F5 F2F1
F6F2F7F4F8 F4F1 F5
F6F9F7F4F10 F7F6 F8
F6F11F7F12F13 F10F9 F8 F11
F14F10F7F12 F13F12 F14 F15
6s F1F10F4F12 F17F16 F18 F19F9
Medo
F = Nova Funcionalidade F = Funcionalidade com Bug
InsegurançaEvolução Lenta
Cliente FrustradoSem credibilidade
terça-feira, 16 de abril de 13
Cowboys Profissionais
1s F1
2s
3s
4s
5s
F2F3F4F5 F2F1
F6F2F7F4F8 F4F1 F5
F6F9F7F4F10 F7F6 F8
F6F11F7F12F13 F10F9 F8 F11
F14F10F7F12 F13F12 F14 F15
6s F1F10F4F12 F17F16 F18 F19F9
Medo Segurança
F = Nova Funcionalidade F = Funcionalidade com Bug
Insegurança FeedbackEvolução Lenta
Cliente FrustradoSem credibilidade
ProdutividadeCliente Satisfeito
Credibilidade
terça-feira, 16 de abril de 13
Não é dificil escrever testes automatizados
terça-feira, 16 de abril de 13
terça-feira, 16 de abril de 13
Você pode!
terça-feira, 16 de abril de 13
Mas requer um tempo de maturidade
terça-feira, 16 de abril de 13
terça-feira, 16 de abril de 13
CONCLUSÃO
terça-feira, 16 de abril de 13
terça-feira, 16 de abril de 13
Você só percebe os benefícios dos testes entre
6 meses e 1 ano
terça-feira, 16 de abril de 13
terça-feira, 16 de abril de 13
não existe uma receita de bolo para desenvolver software
terça-feira, 16 de abril de 13
terça-feira, 16 de abril de 13
mas simum conjunto de princípios e práticas que podem te ajudar a
desenvolver melhor
terça-feira, 16 de abril de 13
terça-feira, 16 de abril de 13
testes automatizados
é apenas a ponta do iceberg
terça-feira, 16 de abril de 13
terça-feira, 16 de abril de 13
permita que sua equipe trabalhe melhor
terça-feira, 16 de abril de 13
terça-feira, 16 de abril de 13
permita que sua empresa entregue software melhor
terça-feira, 16 de abril de 13
terça-feira, 16 de abril de 13
permita-se ser um profissional melhor
terça-feira, 16 de abril de 13
terça-feira, 16 de abril de 13
adote boas práticas para vocêe para a sua empresa.
terça-feira, 16 de abril de 13
terça-feira, 16 de abril de 13
automatizadosuse testes
terça-feira, 16 de abril de 13
testes automatizados
eu aprovo!terça-feira, 16 de abril de 13
testes automatizados
eu aprovo!terça-feira, 16 de abril de 13
terça-feira, 16 de abril de 13