Unit Testing em .NET - VDD 2011

1,187 views

Published on

Slides da palestra de Vinicius Quaiato sobre Unit Testing na plataforma .NET no evento VDD 2011 - Virtual Developer Day.

http://viniciusquaiato.com

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,187
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
18
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Unit Testing em .NET - VDD 2011

  1. 1. Unit Testing na plataforma .NET .NET Interior | Microsoft - CEA/MSDN | Silverlight Brasil | Silverlight Planet | Codificando .NET Vinicius Quaiato Geek, pai, vegetariano, santista. Trabalha com desenvolvimento de software há 4 anos, atualmente coordena o time de .NET na Gonow Tecnologia
  2. 2. Agenda Virtual Developer Day 2011 | .NET Interior
  3. 3. Fazer software dói Virtual Developer Day 2011 | .NET Interior
  4. 4. Como fazemos hoje(e sempre) Virtual Developer Day 2011 | .NET Interior
  5. 5. Será que está certo? Virtual Developer Day 2011 | .NET Interior
  6. 6. Será que está certo? <ul><li>Não temos controle do código </li></ul><ul><li>Não temos segurança no código </li></ul><ul><li>Não temos previsibilidade </li></ul>Virtual Developer Day 2011 | .NET Interior
  7. 7. Temos medo Virtual Developer Day 2011 | .NET Interior
  8. 8. As coisas demoram Virtual Developer Day 2011 | .NET Interior
  9. 9. Nos sentimos incapazes Virtual Developer Day 2011 | .NET Interior
  10. 10. Por que? <ul><li>Por que não testamos corretamente! </li></ul>Virtual Developer Day 2011 | .NET Interior
  11. 11. O que são testes? <ul><li>Maneira de garantir que o software: </li></ul><ul><ul><li>atende aos requisitos de negócio </li></ul></ul><ul><ul><li>funciona como esperado </li></ul></ul>Virtual Developer Day 2011 | .NET Interior
  12. 12. O que são testes? <ul><li>Maneira verificável de garantir que o software atende às necessidades de negócio e funciona como esperado. </li></ul>Virtual Developer Day 2011 | .NET Interior
  13. 13. Por que estamos errados? <ul><li>Ctrl + Shift + B </li></ul>Virtual Developer Day 2011 | .NET Interior
  14. 14. Por que estamos errados? <ul><li>Compilar NÃO é testar! </li></ul><ul><li>Apenas significa que o código atende ao compilador, apenas isso! </li></ul>Virtual Developer Day 2011 | .NET Interior
  15. 15. Por que estamos errados? <ul><li>F5 </li></ul>Virtual Developer Day 2011 | .NET Interior
  16. 16. Por que estamos errados? <ul><li>Executar a aplicação demora </li></ul><ul><li>No geral testa-se apenas o que você pensa que alterou </li></ul>Virtual Developer Day 2011 | .NET Interior O bater de asas de uma borboleta em Tóquio pode provocar um furacão em Nova Iorque “ ”
  17. 17. Por que estamos errados? <ul><li>Macaco </li></ul>Virtual Developer Day 2011 | .NET Interior
  18. 18. Por que estamos errados? <ul><li>Executar a aplicação demora </li></ul><ul><li>É bom para encontrar alguns bugs </li></ul><ul><li>Testes não são apenas sobre bugs! </li></ul>Virtual Developer Day 2011 | .NET Interior
  19. 19. Por que estamos errados? <ul><li>Estas não são as únicas maneiras de fazermos isto. </li></ul>Virtual Developer Day 2011 | .NET Interior
  20. 20. Como fazer então? <ul><li>Testes automatizados </li></ul>Virtual Developer Day 2011 | .NET Interior
  21. 21. Por que automatizar? <ul><li>Verificável </li></ul><ul><ul><li>Sabemos de forma clara se está certo ou não </li></ul></ul><ul><li>Repetível </li></ul><ul><ul><li>Executamos N vezes e obtemos o mesmo resultado </li></ul></ul><ul><li>Executável </li></ul><ul><ul><li>One click </li></ul></ul><ul><li>Rápido </li></ul>Virtual Developer Day 2011 | .NET Interior
  22. 22. Mas… <ul><li>Eu sou bom no que eu faço, não preciso ficar testando tudo a todo momento. </li></ul>Virtual Developer Day 2011 | .NET Interior
  23. 23. Acredite <ul><li>Você não é tão bom quanto pensa! </li></ul>Virtual Developer Day 2011 | .NET Interior
  24. 24. Virtual Developer Day 2011 | .NET Interior
  25. 25. Testes Unitários <ul><li>Não! </li></ul><ul><li>Testes de Unidade </li></ul>Virtual Developer Day 2011 | .NET Interior
  26. 26. Testes Unitários <ul><li>Não! </li></ul><ul><li>Testes de Unidade </li></ul>Virtual Developer Day 2011 | .NET Interior
  27. 27. Testes de Unidade <ul><li>Código executando código </li></ul><ul><li>Testam uma unidade de código </li></ul><ul><ul><li>SUT – System Under Test </li></ul></ul><ul><li>Rápidos de executar </li></ul><ul><ul><li>O feedback é quase instantâneo </li></ul></ul><ul><li>Auxiliam o design </li></ul><ul><ul><li>Se está difícil testar é um sinal de problema no código </li></ul></ul>Virtual Developer Day 2011 | .NET Interior
  28. 28. É sua obrigação <ul><li>Escrever testes deve fazer parte das suas tarefas </li></ul><ul><li>Não considere uma tarefa pronta se não estiver testada </li></ul>Virtual Developer Day 2011 | .NET Interior
  29. 29. O tempo <ul><li>Deixar de testar não te faz mais rápido </li></ul><ul><li>Deixar de testar te dá uma falsa sensação de velocidade </li></ul>Virtual Developer Day 2011 | .NET Interior
  30. 30. Frameworks <ul><li>MSTests </li></ul><ul><ul><li>Framework de unit testing da Microsoft </li></ul></ul><ul><li>NUnit </li></ul><ul><ul><li>Framework de unit testing open source </li></ul></ul><ul><li>Ambos são bastante parecidos </li></ul>Virtual Developer Day 2011 | .NET Interior
  31. 31. Frameworks <ul><li>Moq </li></ul><ul><ul><li>Framework de mocking(isolamento) </li></ul></ul>Virtual Developer Day 2011 | .NET Interior
  32. 32. Mocks <ul><li>Usados para testar a interação/comunicação entre objetos </li></ul>Virtual Developer Day 2011 | .NET Interior
  33. 33. Stubs <ul><li>Usados para simular/fornecer estados para auxiliar nos testes </li></ul>Virtual Developer Day 2011 | .NET Interior
  34. 34. Stop talking <ul><li>Show the code! </li></ul>Virtual Developer Day 2011 | .NET Interior
  35. 35. E é isso! <ul><li>Escrever testes é uma tarefa importante </li></ul><ul><li>Deve fazer parte da nossa definição de pronto </li></ul><ul><li>Nos dá segurança, confiança e qualidade de vida </li></ul><ul><li>Nos faz mais sexy :P </li></ul>Virtual Developer Day 2011 | .NET Interior
  36. 36. Seja feliz! Virtual Developer Day 2011 | .NET Interior
  37. 37. Alguns livros Virtual Developer Day 2011 | .NET Interior
  38. 38. Contatos <ul><li>e-mail [email_address] </li></ul><ul><li>blog http://viniciusquaiato.com </li></ul><ul><li>twitter @vquaiato </li></ul>Virtual Developer Day 2011 | .NET Interior
  39. 39. Virtual Developer Day 2011 | .NET Interior .NET Interior | Microsoft - CEA/MSDN | Silverlight Brasil | Silverlight Planet | Codificando .NET

×