Testes

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

1 comments

Comments 1 - 1 of 1 previous next Post a comment

Post a comment
Embed Video
Edit your comment Cancel

1 Favorite

Testes - Presentation Transcript

  1. System.out.println(\"Teste\"); Jevô Paulo César M. Jeveaux www.jeveaux.com www.portaljava.com
  2. Jeveaux Desenvolvedor Java há 7++ anos Administrador do PortalJava e ESJUG Palestrante-Entusiasta-Evangelista Java Entusiasta Rails, Python e Agile Curioso e aprendendo Erlang =)
  3. | Sobre o que vamos falar ● Introdução ● Bug ● Seja profissional ● O que são testes ● Preciso de testes? Por que? Garanta-se! ● TDD ● BDD ● Conclusões
  4. | Introdução Desenvolvimento de software
  5. | Introdução Desenvolvimento de software Falhas de Software
  6. 1/3 poderiam ser evitadas [1]
  7. 1/3 poderiam ser evitadas ~50% são detectadas em produção [1]
  8. | Introdução Desenvolvimento de software Falhas de Software Falhas custam caro
  9. $$$$$$ [1][2]
  10. $$$$$$ $$$$$$ [1][2]
  11. $$$$$$ $$$$$$ $$$$$$ 60 bilhões ++ prejuízo anual [1][2]
  12. | Introdução Desenvolvimento de software Falhas de Software Falhas custam caro Testes não evitam falhas
  13. | Introdução Desenvolvimento de software Falhas de Software Falhas custam caro Testes não evitam falhas Testes identificam as falhas antes delas acontecerem
  14. | Bug
  15. Bugs foram os insetos nas válvulas do Eniac...
  16. Bugs foram os insetos nas válvulas do Eniac... … e são os insetos no vidro do carro
  17. Bugs foram os insetos Nas válvulas do Eniac... Mas também são os muitos problemas que somente os usuários encontrarão … e são os insetos no vidro do carro
  18. Bugs foram os insetos Nas válvulas do Eniac... Mas também são os muitos problemas que somente os usuários encontrarão … ou os insetos no vidro do carro
  19. Bugs vão existir. Sempre!
  20. Bugs vão existir. Sempre! Não existe engenharia perfeita
  21. Bugs vão existir. Sempre! Não existe engenharia perfeita Antes de corrigir um bug, escreva um teste que o detecte
  22. Bugs vão existir. Sempre! Não existe engenharia perfeita Antes de corrigir um bug, escreva um teste que o detecte XP
  23. ???
  24. Não esse, mas esse
  25. Não esse, mas esse www.extremeprogramming.org
  26. | Garanta o que você faz seja profissional
  27. Cliente: Isso aqui não está funcionando! Programador: Mas hanm!? Aqui funciona.
  28. Depois eu testo...
  29. Depois eu testo... … estou sem tempo para testar agora...
  30. Depois eu testo... … estou sem tempo para testar agora... ...funcionou! Não mude mais nada agora.
  31. Depois eu testo... Programadores profissionais … estou sem tempo escrevem testesagora... para testar ...funcionou! Não mude mais nada agora. E ponto final! [4]
  32. | Mas o que são testes?
  33. | O é um teste? Um teste é uma verificação feita sobre um código ou fragmento de código para garantir que uma determinada entrada produza, sempre, uma saída esperada
  34. | O teste é - Pontual - Finito - Previsível
  35. | O teste é O teste deve ser | - Pontual - Simples - Finito - Conciso - Previsível - Legível
  36. Unidade de código
  37. Unidade de código Parte da solução
  38. Unidade de código Parte da solução Escrito pelo programador
  39. Unidade de código Parte da Atualizados solução Escrito pelo programador
  40. Aceitação
  41. Aceitação Solução completa
  42. Aceitação Solução completa Integração
  43. Aceitação Funcionais Solução completa Integração
  44. Aceitação Funcionais Solução Atualizados completa Integração
  45. | Testes Unitários - Testam partes isoladas da solução - Partes do código - Simule as dependências (Mocks, fixtures) - Fundamental para TDD/BDD
  46. | Testes de Aceitação - Testam histórias/funcionalidades/caso de uso - Envolvem uma ou mais partes da solução
  47. | Testes de Integração - Testam a integração da solução com agentes externos - Pode ser feito isolado ou com a solução completa - Geralmente não é muito praticado
  48. | Mas eu preciso de testes?
  49. SIM
  50. SIM
  51. Você: - Deve verificar o código. Sempre! - Deve garantir que os requisitos estão Implementados - Deve ter segurança para fazer alterar
  52. Você: - Precisa entregar rápido - Precisa entregar com qualidade - Precisa garantir a qualidade do que será entregue
  53. | Como você se garante?
  54. | Como você se garante? Bug Encontrado Código alterado OK
  55. | Como você se garante? Bug Encontrado Código alterado OK
  56. | Como você se garante? Bug Encontrado Código alterado OK BUG ERRO ????
  57. | Garanta-se nos testes ● Aplicações cobertas por bons testes propiciam: ● Facilidade de manutenção; ● Facilidade para inclusão de novos membros no time de desenvolvimento; ● Redução de problemas e custos nas manutenções;
  58. | Garanta-se nos testes ● Aplicações cobertas por bons testes propiciam: ● Facilidade de manutenção; ● Facilidade para inclusão de novos membros no time de desenvolvimento; ● Redução de problemas e custos nas manutenções; ● Telefone silencioso nas madrugadas!
  59. | Garanta-se nos testes Bug Encontrado Código alterado OK OK OK OK
  60. | Test Driven Development refatore Escreva código Escreva um que passe Teste no teste
  61. | TDD ● Escreva o teste antes da implementação ● Escreva somente código para passar no teste ● Escreva testes pequenos [10]
  62. | Behaviour Driven Development refatore Escreva código Escreva um que passe Teste no teste
  63. | BDD ● Escreva o teste antes da implementação ● Escreva somente código para passar no teste ● Escreva testes pequenos
  64. TDD? BDD? Copy&Paste?
  65. TDD? BDD? Copy&Paste? TDD Código BDD Comportamento
  66. | Conclusões ● Testes colaboram para o aumento da qualidade dos sistemas ● Desenvolvedores ficam mais corajosos e confiantes ao programar ● O software cresce de forma ordenada e com qualidade de design ● O software se adapta com mais facilidade a mudanças
  67. | Conclusões ● Demora mais? ● No início é necessário escrever muitos testes ● Depois da inércia a suite de testes está pronta e escrevem-se menos testes ● Certeza de que a implementação está funcionando ● Maioria dos bugs encontrados em tempo de desenvolvimento ● Bugs de produção são encontrados e corrigidos com muito mais velocidade ● Então no fim das contas demora-se muito menos tempo e com muito mais qualidade [10]
  68. | Conclusões TDD ou BDD? Não importa! Faça qualquer um desde que faça direito
  69. Dúvidas? já podem acordar
  70. | Referências [1] - NIST - http://www.nist.gov/public_affairs/releases/n02-10.htm [2] - ImproveIt - http://www.improveit.com.br/xp/praticas/tdd [3] - Caelum - http://blog.caelum.com.br/2006/09/08/voce-acredita-no-seu-codigo/ [4] – Fragmental - Shoes - http://blog.fragmental.com.br/2007/10/31/programadores- profissionais-escrevem-testes-ponto-final/ [5] – Marcos Pereira – http://marcospereira.wordpress.com/2007/11/27/desenvolvedores- odeiam-testar [6] – Wikipedia – http://en.wikipedia.org/wiki/Test-driven_development [7] - TDD - http://www.testdriven.com [8] - Brod - http://www.brod.com.br [9] – java.net - http://wiki.java.net/bin/view/People/SmellsToRefactorings [10] – Palestra Desenvolvimento Guiado por Testes (TDD) – Guilherme Chapiewski
  71. System.out.println(\"Teste\"); Jevô Paulo César M. Jeveaux www.jeveaux.com www.portaljava.com

+ Paulo césar M. jeveauxPaulo césar M. jeveaux, 7 months ago

custom

554 views, 1 favs, 3 embeds more stats

More Info

CC Attribution-NonCommercial-ShareAlike LicenseCC Attribution-NonCommercial-ShareAlike LicenseCC Attribution-NonCommercial-ShareAlike License

Go to text version
  • Total Views 554
    • 531 on SlideShare
    • 23 from embeds
  • Comments 1
  • Favorites 1
  • Downloads 4
Most viewed embeds
  • 21 views on http://www.jeveaux.com
  • 1 views on http://feeds.feedburner.com
  • 1 views on http://www.portaljava.com

more

All embeds
  • 21 views on http://www.jeveaux.com
  • 1 views on http://feeds.feedburner.com
  • 1 views on http://www.portaljava.com

less

Flagged as inappropriate Flag as inappropriate
Flag as innappropriate

Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

Cancel

Categories