Esteróides JEE
Cuidando de softwares doentes
Apresentação


 Quem somos nós?
  • Jefferson Moreira (www.jeffmor.com)
     • Ciência da Computação / Engenharia
       d...
Apresentação


 Quem somos nós?
  • Saulo Arruda (http://sauloarruda.eti.br)
     • Especialista em Melhoria do Processo
 ...
Agenda


 Agenda




   • Diagnóstico
   • Tratamento (Internação)
   • Alta




                               4
Diagnóstico


 Importância


  •   Gerar software funcionando
  •   Confiança no produto
  •   Diagnosticar problemas
  •  ...
Diagnóstico


 Conceitos


  • Teste: é a atividade de executar um
    software com o objetivo de revelar falhas
  • Falha...
Diagnóstico


 Conceitos
  • Validação
       – Estamos fazendo o sistema certo?
       – Ponto de vista do usuário




  ...
Diagnóstico


 Conceitos
  • Verificação
       – Estamos fazendo certo o
         sistema?
       – Ponto de vista do
    ...
Diagnóstico


 Quando eu começo a testar?
  • Na fase inicial: especificação de
    requisitos




                        ...
Diagnóstico


 Técnicas de Teste
  • Caixa Branca




                     10
Diagnóstico


 Técnicas de Teste
  • Caixa Preta




                     11
Diagnóstico


 Técnicas de Teste
  • Caixa-cinza
  • Regressão
  • Não funcionais
       – Desempenho
       – Carga
     ...
Diagnóstico


 Fases
  • Unitário
       – Evita bug com código mal
         feito
       – Confiança no sistema
       – A...
Diagnóstico


 Fases
  • Integração
       – É essencial
       – Difícil de testar todas
         as situações.
       – ...
Diagnóstico


 Fases
  • Funcional
       – Funcionalidades
       – Requisitos
       – Regra de
         Negócios
      ...
Diagnóstico


 Dificuldades do dia-a-dia




                             16
Diagnóstico




              17
Diagnóstico


 Caso de Teste

• Curto
• Fácil de ler
• Rápido de
  executar
• Auto-explicativo
• Redução de risco
• Medir ...
Agenda


  Agenda




   • Diagnóstico
   • Tratamento (Internação)
   • Alta




                               19
Tratamento


  “Comecem com esteróides”




                             20
Agenda


  Estudo de Caso
 • Aplicação JEE que usa EJB e JPA
 • Testes unitários e de integração (usando
   openejb)
 • Cl...
Ferramentas


  Ferramentas



      • JUnit
      • OpenEJ
        B
      • Maven




                 22
Tratamento




             23
Agenda


  Agenda




   • Diagnóstico
   • Tratamento (Internação)
   • Alta




                               24
Alta


   Conclusão
   • Dificuldades com testes:
       – Massa de dados: resolvemos com a
         criação de fixtures. Te...
Alta


   Extensões futuras


       • Gerador de fixtures a partir de planilhas
         (estamos testando a versão beta);...
Dúvidas


  Perguntas?




               27
Dúvidas


  Perguntas?


   • Vocês vão disponibilizar o código-
     fonte?




                                         ...
Dúvidas


  Perguntas?


   • Vocês vão disponibilizar o código-
     fonte?
          – http://esteroides.agence.com.br/
...
Dúvidas


  Perguntas?


   • Vocês vão disponibilizar o código-
     fonte?
          – http://esteroides.agence.com.br/
...
Dúvidas


  Perguntas?


   • Vocês vão disponibilizar o código-
     fonte?
          – http://esteroides.agence.com.br/
...
Dúvidas


  Perguntas?


   • Vocês vão disponibilizar o código-
     fonte?
          – http://esteroides.agence.com.br/
...
Dúvidas


  Perguntas?


   • Vocês vão disponibilizar o código-
     fonte?
          – http://esteroides.agence.com.br/
...
28
Esteroides JEE
Upcoming SlideShare
Loading in …5
×

Esteroides JEE

839 views
778 views

Published on

Palestra ministrada no Javaneiros 2009 (www.javaneiros.com.br) por Saulo Arruda e Jefferson Moreira falando sobre técnicas de testes de integração em ambientes JEE.

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

  • Be the first to like this

No Downloads
Views
Total views
839
On SlideShare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • Esteroides JEE

    1. 1. Esteróides JEE Cuidando de softwares doentes
    2. 2. Apresentação Quem somos nós? • Jefferson Moreira (www.jeffmor.com) • Ciência da Computação / Engenharia de Software OO. • Desenvolvedor e Coordenador da Agence • Desenvolvedor desde 2002 • Com java desde 2003 • Instrutor do SENAC • Coordenador do JUGMS
    3. 3. Apresentação Quem somos nós? • Saulo Arruda (http://sauloarruda.eti.br) • Especialista em Melhoria do Processo de Software pela UFLA; • Diretor de TI da Agence Consultoria; • Diretor Pedagógico da Agence Educacional; • 10 anos de experiência em projetos de software; • Coordenador do JUG-MS
    4. 4. Agenda Agenda • Diagnóstico • Tratamento (Internação) • Alta 4
    5. 5. Diagnóstico Importância • Gerar software funcionando • Confiança no produto • Diagnosticar problemas • Qualidade do software • Redução de riscos 5
    6. 6. Diagnóstico Conceitos • Teste: é a atividade de executar um software com o objetivo de revelar falhas • Falha: desvio do comportamento especificado • Erro: origem da falha 6
    7. 7. Diagnóstico Conceitos • Validação – Estamos fazendo o sistema certo? – Ponto de vista do usuário 7
    8. 8. Diagnóstico Conceitos • Verificação – Estamos fazendo certo o sistema? – Ponto de vista do desenvolvedor 8
    9. 9. Diagnóstico Quando eu começo a testar? • Na fase inicial: especificação de requisitos 9
    10. 10. Diagnóstico Técnicas de Teste • Caixa Branca 10
    11. 11. Diagnóstico Técnicas de Teste • Caixa Preta 11
    12. 12. Diagnóstico Técnicas de Teste • Caixa-cinza • Regressão • Não funcionais – Desempenho – Carga – Usabilidade) 12
    13. 13. Diagnóstico Fases • Unitário – Evita bug com código mal feito – Confiança no sistema – Alterações sem medo – Testa a falha e o sucesso – Utilização de Mocks – Serve como métrica 13
    14. 14. Diagnóstico Fases • Integração – É essencial – Difícil de testar todas as situações. – Massa de Dados – Integração de serviços – Integração != Interface 14
    15. 15. Diagnóstico Fases • Funcional – Funcionalidades – Requisitos – Regra de Negócios – Tem tela, mas não é tela. 15
    16. 16. Diagnóstico Dificuldades do dia-a-dia 16
    17. 17. Diagnóstico 17
    18. 18. Diagnóstico Caso de Teste • Curto • Fácil de ler • Rápido de executar • Auto-explicativo • Redução de risco • Medir Qualidade 18
    19. 19. Agenda Agenda • Diagnóstico • Tratamento (Internação) • Alta 19
    20. 20. Tratamento “Comecem com esteróides” 20
    21. 21. Agenda Estudo de Caso • Aplicação JEE que usa EJB e JPA • Testes unitários e de integração (usando openejb) • Classes base utilitárias para implementação de testes de integração; • Uso de fixtures em arquivos XML; • Projeto de exemplo para uma folha de pagamento de desenvolvedores; 21
    22. 22. Ferramentas Ferramentas • JUnit • OpenEJ B • Maven 22
    23. 23. Tratamento 23
    24. 24. Agenda Agenda • Diagnóstico • Tratamento (Internação) • Alta 24
    25. 25. Alta Conclusão • Dificuldades com testes: – Massa de dados: resolvemos com a criação de fixtures. Temos projetos com mais de 10.000 registros inseridos por fixtures geradas. – Teste no container: openejb tem se mostrado uma boa solução, sendo muito mais leve para testes de integração que JBoss, Glassfish, etc. – Independência: usar um banco de 25
    26. 26. Alta Extensões futuras • Gerador de fixtures a partir de planilhas (estamos testando a versão beta); • Auto-teste a partir de condições pré- estabelecidas (versão alfa); • Integração com JUnitPerf para testes de performance; • Isto é um Pattern ou um Framework? 26
    27. 27. Dúvidas Perguntas? 27
    28. 28. Dúvidas Perguntas? • Vocês vão disponibilizar o código- fonte? 27
    29. 29. Dúvidas Perguntas? • Vocês vão disponibilizar o código- fonte? – http://esteroides.agence.com.br/ 27
    30. 30. Dúvidas Perguntas? • Vocês vão disponibilizar o código- fonte? – http://esteroides.agence.com.br/ • Posso colaborar com essa “idéia”? 27
    31. 31. Dúvidas Perguntas? • Vocês vão disponibilizar o código- fonte? – http://esteroides.agence.com.br/ • Posso colaborar com essa “idéia”? – Deve! Quanto mais melhor! 27
    32. 32. Dúvidas Perguntas? • Vocês vão disponibilizar o código- fonte? – http://esteroides.agence.com.br/ • Posso colaborar com essa “idéia”? – Deve! Quanto mais melhor! • Vocês já usaram DBUnit? 27
    33. 33. Dúvidas Perguntas? • Vocês vão disponibilizar o código- fonte? – http://esteroides.agence.com.br/ • Posso colaborar com essa “idéia”? – Deve! Quanto mais melhor! • Vocês já usaram DBUnit? – Sim, é um saco! 27
    34. 34. 28

    ×