testes de unidade, por que você deve começar a fazer? - javaneiros
TRANSCRIPT
![Page 1: Testes de Unidade, por que você deve começar a fazer? - Javaneiros](https://reader035.vdocuments.net/reader035/viewer/2022062420/55c5a3e9bb61eb811b8b4580/html5/thumbnails/1.jpg)
Testes de Unidade, por que vocêdeve começar a fazer?
Renan Siravegna @RenanSiravegna
![Page 3: Testes de Unidade, por que você deve começar a fazer? - Javaneiros](https://reader035.vdocuments.net/reader035/viewer/2022062420/55c5a3e9bb61eb811b8b4580/html5/thumbnails/3.jpg)
Vocês testam o seu código?
![Page 4: Testes de Unidade, por que você deve começar a fazer? - Javaneiros](https://reader035.vdocuments.net/reader035/viewer/2022062420/55c5a3e9bb61eb811b8b4580/html5/thumbnails/4.jpg)
Ciclo do desenvolvimento
Codificação FinalizaçãoTestes
2 mins 2 mins 1 min
Tempo total: 5 minutos(E isto é apenas uma suposição...)
![Page 5: Testes de Unidade, por que você deve começar a fazer? - Javaneiros](https://reader035.vdocuments.net/reader035/viewer/2022062420/55c5a3e9bb61eb811b8b4580/html5/thumbnails/5.jpg)
Ciclo do desenvolvimento(de verdade)
Tempo total: 21 Minutos
Codificação FinalizaçãoTestes
2 mins 2 mins 1 min
Repetição (5 vezes)
![Page 6: Testes de Unidade, por que você deve começar a fazer? - Javaneiros](https://reader035.vdocuments.net/reader035/viewer/2022062420/55c5a3e9bb61eb811b8b4580/html5/thumbnails/6.jpg)
E se você testasse todas as funcionalidades que seu código pode ter afetado?
![Page 7: Testes de Unidade, por que você deve começar a fazer? - Javaneiros](https://reader035.vdocuments.net/reader035/viewer/2022062420/55c5a3e9bb61eb811b8b4580/html5/thumbnails/7.jpg)
Pior ainda.. E se você testasse o seu sistema inteiro?
![Page 8: Testes de Unidade, por que você deve começar a fazer? - Javaneiros](https://reader035.vdocuments.net/reader035/viewer/2022062420/55c5a3e9bb61eb811b8b4580/html5/thumbnails/8.jpg)
Levaria dias? Semanas? Meses?
![Page 9: Testes de Unidade, por que você deve começar a fazer? - Javaneiros](https://reader035.vdocuments.net/reader035/viewer/2022062420/55c5a3e9bb61eb811b8b4580/html5/thumbnails/9.jpg)
Testar manualmente demora!!
![Page 10: Testes de Unidade, por que você deve começar a fazer? - Javaneiros](https://reader035.vdocuments.net/reader035/viewer/2022062420/55c5a3e9bb61eb811b8b4580/html5/thumbnails/10.jpg)
Existe solução?
![Page 11: Testes de Unidade, por que você deve começar a fazer? - Javaneiros](https://reader035.vdocuments.net/reader035/viewer/2022062420/55c5a3e9bb61eb811b8b4580/html5/thumbnails/11.jpg)
Automatizar tudo!!Criar testes de unidade!!
![Page 12: Testes de Unidade, por que você deve começar a fazer? - Javaneiros](https://reader035.vdocuments.net/reader035/viewer/2022062420/55c5a3e9bb61eb811b8b4580/html5/thumbnails/12.jpg)
O que é teste de unidade?
Um pedaço de código que irá chamar outro pedaço de código e irá verificar algumas suposições. Caso as suposições sejam erradas, o teste irá falhar. Unidade é um único e determinado comportamento.
![Page 13: Testes de Unidade, por que você deve começar a fazer? - Javaneiros](https://reader035.vdocuments.net/reader035/viewer/2022062420/55c5a3e9bb61eb811b8b4580/html5/thumbnails/13.jpg)
Escrever código que testa código
![Page 14: Testes de Unidade, por que você deve começar a fazer? - Javaneiros](https://reader035.vdocuments.net/reader035/viewer/2022062420/55c5a3e9bb61eb811b8b4580/html5/thumbnails/14.jpg)
Como?
![Page 15: Testes de Unidade, por que você deve começar a fazer? - Javaneiros](https://reader035.vdocuments.net/reader035/viewer/2022062420/55c5a3e9bb61eb811b8b4580/html5/thumbnails/15.jpg)
Codificação FinalizaçãoEscrita de testes
2 mins 5 min 1 min
Tempo dos testes: 16 minutosRepetição (5 vezes)
Testes
5 ms
![Page 16: Testes de Unidade, por que você deve começar a fazer? - Javaneiros](https://reader035.vdocuments.net/reader035/viewer/2022062420/55c5a3e9bb61eb811b8b4580/html5/thumbnails/16.jpg)
Outros benefícios
• Meu sistema funciona!!!• Testes de Regressão• Não tenho medo de alterar meu código• No final das contas, sai mais barato• É mais fácil de encontrar um bug no código• Você consegue ver melhor como seu código será usado• Muito mais divertido!• Melhora a qualidade do código
![Page 17: Testes de Unidade, por que você deve começar a fazer? - Javaneiros](https://reader035.vdocuments.net/reader035/viewer/2022062420/55c5a3e9bb61eb811b8b4580/html5/thumbnails/17.jpg)
Qualidade de código com testes de unidade
![Page 18: Testes de Unidade, por que você deve começar a fazer? - Javaneiros](https://reader035.vdocuments.net/reader035/viewer/2022062420/55c5a3e9bb61eb811b8b4580/html5/thumbnails/18.jpg)
Problemas
• Falta de conhecimento de Orientação a Objetos• Não pensar corretamente nos cenários• Fica chato se você não faz da forma correta
![Page 19: Testes de Unidade, por que você deve começar a fazer? - Javaneiros](https://reader035.vdocuments.net/reader035/viewer/2022062420/55c5a3e9bb61eb811b8b4580/html5/thumbnails/19.jpg)
TDD
![Page 20: Testes de Unidade, por que você deve começar a fazer? - Javaneiros](https://reader035.vdocuments.net/reader035/viewer/2022062420/55c5a3e9bb61eb811b8b4580/html5/thumbnails/20.jpg)
Começar testando (antes mesmo de existir o código de
produção)
![Page 21: Testes de Unidade, por que você deve começar a fazer? - Javaneiros](https://reader035.vdocuments.net/reader035/viewer/2022062420/55c5a3e9bb61eb811b8b4580/html5/thumbnails/21.jpg)
Como assim?
![Page 22: Testes de Unidade, por que você deve começar a fazer? - Javaneiros](https://reader035.vdocuments.net/reader035/viewer/2022062420/55c5a3e9bb61eb811b8b4580/html5/thumbnails/22.jpg)
![Page 23: Testes de Unidade, por que você deve começar a fazer? - Javaneiros](https://reader035.vdocuments.net/reader035/viewer/2022062420/55c5a3e9bb61eb811b8b4580/html5/thumbnails/23.jpg)
Benefícios
• Foco no objetivo• Código nasce testado• Sem soluções complexas• Código limpo, mais coeso e menos desacoplado• Maior cobertura de código• Satisfação de ver seu sistema funcionando de ponta a ponta
![Page 24: Testes de Unidade, por que você deve começar a fazer? - Javaneiros](https://reader035.vdocuments.net/reader035/viewer/2022062420/55c5a3e9bb61eb811b8b4580/html5/thumbnails/24.jpg)
Mas... Não é a mesma coisa que escrever os testes
depois???
![Page 25: Testes de Unidade, por que você deve começar a fazer? - Javaneiros](https://reader035.vdocuments.net/reader035/viewer/2022062420/55c5a3e9bb61eb811b8b4580/html5/thumbnails/25.jpg)
![Page 26: Testes de Unidade, por que você deve começar a fazer? - Javaneiros](https://reader035.vdocuments.net/reader035/viewer/2022062420/55c5a3e9bb61eb811b8b4580/html5/thumbnails/26.jpg)
Problemas
• Aprendizado• Mudança de cultura• Exige prática• Refatoração
![Page 27: Testes de Unidade, por que você deve começar a fazer? - Javaneiros](https://reader035.vdocuments.net/reader035/viewer/2022062420/55c5a3e9bb61eb811b8b4580/html5/thumbnails/27.jpg)
Refatoração
É uma técnica disciplinada para reestruturar um corpo existente de código, alterando a sua estrutura interna sem alterar seu comportamento externo.
![Page 28: Testes de Unidade, por que você deve começar a fazer? - Javaneiros](https://reader035.vdocuments.net/reader035/viewer/2022062420/55c5a3e9bb61eb811b8b4580/html5/thumbnails/28.jpg)
E o que eu ganho com isso?
• Comentários no código se tornam desnecessários• Código pode ser facilmente entendido por todos• Fácil de testar• Fácil de compreender• Extensibilidade• Melhor leitura e escrita
![Page 29: Testes de Unidade, por que você deve começar a fazer? - Javaneiros](https://reader035.vdocuments.net/reader035/viewer/2022062420/55c5a3e9bb61eb811b8b4580/html5/thumbnails/29.jpg)
Até quando eu devo testar?
• Desencane de cobrir 100% o seu código• Teste até onde os testes de unidade são necessários• Teste somente o que é relevante
![Page 30: Testes de Unidade, por que você deve começar a fazer? - Javaneiros](https://reader035.vdocuments.net/reader035/viewer/2022062420/55c5a3e9bb61eb811b8b4580/html5/thumbnails/30.jpg)
O que não testar
• Getters• Setters• Classes da linguagem• Trechos simples demais• Integração entre partes do sistema (falando em testes de unidade)• Quando você sabe que o teste vai passar antes de implementar
![Page 31: Testes de Unidade, por que você deve começar a fazer? - Javaneiros](https://reader035.vdocuments.net/reader035/viewer/2022062420/55c5a3e9bb61eb811b8b4580/html5/thumbnails/31.jpg)
Leituras recomendadas
![Page 32: Testes de Unidade, por que você deve começar a fazer? - Javaneiros](https://reader035.vdocuments.net/reader035/viewer/2022062420/55c5a3e9bb61eb811b8b4580/html5/thumbnails/32.jpg)