Importancia dos Testes Automatizados no dia a dia v2

Post on 19-May-2015

329 views 3 download

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

Transcript of Importancia dos Testes Automatizados no dia a dia v2

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

Rafael Ponterponte@triadworks.com.br

Handerson Frotahandersonbf@triadworks.com.br

terça-feira, 16 de abril de 13