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.
http://www.flickr.com/photos/jacques_daigneault/3100967998/sizes/o/




 Testes de
Integração

       André Faria
http://www.flickr.com/photos/cuppini/3211910657/




 O que os
  testes
unitários
   não
resolvem?
http://www.flickr.com/photos/14646075@N03/3498450536/sizes/o/


   O que testar ?
      Ser vice Layer
     Domain Objects
...
http://www.flickr.com/photos/14646075@N03/3498450536/sizes/o/


        Non-Java Code
  Store Procedures / Scripts

       ...
http://www.flickr.com/photos/sveinhal/2729087260/sizes/l/


Testando Código de Persistência


       O que não testar?
    ...
http://www.flickr.com/photos/colorblindpicaso/3399410617/sizes/o/



Teste sem depender do
       servidor
                ...
Como o Spring pode te Ajudar com isso?
http://www.flickr.com/photos/dm-set/3846819118/sizes/l/


Spring Integration
Testing
O pacote org.springframework.test
(spr...
http://www.flickr.com/photos/vgm8383/4061536522/sizes/l/


 Data Access e Transaction Management
 (Criação e Rollback Autom...
http://www.flickr.com/photos/stephenpoff/2913508009/sizes/l/




 Alta Performance
Média de 100 à 1000
 testes por minuto
http://www.flickr.com/photos/soldiersmediacenter/4097699857/sizes/l/


                                    Teste Triggers,
...
Context Caching
bet ween many Test Cases

 Importante quando se usa
  Hibernate devido ao alto
custo da criação da Session...
http://www.flickr.com/photos/jamimages/121750129/sizes/l/



                     Você não
                 precisa alterar...
http://www.flickr.com/photos/libraryman/95516793/



         Arquivo de
       Configuração do
      Spring específico
     ...
Na Prática


       @RunWith(SpringJUnit4ClassRunner.class)

            @ContextConfiguration(locations =
      { "/applic...
http://www.flickr.com/photos/gavinbell/35378445/sizes/o/




                            “Nos Testes de
                   ...
http://www.flickr.com/photos/heypaul/107326157/sizes/l/




   Annotations
         @Timed(mills=1000)

                  @...
http://www.flickr.com/photos/heypaul/107326157/sizes/l/




+ Annotations
   @BeforeTransaction
       @Before
        @Tes...
Entenda os diferentes tipos de
   testes e seus objetivos
Testes Unitários e Testes de
Integração não são exclusivos
Pirâmide de Testes
        Aceitação



      Integração


   Unitários
Aprofunde-se



Palestra do Rod Johnson no No Fluff Just Stuff Symposiums em 2007
http://www.infoq.com/presentations/syste...
OBRIGADO
Upcoming SlideShare
Loading in …5
×

Testes de Integração

3,589 views

Published on

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

Published in: Technology

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

×