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 prejuízos causados pelo não uso de testes, os benefícios obtidos a médio e longo prazo, e as dificuldades ao escreve-los.
49. F = Nova Funcionalidade F = Funcionalidade com Bug
Cowboys Profissionais
1s
2s
3s
4s
5s
6s
Monday, February 4, 2013
50. F = Nova Funcionalidade F = Funcionalidade com Bug
Cowboys Profissionais
1s F5 F4 F3 F2 F1 F1 F2
2s
3s
4s
5s
6s
Monday, February 4, 2013
51. F = Nova Funcionalidade F = Funcionalidade com Bug
Cowboys Profissionais
1s F5 F4 F3 F2 F1 F1 F2
2s F8 F4 F7 F2 F6 F1 F4 F5
3s
4s
5s
6s
Monday, February 4, 2013
52. F = Nova Funcionalidade F = Funcionalidade com Bug
Cowboys Profissionais
1s F5 F4 F3 F2 F1 F1 F2
2s F8 F4 F7 F2 F6 F1 F4 F5
3s F10 F4 F7 F9 F6 F6 F7 F8
4s
5s
6s
Monday, February 4, 2013
53. F = Nova Funcionalidade F = Funcionalidade com Bug
Cowboys Profissionais
1s F5 F4 F3 F2 F1 F1 F2
2s F8 F4 F7 F2 F6 F1 F4 F5
3s F10 F4 F7 F9 F6 F6 F7 F8
4s F13 F12 F7 F11 F6 F9 F10 F8 F11
5s
6s
Monday, February 4, 2013
54. F = Nova Funcionalidade F = Funcionalidade com Bug
Cowboys Profissionais
1s F5 F4 F3 F2 F1 F1 F2
2s F8 F4 F7 F2 F6 F1 F4 F5
3s F10 F4 F7 F9 F6 F6 F7 F8
4s F13 F12 F7 F11 F6 F9 F10 F8 F11
5s F12 F7 F10 F14 F12 F13 F14 F15
6s
Monday, February 4, 2013
55. F = Nova Funcionalidade F = Funcionalidade com Bug
Cowboys Profissionais
1s F5 F4 F3 F2 F1 F1 F2
2s F8 F4 F7 F2 F6 F1 F4 F5
3s F10 F4 F7 F9 F6 F6 F7 F8
4s F13 F12 F7 F11 F6 F9 F10 F8 F11
5s F12 F7 F10 F14 F12 F13 F14 F15
6s F9 F12 F4 F10 F1 F16 F17 F18 F19
Monday, February 4, 2013
56. Não é dificil perceber
alguns padrões...
Monday, February 4, 2013
68. F = Nova Funcionalidade F = Funcionalidade com Bug
Cowboys Profissionais
1s F5 F4 F3 F2 F1 F1 F2
2s F8 F4 F7 F2 F6 F1 F4 F5
3s F10 F4 F7 F9 F6 F6 F7 F8
4s F13 F12 F7 F11 F6 F9 F10 F8 F11
5s F12 F7 F10 F14 F12 F13 F14 F15
6s F9 F12 F4 F10 F1 F16 F17 F18 F19
Monday, February 4, 2013
69. F = Nova Funcionalidade F = Funcionalidade com Bug
Cowboys Profissionais
1s F5 F4 F3 F2 F1 F1 F2
2s F8 F4 F7 F2 F6 F1 F4 F5
3s F10 F4 F7 F9 F6 F6 F7 F8
4s F13 F12 F7 F11 F6 F9 F10 F8 F11
5s F12 F7 F10 F14 F12 F13 F14 F15
6s F9 F12 F4 F10 F1 F16 F17 F18 F19
Monday, February 4, 2013
70. diminuição de novas
funcionalidades
Disciplina com testes
Monday, February 4, 2013
71. F = Nova Funcionalidade F = Funcionalidade com Bug
Cowboys Profissionais
1s F5 F4 F3 F2 F1 F1 F2
2s F8 F4 F7 F2 F6 F1 F4 F5
3s F10 F4 F7 F9 F6 F6 F7 F8
4s F13 F12 F7 F11 F6 F9 F10 F8 F11
5s F12 F7 F10 F14 F12 F13 F14 F15
6s F9 F12 F4 F10 F1 F16 F17 F18 F19
Monday, February 4, 2013
72. F = Nova Funcionalidade F = Funcionalidade com Bug
Cowboys Profissionais
1s F5 F4 F3 F2 F1 F1 F2
2s F8 F4 F7 F2 F6 F1 F4 F5
3s F10 F4 F7 F9 F6 F6 F7 F8
4s F13 F12 F7 F11 F6 F9 F10 F8 F11
5s F12 F7 F10 F14 F12 F13 F14 F15
6s F9 F12 F4 F10 F1 F16 F17 F18 F19
Monday, February 4, 2013
73. F = Nova Funcionalidade F = Funcionalidade com Bug
Cowboys Profissionais
1s F5 F4 F3 F2 F1 F1 F2
2s Medo F2 F6 F1 F4 F5
F7F8 F4Segurança
3s Insegurança F6 F6 F7 F8
F10 F4 F7 F9 Feedback
Evolução Lenta F9 Produtividade
4s F13 F12 F7 F11 F6 F10 F8 F11
Cliente Frustrado F12 F13 F14Satisfeito
5s F12 F7 F10 F14
Cliente F15
Sem credibilidade F16 Credibilidade
6s F9 F12 F4 F10 F1 F17 F18 F19
Monday, February 4, 2013
74. Não é dificil escrever
testes automatizados
Monday, February 4, 2013
75. Mas requer um tempo
de maturidade
Monday, February 4, 2013
76. tipos de testes
testes de unidade
testes de integração
testes de aceitação
Monday, February 4, 2013
77. testes de unidade
menor unidade de código
executável
Monday, February 4, 2013
78. menor
unidade na = método
POO
Monday, February 4, 2013
79. teste de teste
=
unidade unitário
Monday, February 4, 2013
80. testes de unidade
normalmente são:
> mais fáceis de escrever;
> muito rápidos para rodar;
> mais fáceis para rastrear
erros;
Monday, February 4, 2013
81. que tal rodar centenas ou
milhares de testes em
segundos?
Monday, February 4, 2013
85. valida os componentes de
software funcionando juntos
teste de “maxu” vai no banco de
dados!
Yuri Adams
Monday, February 4, 2013
86. e assim como os testes
de unidade...
Monday, February 4, 2013
87. testes de integração
normalmente são:
> mais fáceis de escrever;
> muito rápidos para rodar;
> mais fáceis para rastrear
erros;
Monday, February 4, 2013
94. valida o software na perspectiva
do usuário
Monday, February 4, 2013
95. valida o software na perspectiva
do usuário
Monday, February 4, 2013
96. valida o software na perspectiva
do usuário
Monday, February 4, 2013
97. testes de aceitação
normalmente são:
> trabalhosos para escrever;
> lentos para rodar;
> difíceis para rastrear erros;
> frágeis
Monday, February 4, 2013
119. depende da tua
necessidade
teste de aceitação testa TUDO.
Handerson Frota
Monday, February 4, 2013
120. teste de integração é teste de
“maxu”.
depende da tua Yuri Adams
necessidade
teste de aceitação testa TUDO.
Handerson Frota
Monday, February 4, 2013
121. mas no geral, siga a
pirâmide
Monday, February 4, 2013
122. Test Automation Pyramid
Aceitação - 10%
Integração - 40%
Unidade - 50%
Monday, February 4, 2013