Testes de Integração

3,236 views

Published on

Palestra sobre Testes de Integração apresentada na Bluesoft em 2009

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

No Downloads
Views
Total views
3,236
On SlideShare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
107
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Testes de Integração

  1. 1. http://www.flickr.com/photos/jacques_daigneault/3100967998/sizes/o/ Testes de Integração André Faria
  2. 2. http://www.flickr.com/photos/cuppini/3211910657/ O que os testes unitários não resolvem?
  3. 3. http://www.flickr.com/photos/14646075@N03/3498450536/sizes/o/ O que testar ? Ser vice Layer Domain Objects Aspects Web Tier Code SQL Queries Interation with JEE APIs
  4. 4. http://www.flickr.com/photos/14646075@N03/3498450536/sizes/o/ Non-Java Code Store Procedures / Scripts Database Schema Views, Triggers Spring and Other Configurations XML, Properties O/R Mapping JSPs and Other Views
  5. 5. http://www.flickr.com/photos/sveinhal/2729087260/sizes/l/ Testando Código de Persistência O que não testar? Connections Leaks Use Spring JDBC, JPA, etc... O que testar? SQL, HQL, JP QL Testes Localizados DAO interface layer
  6. 6. http://www.flickr.com/photos/colorblindpicaso/3399410617/sizes/o/ Teste sem depender do servidor + rápido Mesmo do que Tomcat ou Jetty Fácil de debugar Possibilidade de rodar testes individualmente Rode de sua IDE ou Build Script
  7. 7. Como o Spring pode te Ajudar com isso?
  8. 8. http://www.flickr.com/photos/dm-set/3846819118/sizes/l/ Spring Integration Testing O pacote org.springframework.test (spring-mock.jar) JUnit Superclasses Spring Context Loading e Caching Injeção de Dependências
  9. 9. http://www.flickr.com/photos/vgm8383/4061536522/sizes/l/ Data Access e Transaction Management (Criação e Rollback Automático, você não precisar escrever isso no setup e teardown)
  10. 10. http://www.flickr.com/photos/stephenpoff/2913508009/sizes/l/ Alta Performance Média de 100 à 1000 testes por minuto
  11. 11. http://www.flickr.com/photos/soldiersmediacenter/4097699857/sizes/l/ Teste Triggers, Sequences, Store Procedures, Código JDBC, etc.
  12. 12. Context Caching bet ween many Test Cases Importante quando se usa Hibernate devido ao alto custo da criação da Session Factory
  13. 13. http://www.flickr.com/photos/jamimages/121750129/sizes/l/ Você não precisa alterar absolutamente nada nos seus objetos DAO entre os testes e a entrega
  14. 14. http://www.flickr.com/photos/libraryman/95516793/ Arquivo de Configuração do Spring específico para Testes para configurar Recursos como Banco de Dados por exemplo
  15. 15. Na Prática @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = { "/applicationContext-resources-test.xml" }) @TransactionConfiguration(defaultRollback = true)
  16. 16. http://www.flickr.com/photos/gavinbell/35378445/sizes/o/ “Nos Testes de Integração sempre que possível prefira usar o banco de dados real ao invés de abordagens baseadas em Java DB ou HSQL DB”
  17. 17. http://www.flickr.com/photos/heypaul/107326157/sizes/l/ Annotations @Timed(mills=1000) @Repeat(5) @ExpectedException(Exception.class) @DirtiesContext //Rebuild the Context after the test
  18. 18. http://www.flickr.com/photos/heypaul/107326157/sizes/l/ + Annotations @BeforeTransaction @Before @Test @After @AfterTransaction @NotTransactional @Rollback(false)
  19. 19. Entenda os diferentes tipos de testes e seus objetivos
  20. 20. Testes Unitários e Testes de Integração não são exclusivos
  21. 21. Pirâmide de Testes Aceitação Integração Unitários
  22. 22. Aprofunde-se Palestra do Rod Johnson no No Fluff Just Stuff Symposiums em 2007 http://www.infoq.com/presentations/system-integration-testing-with-spring
  23. 23. OBRIGADO

×