Top Banner
Testes de Integração André Faria http://www.flickr.com/photos/jacques_daigneault/3100967998/sizes/o/
23

Testes de Integração

Jan 20, 2015

Download

Technology

Palestra sobre Testes de Integração apresentada na Bluesoft em 2009
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Testes de Integração

Testes de Integração

André Faria

http://www.flickr.com/photos/jacques_daigneault/3100967998/sizes/o/

Page 2: Testes de Integração

O que os testes

unitários não

resolvem?

http://www.flickr.com/photos/cuppini/3211910657/

Page 3: Testes de Integração

O que testar ?

Service LayerDomain Objects

AspectsWeb Tier CodeSQL Queries

Interation with JEE APIs

http://www.flickr.com/photos/14646075@N03/3498450536/sizes/o/

Page 4: Testes de Integração

http://www.flickr.com/photos/14646075@N03/3498450536/sizes/o/

Non-Java Code Store Procedures / Scripts

Database SchemaViews, Triggers

Spring and Other ConfigurationsXML, Properties

O/R MappingJSPs and Other Views

Page 5: Testes de Integração

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 LocalizadosDAO interface layer

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

Page 6: Testes de Integraçã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

http://www.flickr.com/photos/colorblindpicaso/3399410617/sizes/o/

Page 7: Testes de Integração

Como o Spring pode te Ajudar com isso?

Page 8: Testes de Integração

Spring Integration TestingO pacote org.springframework.test(spring-mock.jar)

JUnit Superclasses

Spring Context Loading e CachingInjeção de Dependências

http://www.flickr.com/photos/dm-set/3846819118/sizes/l/

Page 9: Testes de Integração

Data Access e Transaction Management(Criação e Rollback Automático, você não

precisar escrever isso no setup e teardown)

http://www.flickr.com/photos/vgm8383/4061536522/sizes/l/

Page 10: Testes de Integração

Alta PerformanceMédia de 100 à 1000

testes por minuto

http://www.flickr.com/photos/stephenpoff/2913508009/sizes/l/

Page 11: Testes de Integração

Teste Triggers, Sequences,

Store Procedures, Código JDBC, etc.

http://www.flickr.com/photos/soldiersmediacenter/4097699857/sizes/l/

Page 12: Testes de Integração

Context Cachingbetween many Test Cases

Importante quando se usa Hibernate devido ao alto

custo da criação da Session Factory

Page 13: Testes de Integração

Você não precisa alterar absolutamente nada nos seus objetos DAO

entre os testes e a entrega

http://www.flickr.com/photos/jamimages/121750129/sizes/l/

Page 14: Testes de Integração

Arquivo de Configuração do Spring específico para Testes para

configurar Recursos como Banco de Dados

por exemplo

http://www.flickr.com/photos/libraryman/95516793/

Page 15: Testes de Integração

Na Prática

@RunWith(SpringJUnit4ClassRunner.class)

@ContextConfiguration(locations = { "/applicationContext-resources-test.xml" })

@TransactionConfiguration(defaultRollback = true)

Page 16: Testes de Integraçã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”

http://www.flickr.com/photos/gavinbell/35378445/sizes/o/

Page 17: Testes de Integração

Annotations@Timed(mills=1000)

@Repeat(5)

@ExpectedException(Exception.class)

@DirtiesContext //Rebuild the Context after the test

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

Page 18: Testes de Integração

+ Annotations @BeforeTransaction

@Before@Test

@After@AfterTransaction

@NotTransactional@Rollback(false)

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

Page 19: Testes de Integração

Entenda os diferentes tipos de testes e seus objetivos

Page 20: Testes de Integração

Testes Unitários e Testes de Integração não são exclusivos

Page 21: Testes de Integração

Pirâmide de Testes

Aceitação

Integração

Unitários

Page 22: Testes de Integração

Aprofunde-se

Palestra do Rod Johnson no No Fluff Just Stuff Symposiums em 2007http://www.infoq.com/presentations/system-integration-testing-with-spring

Page 23: Testes de Integração

OBRIGADO