Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Palestra Testes Unidade Com JUnit

3,295 views

Published on

Palestra sobre técnicas e fases de testes, e informações sobre boas e más práticas comuns ao utilizar JUnit para testes de unidade.
Explica também as principais anotações do framework JUnit, e a anotação disponibilizada na versão 4.7: @Rule

Published in: Technology
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (2019 Update) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://soo.gd/irt2 } ......................................................................................................................... Download Full EPUB Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download Full doc Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download PDF EBOOK here { https://soo.gd/irt2 } ......................................................................................................................... Download EPUB Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download doc Ebook here { https://soo.gd/irt2 } ......................................................................................................................... ......................................................................................................................... ................................................................................................................................... eBook is an electronic version of a traditional print book THIS can be read by using a personal computer or by using an eBook reader. (An eBook reader can be a software application for use on a computer such as Microsoft's free Reader application, or a book-sized computer THIS is used solely as a reading device such as Nuvomedia's Rocket eBook.) Users can purchase an eBook on diskette or CD, but the most popular method of getting an eBook is to purchase a downloadable file of the eBook (or other reading material) from a Web site (such as Barnes and Noble) to be read from the user's computer or reading device. Generally, an eBook can be downloaded in five minutes or less ......................................................................................................................... .............. Browse by Genre Available eBooks .............................................................................................................................. Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, ......................................................................................................................... ......................................................................................................................... .....BEST SELLER FOR EBOOK RECOMMEND............................................................. ......................................................................................................................... Blowout: Corrupted Democracy, Rogue State Russia, and the Richest, Most Destructive Industry on Earth,-- The Ride of a Lifetime: Lessons Learned from 15 Years as CEO of the Walt Disney Company,-- Call Sign Chaos: Learning to Lead,-- StrengthsFinder 2.0,-- Stillness Is the Key,-- She Said: Breaking the Sexual Harassment Story THIS Helped Ignite a Movement,-- Atomic Habits: An Easy & Proven Way to Build Good Habits & Break Bad Ones,-- Everything Is Figureoutable,-- What It Takes: Lessons in the Pursuit of Excellence,-- Rich Dad Poor Dad: What the Rich Teach Their Kids About Money THIS the Poor and Middle Class Do Not!,-- The Total Money Makeover: Classic Edition: A Proven Plan for Financial Fitness,-- Shut Up and Listen!: Hard Business Truths THIS Will Help You Succeed, ......................................................................................................................... .........................................................................................................................
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (2019 Update) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://soo.gd/irt2 } ......................................................................................................................... Download Full EPUB Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download Full doc Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download PDF EBOOK here { https://soo.gd/irt2 } ......................................................................................................................... Download EPUB Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download doc Ebook here { https://soo.gd/irt2 } ......................................................................................................................... ......................................................................................................................... ................................................................................................................................... eBook is an electronic version of a traditional print book THIS can be read by using a personal computer or by using an eBook reader. (An eBook reader can be a software application for use on a computer such as Microsoft's free Reader application, or a book-sized computer THIS is used solely as a reading device such as Nuvomedia's Rocket eBook.) Users can purchase an eBook on diskette or CD, but the most popular method of getting an eBook is to purchase a downloadable file of the eBook (or other reading material) from a Web site (such as Barnes and Noble) to be read from the user's computer or reading device. Generally, an eBook can be downloaded in five minutes or less ......................................................................................................................... .............. Browse by Genre Available eBooks .............................................................................................................................. Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, ......................................................................................................................... ......................................................................................................................... .....BEST SELLER FOR EBOOK RECOMMEND............................................................. ......................................................................................................................... Blowout: Corrupted Democracy, Rogue State Russia, and the Richest, Most Destructive Industry on Earth,-- The Ride of a Lifetime: Lessons Learned from 15 Years as CEO of the Walt Disney Company,-- Call Sign Chaos: Learning to Lead,-- StrengthsFinder 2.0,-- Stillness Is the Key,-- She Said: Breaking the Sexual Harassment Story THIS Helped Ignite a Movement,-- Atomic Habits: An Easy & Proven Way to Build Good Habits & Break Bad Ones,-- Everything Is Figureoutable,-- What It Takes: Lessons in the Pursuit of Excellence,-- Rich Dad Poor Dad: What the Rich Teach Their Kids About Money THIS the Poor and Middle Class Do Not!,-- The Total Money Makeover: Classic Edition: A Proven Plan for Financial Fitness,-- Shut Up and Listen!: Hard Business Truths THIS Will Help You Succeed, ......................................................................................................................... .........................................................................................................................
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (2019 Update) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://soo.gd/irt2 } ......................................................................................................................... Download Full EPUB Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download Full doc Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download PDF EBOOK here { https://soo.gd/irt2 } ......................................................................................................................... Download EPUB Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download doc Ebook here { https://soo.gd/irt2 } ......................................................................................................................... ......................................................................................................................... ................................................................................................................................... eBook is an electronic version of a traditional print book THIS can be read by using a personal computer or by using an eBook reader. (An eBook reader can be a software application for use on a computer such as Microsoft's free Reader application, or a book-sized computer THIS is used solely as a reading device such as Nuvomedia's Rocket eBook.) Users can purchase an eBook on diskette or CD, but the most popular method of getting an eBook is to purchase a downloadable file of the eBook (or other reading material) from a Web site (such as Barnes and Noble) to be read from the user's computer or reading device. Generally, an eBook can be downloaded in five minutes or less ......................................................................................................................... .............. Browse by Genre Available eBooks .............................................................................................................................. Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, ......................................................................................................................... ......................................................................................................................... .....BEST SELLER FOR EBOOK RECOMMEND............................................................. ......................................................................................................................... Blowout: Corrupted Democracy, Rogue State Russia, and the Richest, Most Destructive Industry on Earth,-- The Ride of a Lifetime: Lessons Learned from 15 Years as CEO of the Walt Disney Company,-- Call Sign Chaos: Learning to Lead,-- StrengthsFinder 2.0,-- Stillness Is the Key,-- She Said: Breaking the Sexual Harassment Story THIS Helped Ignite a Movement,-- Atomic Habits: An Easy & Proven Way to Build Good Habits & Break Bad Ones,-- Everything Is Figureoutable,-- What It Takes: Lessons in the Pursuit of Excellence,-- Rich Dad Poor Dad: What the Rich Teach Their Kids About Money THIS the Poor and Middle Class Do Not!,-- The Total Money Makeover: Classic Edition: A Proven Plan for Financial Fitness,-- Shut Up and Listen!: Hard Business Truths THIS Will Help You Succeed, ......................................................................................................................... .........................................................................................................................
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (2019 Update) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://soo.gd/irt2 } ......................................................................................................................... Download Full EPUB Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download Full doc Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download PDF EBOOK here { https://soo.gd/irt2 } ......................................................................................................................... Download EPUB Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download doc Ebook here { https://soo.gd/irt2 } ......................................................................................................................... ......................................................................................................................... ................................................................................................................................... eBook is an electronic version of a traditional print book THIS can be read by using a personal computer or by using an eBook reader. (An eBook reader can be a software application for use on a computer such as Microsoft's free Reader application, or a book-sized computer THIS is used solely as a reading device such as Nuvomedia's Rocket eBook.) Users can purchase an eBook on diskette or CD, but the most popular method of getting an eBook is to purchase a downloadable file of the eBook (or other reading material) from a Web site (such as Barnes and Noble) to be read from the user's computer or reading device. Generally, an eBook can be downloaded in five minutes or less ......................................................................................................................... .............. Browse by Genre Available eBooks .............................................................................................................................. Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, ......................................................................................................................... ......................................................................................................................... .....BEST SELLER FOR EBOOK RECOMMEND............................................................. ......................................................................................................................... Blowout: Corrupted Democracy, Rogue State Russia, and the Richest, Most Destructive Industry on Earth,-- The Ride of a Lifetime: Lessons Learned from 15 Years as CEO of the Walt Disney Company,-- Call Sign Chaos: Learning to Lead,-- StrengthsFinder 2.0,-- Stillness Is the Key,-- She Said: Breaking the Sexual Harassment Story THIS Helped Ignite a Movement,-- Atomic Habits: An Easy & Proven Way to Build Good Habits & Break Bad Ones,-- Everything Is Figureoutable,-- What It Takes: Lessons in the Pursuit of Excellence,-- Rich Dad Poor Dad: What the Rich Teach Their Kids About Money THIS the Poor and Middle Class Do Not!,-- The Total Money Makeover: Classic Edition: A Proven Plan for Financial Fitness,-- Shut Up and Listen!: Hard Business Truths THIS Will Help You Succeed, ......................................................................................................................... .........................................................................................................................
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (2019 Update) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://soo.gd/irt2 } ......................................................................................................................... Download Full EPUB Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download Full doc Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download PDF EBOOK here { https://soo.gd/irt2 } ......................................................................................................................... Download EPUB Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download doc Ebook here { https://soo.gd/irt2 } ......................................................................................................................... ......................................................................................................................... ................................................................................................................................... eBook is an electronic version of a traditional print book THIS can be read by using a personal computer or by using an eBook reader. (An eBook reader can be a software application for use on a computer such as Microsoft's free Reader application, or a book-sized computer THIS is used solely as a reading device such as Nuvomedia's Rocket eBook.) Users can purchase an eBook on diskette or CD, but the most popular method of getting an eBook is to purchase a downloadable file of the eBook (or other reading material) from a Web site (such as Barnes and Noble) to be read from the user's computer or reading device. Generally, an eBook can be downloaded in five minutes or less ......................................................................................................................... .............. Browse by Genre Available eBooks .............................................................................................................................. Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, ......................................................................................................................... ......................................................................................................................... .....BEST SELLER FOR EBOOK RECOMMEND............................................................. ......................................................................................................................... Blowout: Corrupted Democracy, Rogue State Russia, and the Richest, Most Destructive Industry on Earth,-- The Ride of a Lifetime: Lessons Learned from 15 Years as CEO of the Walt Disney Company,-- Call Sign Chaos: Learning to Lead,-- StrengthsFinder 2.0,-- Stillness Is the Key,-- She Said: Breaking the Sexual Harassment Story THIS Helped Ignite a Movement,-- Atomic Habits: An Easy & Proven Way to Build Good Habits & Break Bad Ones,-- Everything Is Figureoutable,-- What It Takes: Lessons in the Pursuit of Excellence,-- Rich Dad Poor Dad: What the Rich Teach Their Kids About Money THIS the Poor and Middle Class Do Not!,-- The Total Money Makeover: Classic Edition: A Proven Plan for Financial Fitness,-- Shut Up and Listen!: Hard Business Truths THIS Will Help You Succeed, ......................................................................................................................... .........................................................................................................................
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

Palestra Testes Unidade Com JUnit

  1. 1. Testes de Unidade com JUnit Robinson Castilho – JUGMS castilho@bacarin.com.br http://www.jugms.com.br
  2. 2. Apresentação ● Robinson Castilho ● Desenvolvedor C++ e Java desde 2001 ● Sun Certified Java Programmer ● Sun Certified Web Component Developer ● Fundador da Bacarin Software ● Instrutor SENAC/MS ● Coordenador do JUGMS
  3. 3. Certa vez fui convidado...
  4. 4. Certa vez fui convidado... Pilotar novo modelo de avião
  5. 5. Avião Moderno
  6. 6. Avião Moderno Bonito
  7. 7. Avião Moderno Bonito Inovador
  8. 8. Avião Moderno Bonito Inovador Econômico
  9. 9. ?
  10. 10. ?
  11. 11. ?
  12. 12. ?
  13. 13. Um detalhe: o avião nunca...
  14. 14. Um detalhe: o avião nunca... TINHA SIDO TESTADO
  15. 15. Olha o Avião
  16. 16. Roubada?
  17. 17. Roubada? SIM
  18. 18. Roubada? SIM
  19. 19. Pense no mundo real
  20. 20. Pense no mundo real Cliente recebe um software:
  21. 21. Pense no mundo real Cliente recebe um software: Moderno
  22. 22. Pense no mundo real Cliente recebe um software: Moderno Inovador
  23. 23. Pense no mundo real Cliente recebe um software: Moderno Inovador Econômico
  24. 24. Pense no mundo real Cliente recebe um software: Moderno Inovador Econômico Nunca foi testado
  25. 25. Roubada?
  26. 26. Roubada? SIM
  27. 27. Teste seu software
  28. 28. Agenda
  29. 29. Agenda ● Importância dos testes
  30. 30. Agenda ● Importância dos testes ● Técnicas e Fases de testes
  31. 31. Agenda ● Importância dos testes ● Técnicas e Fases de testes ● Testes de Unidade
  32. 32. Agenda ● Importância dos testes ● Técnicas e Fases de testes ● Testes de Unidade – Ferramenta JUnit
  33. 33. Agenda ● Importância dos testes ● Técnicas e Fases de testes ● Testes de Unidade – Ferramenta JUnit – Boas e más Práticas
  34. 34. Agenda ● Importância dos testes ● Técnicas e Fases de testes ● Testes de Unidade – Ferramenta JUnit – Boas e más Práticas ● Tomar chopp :)
  35. 35. Dados não mentem
  36. 36. Dados não mentem Erros existem:
  37. 37. Dados não mentem Erros existem: 1/3 poderiam ser evitados
  38. 38. Dados não mentem Erros existem: 1/3 poderiam ser evitados 50% são detectados em produção
  39. 39. Dados não mentem Erros existem: 1/3 poderiam ser evitados 50% são detectados em produção Prejuízo de US$ ~60 bilhões/ano Fonte: http://www.nist.gov/public_affairs/releases/n02-10.htm
  40. 40. Para que serve um teste?
  41. 41. Verificar que uma determinada entrada produz SEMPRE uma mesma saída
  42. 42. Como testar corretamente?
  43. 43. Caixa Preta
  44. 44. Caixa Preta Não se preocupa com o código fonte
  45. 45. Caixa Preta Não se preocupa com o código fonte Saídas são coerentes com as entradas?
  46. 46. Caixa Preta Não se preocupa com o código fonte Saídas são coerentes com as entradas? Equipe testes (normalmente) é diferente da equipe implementação
  47. 47. Caixa Branca
  48. 48. Caixa Branca Trabalha com o código fonte
  49. 49. Caixa Branca Trabalha com o código fonte Avalia aspectos:
  50. 50. Caixa Branca Trabalha com o código fonte Avalia aspectos: ● Teste de condição ● Teste de fluxo de dados ● Teste de ciclos ● Teste de caminho lógico ● Código nunca executado...
  51. 51. Fases: Testes de Unidade
  52. 52. Fases: Testes de Unidade
  53. 53. Fases: Testes de Unidade Testa o código
  54. 54. Fases: Testes de Unidade Testa o código Pequenas unidades
  55. 55. Fases: Testes de Unidade Testa o código Pequenas unidades Independentes
  56. 56. Fases: Testes de Unidade Testa o código Pequenas unidades Independentes (sub-rotinas, trechos)
  57. 57. Teste de Integração
  58. 58. Teste de Integração Testa a integração interna de um sistema
  59. 59. Teste de Integração Testa a integração interna de um sistema Verifica se as peças do quebra-cabeças Estão encaixadas
  60. 60. Teste de Sistema
  61. 61. Teste de Sistema Ponto de vista do cliente final
  62. 62. Teste de Sistema Ponto de vista do cliente final
  63. 63. Teste de Sistema Ponto de vista do cliente final Simular ambiente que o cliente utilizará
  64. 64. Teste de Aceitação
  65. 65. Teste de Aceitação Aprovado ou não?
  66. 66. Teste de Aceitação Aprovado ou não?
  67. 67. Teste de Aceitação Aprovado ou não? Grupo restrito usuários finais simulam o uso em produção
  68. 68. Teste de Aceitação Aprovado ou não? Grupo restrito usuários finais simulam o uso em produção Determina se o sistema satisfaz os critérios estabelecidos
  69. 69. JUnit
  70. 70. JUnit automatizar testes de unidade
  71. 71. JUnit automatizar testes de unidade Open Source
  72. 72. JUnit automatizar testes de unidade Open Source Largamente Utilizado
  73. 73. JUnit automatizar testes de unidade Open Source Largamente Utilizado Criação rápida de testes
  74. 74. JUnit automatizar testes de unidade Open Source Largamente Utilizado Criação rápida de testes Diminuir necessidade de depuração
  75. 75. JUnit automatizar testes de unidade Open Source Largamente Utilizado Criação rápida de testes Diminuir necessidade de depuração Integrável ao Eclipse, Netbeans, Maven...
  76. 76. Utilizando JUnit 4 public class OlaMundoTest { @Test public void testSoma() { assertEquals(10, Calc.soma(7,3)); } }
  77. 77. Relatório no Eclipse
  78. 78. JUnit - Ciclo de vida *DZone RefCardz
  79. 79. @Test Informa que é um método de teste Atributos: ● expected ● timeout
  80. 80. @Before e @After Métodos executados antes e após um método de teste (setUp e tearDown)
  81. 81. @Before e @After Métodos executados antes e após um método de teste (setUp e tearDown) @BeforeClass e @AfterClass Métodos executados antes e após uma classe de teste
  82. 82. Novidades do JUnit 4.7
  83. 83. Novidades do JUnit 4.7 Anotação: @Rule
  84. 84. Novidades do JUnit 4.7 Anotação: @Rule Redefinir e adicionar comportamentos
  85. 85. Novidades do JUnit 4.7 Anotação: @Rule Redefinir e adicionar comportamentos Mecanismo de Meta-testes simples e claro
  86. 86. @Rule ● TemporaryFolder: Permite criar pastas e arquivos que serão automaticamente deletados após o teste public static class HasTempFolder { @Rule public TemporaryFolder folder= new TemporaryFolder(); @Test public void testUsingTempFolder() throws IOException { File createdFile= folder.newFile("myfile.txt"); File createdFolder= folder.newFolder("subfolder"); // ... } }
  87. 87. @Rule ● ExternalResource: Classe base para Rules que necessitam obter recursos externos (socket, conexão com SGBD, etc...) public static class UsesExternalResource { Server myServer = new Server(); @Rule public ExternalResource resource = new ExternalResource() { @Override protected void before() throws Throwable { myServer.connect(); } @Override protected void after() { myServer.disconnect(); }; }; @Test public void testFoo() { new Client().run(myServer); } }
  88. 88. @Rule ● ErrorCollector: Permite que a execução do teste continue, coletando todos os erros ocorridos public static class UsesErrorCollectorTwice { @Rule public ErrorCollector collector= new ErrorCollector(); @Test public void example() { collector.addError(new Throwable("first thing went wrong")); collector.addError(new Throwable("second thing went wrong")); } } ● Veja mais em: http://www.junit.org/node/574
  89. 89. Boas práticas
  90. 90. Boas práticas ● Execute os testes frequentemente
  91. 91. Boas práticas ● Execute os testes frequentemente ● Escreva um teste para o defeito antes de corrigi-lo
  92. 92. Boas práticas ● Execute os testes frequentemente ● Escreva um teste para o defeito antes de corrigi-lo ● Escreva testes, não logs para depuração: – System.out.println(...) – logger.info(...)
  93. 93. Más práticas ● Múltiplos assertions. Evite isso! public class MyTestCase { @Test public void testSomething() { assertEquals(10, Calc.soma(7,3)); assertEquals(50, Calc.multiplica(5,10)); assertEquals(30, Calc.subtrai(50,20)); } }
  94. 94. Más práticas ● Múltiplos assertions. Forma correta: public class MyTestCase { @Test public void testCondition1() { assertEquals(10, Calc.soma(7,3)); } @Test public void testCondition2() { assertEquals(50, Calc.multiplica(5,10)); } @Test public void testCondition3() { assertEquals(30, Calc.subtrai(50,20)); } }
  95. 95. Más práticas ● Método errado. Evite! assertTrue("Os objetos devem ser o mesmo", expected == actual); assertTrue("Os objetos devem ser iguais", expected.equals(actual)); assertTrue("O objeto deve ser nulo", actual == null); assertTrue("O objeto não pode ser nulo", actual != null); Use: assertSame("Os objetos devem ser o mesmo", expected, actual); assertEquals("Os objetos devem ser iguais", expected, actual); assertNull("O objeto deve ser nulo", actual); assertNotNull("O objeto não pode ser nulo", actual);
  96. 96. Más práticas ● Cobertura superficial – Caminho perfeito – Funcionalidades fáceis de testar – Alternativa: Code Coverage Tools
  97. 97. Más práticas ● Testes excessivamente complexos
  98. 98. Más práticas ● Testes excessivamente complexos Refatorar até obter:
  99. 99. Más práticas ● Testes excessivamente complexos Refatorar até obter: 1.Configuração 2.Declaração dos resultados esperados 3.Executar método a ser testado 4.Recuperar resultado 5.Verificar resultado encontrado X esperado
  100. 100. Más práticas ● Capturar exceções Inesperadas public void testCalculation() { try { srv.calculate(); assertEquals(42,srv.getResult()); }catch(CalculationException ex) { Log.error("Calculation caused exception", ex); } }
  101. 101. Más práticas ● Forma correta: Não capture exceções inesperadas public void testCalculation() throw CalculationException { srv.calculate(); assertEquals(42,srv.getResult()); }
  102. 102. Más práticas ● Validando exceções. Forma correta: @Test(expected=IndexOutOfBoundException.class) public void testIndexOutOfBoundsException() { try { ArrayList emptyList = new ArrayList(); Object o = emptyList.get(0); } }
  103. 103. Más práticas
  104. 104. Más práticas Não
  105. 105. Más práticas Não escrever
  106. 106. Más práticas Não escrever Testes !!
  107. 107. Reflexão Final "Todo programador sabe que é capaz de escrever testes para seu código. Poucos escrevem. A resposta universal para a pergunta "porque não?" é "Eu estou muito ocupado". Essa atitude torna-se um ciclo: quanto mais pressão você sente, menos testes você escreve. Quanto menos testes você escreve, menos produtivo você se torna e menos estável seu código fica. Quanto menos produtivo você se torna, mais pressão você sente".* * http://junit.sourceforge.net/doc/testinfected/testing.htm
  108. 108. Sobre o JUGMS ● Grupo de usuários Java do MS ● Forte atuação em Campo Grande ● Participa e promove eventos, palestras e reuniões ● Visite-nos: http://www.jugms.com.br
  109. 109. Sobre o Javaneiros ● Evento sobre todas as vertentes da tecnologia Java ● + de 500 inscritos em 2008 ● Edição 2009 – 14 de novembro de 2009 – Campo Grande/MS – Universidade Unaes – Entrada: 1 kg de alimento – Reservas especiais para caravanas – http://javaneiros.jugms.com.br
  110. 110. Sobre a Bacarin Software ● Residente na Incubadora de Empresas da UNIDERP ● Fornece sistemas web para: – Comércio Eletrônico – Web Sites – Gerenciamento Eletrônico de Documentos ● Visite-nos: http://www.bacarin.com.br
  111. 111. Dúvidas?
  112. 112. Bibliografia ● http://pt.wikipedia.org/wiki/JUnit ● http://www.improveit.com.br/xp/praticas/tdd ● http://www.exubero.com/junit/antipatterns.html ● http://www.guj.com.br/java.tutorial.artigo.40.1.guj ● http://www.junit.org/junit/javadoc/3.8.1/junit/framework/Assert.html ● http://junit.sourceforge.net/doc/testinfected/testing.htm ● http://www-128.ibm.com/developerworks/opensource /library/os-junit/?ca=dgr-lnxw07JUnite ● http://pt.wikipedia.org/wiki/Teste_de_software ● http://www.slideshare.net/jeveaux/* ● http://www.junit.org/node/574
  113. 113. Licença ● Este material está licenciado sob a Licença Creative-Commons Atribuição-Uso Não-Comercial-Compartilhamento pela mesma Licença 2.5 Brasil ● Você pode: – Copiar, distribuir, exibir e executar a obra – Criar obras derivadas ● Sob as seguintes condições: – Atribuição. Você deve dar crédito ao autor original, da forma especificada pelo autor ou licenciante. – Uso Não-Comercial. Você não pode utilizar esta obra com finalidades comerciais. – Compartilhamento pela mesma Licença. Se você alterar, transformar, ou criar outra obra com base nesta, você somente poderá distribuir a obra resultante sob uma licença idêntica a esta.

×