A importância dos
testes automatizados
no dia a dia_
Rafael Ponte
@rponte
@rponte
Fortaleza - Terra do Sol
Mas antes de 2014…
Como os clientes chegavam
até nós...
Solucionar bugs críticos
e “apagar incêndios”
Solucionar bugs críticos
e “apagar incêndios”
Migrar ou Reescrever
sistemas
Solucionar bugs críticos
e “apagar incêndios”
Migrar ou Reescrever
sistemas
Treinar a
equipe
Solucionar bugs críticos
e “apagar incêndios”
Migrar ou Reescrever
sistemas
Treinar a
equipe
Migrar ou reescrever
sistemas de:
Migrar ou reescrever
sistemas de:
* Desktop para Web
Migrar ou reescrever
sistemas de:
* Desktop para Web
* PHP para Java
Migrar ou reescrever
sistemas de:
* Desktop para Web
* PHP para Java
* Java para Ruby on Rails
Migrar ou reescrever
sistemas de:
* Desktop para Web
* PHP para Java
* Java para Ruby on Rails
* Java para Java
após alguns minutos de conversa...
com o gerente ou a equipe, é comum escutar...
após alguns minutos de conversa...
“Temos uma equipe de 8
programadores. E +3 vagas
em aberto.” - Gerente
“Criamos nosso próprio
framework para agilizar o
trabalho.” - Arquiteto
“Eu li que JSF2 é mais
simples do que Struts.”
Programador
“Fiz uma PoC com Ruby
On Rails. É mais produtivo
do que Java!” - Arquiteto
“Com o “Caker” podemos
gerar cadastros em
minutos.” - Gerente
Eles querem mais
PRODUTIVIDADE ?!
Eles querem mais
PRODUTIVIDADE?!não
Eles procuramVELOCIDADE
no desenvolvimento de novas
funcionalidades
Produtividade
=
Velocidade
Produtividade
=
Velocidade
não
É preferível esperar um
pouco mais e ter um
resultado melhor?
Eles estão focando no local
errado...
Eles estão focando no local
errado...
* Java para Ruby on Rails
Mudar a forma
como o programador
trabalha!
Programadores
Resistência a mudança?
Zona de Conforto
Programador
Cowboy
Code and Fix
Code and Fix
Abandona sua disciplina na
hora do aperto
Code and Fix
Abandona sua disciplina na
hora do aperto
O programador que os
gerentes adoram
Programador
Profissional
Disciplinado
Disciplinado
Mantém a tranquilidade e
disciplina
Disciplinado
Mantém a tranquilidade e
disciplina
Se mantém em evolução
Evolução contínua traz
aprendizado…
Boas Práticas
Escrita de 

Testes Automatizados
Testes Manuais
versus
Testes Automatizados
Não é mais
demorado?
Produtividade
0
17.5
35
52.5
70
Tempo
1 2 3 4 5 6 7 8
"Cowboy" Profissional
Produtividade
Se a coisa já é ruim com
um programador cowboy...
imagina uma equipe de
cowboys
Cowboys Profissionais
1s
2s
3s
4s
5s
6s
F = Nova Funcionalidade F = Funcionalidade com Bug
Cowboys Profissionais
1s F1
2s
3s
4s
5s
F2F3F4F5 F2F1
6s
F = Nova Funcionalidade F = Funcionalidade com Bug
Cowboys Profissionais
1s F1
2s
3s
4s
5s
F2F3F4F5 F2F1
F6F2F7F4F8 F4F1 F5
6s
F = Nova Funcionalidade F = Funcionalidade com ...
Cowboys Profissionais
1s F1
2s
3s
4s
5s
F2F3F4F5 F2F1
F6F2F7F4F8 F4F1 F5
F6F9F7F4F10 F7F6 F8
6s
F = Nova Funcionalidade F =...
Cowboys Profissionais
1s F1
2s
3s
4s
5s
F2F3F4F5 F2F1
F6F2F7F4F8 F4F1 F5
F6F9F7F4F10 F7F6 F8
F6F11F7F12F13 F10F9 F8 F11
6s
...
Cowboys Profissionais
1s F1
2s
3s
4s
5s
F2F3F4F5 F2F1
F6F2F7F4F8 F4F1 F5
F6F9F7F4F10 F7F6 F8
F6F11F7F12F13 F10F9 F8 F11
F14...
Cowboys Profissionais
1s F1
2s
3s
4s
5s
F2F3F4F5 F2F1
F6F2F7F4F8 F4F1 F5
F6F9F7F4F10 F7F6 F8
F6F11F7F12F13 F10F9 F8 F11
F14...
Não é dificil perceber
alguns padrões...
REINCIDÊNCIA DE
BUGS
1
Cowboys Profissionais
1s F1
2s
3s
4s
5s
F2F3F4F5 F2F1
F6F2F7F4F8 F4F1 F5
F6F9F7F4F10 F7F6 F8
F6F11F7F12F13 F10F9 F8 F11
F14...
FUNCIONALIDADES
“BUGAM” DO NADA
2
Cowboys Profissionais
1s F1
2s
3s
4s
5s
F2F3F4F5 F2F1
F6F2F7F4F8 F4F1 F5
F6F9F7F4F10 F7F6 F8
F6F11F7F12F13 F10F9 F8 F11
F14...
DIMINUIÇÃO DE NOVAS
FUNCIONALIDADES
3
Cowboys Profissionais
1s F1
2s
3s
4s
5s
F2F3F4F5 F2F1
F6F2F7F4F8 F4F1 F5
F6F9F7F4F10 F7F6 F8
F6F11F7F12F13 F10F9 F8 F11
F14...
Por que isso acontece?
reincidência de bugs
Não escrevem testes!
1
Cowboys Profissionais
1s F1
2s
3s
4s
5s
F2F3F4F5 F2F1
F6F2F7F4F8 F4F1 F5
F6F9F7F4F10 F7F6 F8
F6F11F7F12F13 F10F9 F8 F11
F14...
Cowboys Profissionais
1s F1
2s
3s
4s
5s
F2F3F4F5 F2F1
F6F2F7F4F8 F4F1 F5
F6F9F7F4F10 F7F6 F8
F6F11F7F12F13 F10F9 F8 F11
F14...
funcionalidades “bugam” do nada
Não fazem teste de
regressão
2
Cowboys Profissionais
1s F1
2s
3s
4s
5s
F2F3F4F5 F2F1
F6F2F7F4F8 F4F1 F5
F6F9F7F4F10 F7F6 F8
F6F11F7F12F13 F10F9 F8 F11
F14...
Cowboys Profissionais
1s F1
2s
3s
4s
5s
F2F3F4F5 F2F1
F6F2F7F4F8 F4F1 F5
F6F9F7F4F10 F7F6 F8
F6F11F7F12F13 F10F9 F8 F11
F14...
diminuição de novas
funcionalidades
Sem disciplina com testes
3
Cowboys Profissionais
1s F1
2s
3s
4s
5s
F2F3F4F5 F2F1
F6F2F7F4F8 F4F1 F5
F6F9F7F4F10 F7F6 F8
F6F11F7F12F13 F10F9 F8 F11
F14...
Cowboys Profissionais
1s F1
2s
3s
4s
5s
F2F3F4F5 F2F1
F6F2F7F4F8 F4F1 F5
F6F9F7F4F10 F7F6 F8
F6F11F7F12F13 F10F9 F8 F11
F14...
Cowboys Profissionais
1s F1
2s
3s
4s
5s
F2F3F4F5 F2F1
F6F2F7F4F8 F4F1 F5
F6F9F7F4F10 F7F6 F8
F6F11F7F12F13 F10F9 F8 F11
F14...
Cowboys Profissionais
1s F1
2s
3s
4s
5s
F2F3F4F5 F2F1
F6F2F7F4F8 F4F1 F5
F6F9F7F4F10 F7F6 F8
F6F11F7F12F13 F10F9 F8 F11
F14...
Cowboys Profissionais
1s F1
2s
3s
4s
5s
F2F3F4F5 F2F1
F6F2F7F4F8 F4F1 F5
F6F9F7F4F10 F7F6 F8
F6F11F7F12F13 F10F9 F8 F11
F14...
Cowboys Profissionais
1s F1
2s
3s
4s
5s
F2F3F4F5 F2F1
F6F2F7F4F8 F4F1 F5
F6F9F7F4F10 F7F6 F8
F6F11F7F12F13 F10F9 F8 F11
F14...
Cowboys Profissionais
1s F1
2s
3s
4s
5s
F2F3F4F5 F2F1
F6F2F7F4F8 F4F1 F5
F6F9F7F4F10 F7F6 F8
F6F11F7F12F13 F10F9 F8 F11
F14...
Não é dificil escrever
testes automatizados
Invista em você
mesmo! ESTUDE!
Mas requer um tempo
de maturidade
CONCLUSÃO
Você só percebe os benefícios dos testes entre
6 meses e 1 ano
não existe uma receita de bolo
para desenvolver software
mas sim
um conjunto de princípios e
práticas que podem te ajudar a
desenvolver melhor
testes
automatizados
é apenas a
ponta do
iceberg
permita que sua equipe
trabalhe melhor
permita que sua empresa
entregue software melhor
permita-se ser um profissional
melhor
use testes
automatizados
testes automatizados
eu aprovo!
Rafael Ponte
rponte@triadworks.com.br
Importancia dos Testes Automatizados no dia a dia FIC-Estacio 2015
Importancia dos Testes Automatizados no dia a dia FIC-Estacio 2015
Importancia dos Testes Automatizados no dia a dia FIC-Estacio 2015
Importancia dos Testes Automatizados no dia a dia FIC-Estacio 2015
Importancia dos Testes Automatizados no dia a dia FIC-Estacio 2015
Importancia dos Testes Automatizados no dia a dia FIC-Estacio 2015
Importancia dos Testes Automatizados no dia a dia FIC-Estacio 2015
Importancia dos Testes Automatizados no dia a dia FIC-Estacio 2015
Próximos SlideShares
Carregando em…5
×

Importancia dos Testes Automatizados no dia a dia FIC-Estacio 2015

936 visualizações

Publicada em

Palestra ministrada na Semana Acadêmica da Estácio-FIC em 2015 - Fortaleza/CE.

Publicada em: Tecnologia
1 comentário
6 gostaram
Estatísticas
Notas
Sem downloads
Visualizações
Visualizações totais
936
No SlideShare
0
A partir de incorporações
0
Número de incorporações
15
Ações
Compartilhamentos
0
Downloads
4
Comentários
1
Gostaram
6
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Importancia dos Testes Automatizados no dia a dia FIC-Estacio 2015

  1. 1. A importância dos testes automatizados no dia a dia_ Rafael Ponte @rponte
  2. 2. @rponte
  3. 3. Fortaleza - Terra do Sol
  4. 4. Mas antes de 2014…
  5. 5. Como os clientes chegavam até nós...
  6. 6. Solucionar bugs críticos e “apagar incêndios”
  7. 7. Solucionar bugs críticos e “apagar incêndios” Migrar ou Reescrever sistemas
  8. 8. Solucionar bugs críticos e “apagar incêndios” Migrar ou Reescrever sistemas Treinar a equipe
  9. 9. Solucionar bugs críticos e “apagar incêndios” Migrar ou Reescrever sistemas Treinar a equipe
  10. 10. Migrar ou reescrever sistemas de:
  11. 11. Migrar ou reescrever sistemas de: * Desktop para Web
  12. 12. Migrar ou reescrever sistemas de: * Desktop para Web * PHP para Java
  13. 13. Migrar ou reescrever sistemas de: * Desktop para Web * PHP para Java * Java para Ruby on Rails
  14. 14. Migrar ou reescrever sistemas de: * Desktop para Web * PHP para Java * Java para Ruby on Rails * Java para Java
  15. 15. após alguns minutos de conversa...
  16. 16. com o gerente ou a equipe, é comum escutar... após alguns minutos de conversa...
  17. 17. “Temos uma equipe de 8 programadores. E +3 vagas em aberto.” - Gerente
  18. 18. “Criamos nosso próprio framework para agilizar o trabalho.” - Arquiteto
  19. 19. “Eu li que JSF2 é mais simples do que Struts.” Programador
  20. 20. “Fiz uma PoC com Ruby On Rails. É mais produtivo do que Java!” - Arquiteto
  21. 21. “Com o “Caker” podemos gerar cadastros em minutos.” - Gerente
  22. 22. Eles querem mais PRODUTIVIDADE ?!
  23. 23. Eles querem mais PRODUTIVIDADE?!não
  24. 24. Eles procuramVELOCIDADE no desenvolvimento de novas funcionalidades
  25. 25. Produtividade = Velocidade
  26. 26. Produtividade = Velocidade não
  27. 27. É preferível esperar um pouco mais e ter um resultado melhor?
  28. 28. Eles estão focando no local errado...
  29. 29. Eles estão focando no local errado... * Java para Ruby on Rails
  30. 30. Mudar a forma como o programador trabalha!
  31. 31. Programadores Resistência a mudança?
  32. 32. Zona de Conforto
  33. 33. Programador Cowboy
  34. 34. Code and Fix
  35. 35. Code and Fix Abandona sua disciplina na hora do aperto
  36. 36. Code and Fix Abandona sua disciplina na hora do aperto O programador que os gerentes adoram
  37. 37. Programador Profissional
  38. 38. Disciplinado
  39. 39. Disciplinado Mantém a tranquilidade e disciplina
  40. 40. Disciplinado Mantém a tranquilidade e disciplina Se mantém em evolução
  41. 41. Evolução contínua traz aprendizado…
  42. 42. Boas Práticas
  43. 43. Escrita de 
 Testes Automatizados
  44. 44. Testes Manuais versus Testes Automatizados
  45. 45. Não é mais demorado?
  46. 46. Produtividade 0 17.5 35 52.5 70 Tempo 1 2 3 4 5 6 7 8 "Cowboy" Profissional Produtividade
  47. 47. Se a coisa já é ruim com um programador cowboy...
  48. 48. imagina uma equipe de cowboys
  49. 49. Cowboys Profissionais 1s 2s 3s 4s 5s 6s F = Nova Funcionalidade F = Funcionalidade com Bug
  50. 50. Cowboys Profissionais 1s F1 2s 3s 4s 5s F2F3F4F5 F2F1 6s F = Nova Funcionalidade F = Funcionalidade com Bug
  51. 51. Cowboys Profissionais 1s F1 2s 3s 4s 5s F2F3F4F5 F2F1 F6F2F7F4F8 F4F1 F5 6s F = Nova Funcionalidade F = Funcionalidade com Bug
  52. 52. Cowboys Profissionais 1s F1 2s 3s 4s 5s F2F3F4F5 F2F1 F6F2F7F4F8 F4F1 F5 F6F9F7F4F10 F7F6 F8 6s F = Nova Funcionalidade F = Funcionalidade com Bug
  53. 53. 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
  54. 54. 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
  55. 55. 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
  56. 56. Não é dificil perceber alguns padrões...
  57. 57. REINCIDÊNCIA DE BUGS 1
  58. 58. 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
  59. 59. FUNCIONALIDADES “BUGAM” DO NADA 2
  60. 60. 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
  61. 61. DIMINUIÇÃO DE NOVAS FUNCIONALIDADES 3
  62. 62. 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
  63. 63. Por que isso acontece?
  64. 64. reincidência de bugs Não escrevem testes! 1
  65. 65. 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
  66. 66. 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
  67. 67. funcionalidades “bugam” do nada Não fazem teste de regressão 2
  68. 68. 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
  69. 69. 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
  70. 70. diminuição de novas funcionalidades Sem disciplina com testes 3
  71. 71. 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
  72. 72. 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
  73. 73. 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 Medo Segurança
  74. 74. 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 Medo Insegurança Segurança Feedback
  75. 75. 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 Medo Insegurança Evolução Lenta Segurança Feedback Produtividade
  76. 76. 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 Medo Insegurança Evolução Lenta Cliente Frustrado Segurança Feedback Produtividade Cliente Satisfeito
  77. 77. 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 Medo Insegurança Evolução Lenta Cliente Frustrado Sem credibilidade Segurança Feedback Produtividade Cliente Satisfeito Credibilidade
  78. 78. Não é dificil escrever testes automatizados
  79. 79. Invista em você mesmo! ESTUDE!
  80. 80. Mas requer um tempo de maturidade
  81. 81. CONCLUSÃO
  82. 82. Você só percebe os benefícios dos testes entre 6 meses e 1 ano
  83. 83. não existe uma receita de bolo para desenvolver software
  84. 84. mas sim um conjunto de princípios e práticas que podem te ajudar a desenvolver melhor
  85. 85. testes automatizados é apenas a ponta do iceberg
  86. 86. permita que sua equipe trabalhe melhor
  87. 87. permita que sua empresa entregue software melhor
  88. 88. permita-se ser um profissional melhor
  89. 89. use testes automatizados
  90. 90. testes automatizados eu aprovo!
  91. 91. Rafael Ponte rponte@triadworks.com.br

×