Esteroides JEE

844 visualizações

Publicada em

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.

Publicada em: Tecnologia
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
844
No SlideShare
0
A partir de incorporações
0
Número de incorporações
4
Ações
Compartilhamentos
0
Downloads
4
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no 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

    ×