SlideShare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our User Agreement and Privacy Policy.
SlideShare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our Privacy Policy and User Agreement for details.
Successfully reported this slideshow.
Activate your 14 day free trial to unlock unlimited reading.
1.
http://www.flickr.com/photos/jacques_daigneault/3100967998/sizes/o/
Testes de
Integração
André Faria
2.
http://www.flickr.com/photos/cuppini/3211910657/
O que os
testes
unitários
não
resolvem?
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.
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.
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.
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
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.
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.
http://www.flickr.com/photos/stephenpoff/2913508009/sizes/l/
Alta Performance
Média de 100 à 1000
testes por minuto
11.
http://www.flickr.com/photos/soldiersmediacenter/4097699857/sizes/l/
Teste Triggers,
Sequences,
Store Procedures,
Código JDBC, etc.
12.
Context Caching
bet ween many Test Cases
Importante quando se usa
Hibernate devido ao alto
custo da criação da Session
Factory
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.
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
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.
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
19.
Entenda os diferentes tipos de
testes e seus objetivos
20.
Testes Unitários e Testes de
Integração não são exclusivos
21.
Pirâmide de Testes
Aceitação
Integração
Unitários
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