SlideShare una empresa de Scribd logo
1 de 28
Descargar para leer sin conexión
Testes efetivos
com DBUnit
José Carlos
Testes efetivos
com DBUnit
José Carlos
Roteiro
●
●
●
●
●
●

Surgimento
Características
Motivação
Exemplo da importância
Show me the code!
Créditos
Surgimento
● DBUnit foi criado em
2002 por Manuel
Laflamme
Características
● Testes isolados para cada cenário
● Controle de dependências externas
● Extensão do JUnit
Características
● Possibilita rodar testes sem alterar o
estado do banco pré-teste.
DataBasetestCase
Estado Pré-Teste
getSetUpOperation()

Isolameto cenário
RunTime

Conclusão
getTearDownOperation()
Motivação
● Framework simples, mas de suma
importância para automatização.
● Mocks para simular o estado dos dados
em banco pode não ser efetivo.
● Reduz o esforço do desenvolvedor em
criar estado de um banco de dados na
mão.
Exemplo da importância
● Determinada feature que engloba
também criação de um parâmetro no
banco de dados.
● Desenvolvedor não fez o script que cria o
parâmetro no banco.
Exemplo da importância
@Test
public void deveCarregarParametroX() {
.
.
.
when(parametroService.carregarPor(id)).thenReturn(parametro);
.
assertEquals(descricao, parametro.getDescricao());
.
}
Exemplo da importância
● Desenvolvedor não validou se o
parâmetro existia no banco de dados.

O que à ausência desse
paramêtro pode provocar?
BUG!
Exemplo da importância
● Equipe de QA vai ser responsável por
descobrir esse bug.
● Importância teste de integração com
DBUnit.
Show me the code!
Créditos
●

http://www.dbunit.org/

●

http://dbunit.wikidot.com/

●

http://dbunit.sourceforge.net/howto.html

●

http://springtestdbunit.github.io/spring-test-dbunit/

●

http://www.onjava.com/pub/a/onjava/2004/01/21/dbunit.html
Obrigado!
Roteiro
●
●
●
●
●
●

Surgimento
Características
Motivação
Exemplo da importância
Show me the code!
Créditos
Surgimento
● DBUnit foi criado em
2002 por Manuel
Laflamme
Características
● Testes isolados para cada cenário
● Controle de dependências externas
● Extensão do JUnit
Características
● Possibilita rodar testes sem alterar o
estado do banco pré-teste.
DataBasetestCase
Estado Pré-Teste
getSetUpOperation()

Isolameto cenário
RunTime

Conclusão
getTearDownOperation()
Motivação
● Framework simples, mas de suma
importância para automatização.
● Mocks para simular o estado dos dados
em banco pode não ser efetivo.
● Reduz o esforço do desenvolvedor em
criar estado de um banco de dados na
mão.
Exemplo da importância
● Determinada feature que engloba
também criação de um parâmetro no
banco de dados.
● Desenvolvedor não fez o script que cria o
parâmetro no banco.
Exemplo da importância
@Test
public void deveCarregarParametroX() {
.
.
.
when(parametroService.carregarPor(id)).thenReturn(parametro);
.
assertEquals(descricao, parametro.getDescricao());
.
}
Exemplo da importância
● Desenvolvedor não validou se o
parâmetro existia no banco de dados.

O que à ausência desse
paramêtro pode provocar?
BUG!
Exemplo da importância
● Equipe de QA vai ser responsável por
descobrir esse bug.
● Importância teste de integração com
DBUnit.
Show me the code!
Créditos
●

http://www.dbunit.org/

●

http://dbunit.wikidot.com/

●

http://dbunit.sourceforge.net/howto.html

●

http://springtestdbunit.github.io/spring-test-dbunit/

●

http://www.onjava.com/pub/a/onjava/2004/01/21/dbunit.html
Obrigado!

Más contenido relacionado

Similar a Testes automatizados com DBUnit

Nem tudo é Pepino: Cucumber x Robot Framework
Nem tudo é Pepino: Cucumber x Robot FrameworkNem tudo é Pepino: Cucumber x Robot Framework
Nem tudo é Pepino: Cucumber x Robot FrameworkRodrigo Matola
 
Webinar: Arquitetura de software para sistemas embarcados
Webinar: Arquitetura de software para sistemas embarcadosWebinar: Arquitetura de software para sistemas embarcados
Webinar: Arquitetura de software para sistemas embarcadosEmbarcados
 
AutomaçãoWeb - Chaordic Academy
AutomaçãoWeb - Chaordic AcademyAutomaçãoWeb - Chaordic Academy
AutomaçãoWeb - Chaordic AcademyFausto Siqueira
 
Staging liferay portal 6.2
Staging liferay portal 6.2Staging liferay portal 6.2
Staging liferay portal 6.2Paulo Fernandes
 
JSR 352 - Processamento Batch na Plataforma Java - JustJava 2013
JSR 352 - Processamento Batch na Plataforma Java - JustJava 2013JSR 352 - Processamento Batch na Plataforma Java - JustJava 2013
JSR 352 - Processamento Batch na Plataforma Java - JustJava 2013Danival Calegari
 
Testes de Unidade com Junit
Testes de Unidade com JunitTestes de Unidade com Junit
Testes de Unidade com Junitcejug
 
Análise de Performance do MySQL e MariaDB
Análise de Performance do MySQL e MariaDBAnálise de Performance do MySQL e MariaDB
Análise de Performance do MySQL e MariaDBSaveincloud
 
Testes de escalabilidade usando cloud
Testes de escalabilidade usando cloudTestes de escalabilidade usando cloud
Testes de escalabilidade usando cloudPET Computação
 
Gerenciamento de Configurações - Puppet
Gerenciamento de Configurações - PuppetGerenciamento de Configurações - Puppet
Gerenciamento de Configurações - PuppetRoberto Scudeller
 
Apache Wicket derruba o padrão JSF
Apache Wicket derruba o padrão JSFApache Wicket derruba o padrão JSF
Apache Wicket derruba o padrão JSFBruno Borges
 
Framework de testes cecom
Framework de testes cecomFramework de testes cecom
Framework de testes cecomlucasbarsand
 
Android DevConference - Automatizando testes sem sofrimento
Android DevConference - Automatizando testes sem sofrimentoAndroid DevConference - Automatizando testes sem sofrimento
Android DevConference - Automatizando testes sem sofrimentoiMasters
 
Por quê você deve utilizar TDD?
Por quê você deve utilizar TDD?Por quê você deve utilizar TDD?
Por quê você deve utilizar TDD?Wellington Moreira
 
Continuous Building usando TeamCity
Continuous Building usando TeamCityContinuous Building usando TeamCity
Continuous Building usando TeamCityAndré Minelli
 
Google AppEngine: Desafios da adoção de cloud no mercado de seguros
Google AppEngine: Desafios da adoção de cloud no mercado de segurosGoogle AppEngine: Desafios da adoção de cloud no mercado de seguros
Google AppEngine: Desafios da adoção de cloud no mercado de segurosGustavo Concon
 

Similar a Testes automatizados com DBUnit (20)

Power mock
Power mockPower mock
Power mock
 
JSF & REST
JSF & RESTJSF & REST
JSF & REST
 
Nem tudo é Pepino: Cucumber x Robot Framework
Nem tudo é Pepino: Cucumber x Robot FrameworkNem tudo é Pepino: Cucumber x Robot Framework
Nem tudo é Pepino: Cucumber x Robot Framework
 
Webinar: Arquitetura de software para sistemas embarcados
Webinar: Arquitetura de software para sistemas embarcadosWebinar: Arquitetura de software para sistemas embarcados
Webinar: Arquitetura de software para sistemas embarcados
 
AutomaçãoWeb - Chaordic Academy
AutomaçãoWeb - Chaordic AcademyAutomaçãoWeb - Chaordic Academy
AutomaçãoWeb - Chaordic Academy
 
Staging liferay portal 6.2
Staging liferay portal 6.2Staging liferay portal 6.2
Staging liferay portal 6.2
 
JSR 352 - Processamento Batch na Plataforma Java - JustJava 2013
JSR 352 - Processamento Batch na Plataforma Java - JustJava 2013JSR 352 - Processamento Batch na Plataforma Java - JustJava 2013
JSR 352 - Processamento Batch na Plataforma Java - JustJava 2013
 
Testes de Unidade com Junit
Testes de Unidade com JunitTestes de Unidade com Junit
Testes de Unidade com Junit
 
Análise de Performance do MySQL e MariaDB
Análise de Performance do MySQL e MariaDBAnálise de Performance do MySQL e MariaDB
Análise de Performance do MySQL e MariaDB
 
Testes de escalabilidade usando cloud
Testes de escalabilidade usando cloudTestes de escalabilidade usando cloud
Testes de escalabilidade usando cloud
 
Gerenciamento de Configurações - Puppet
Gerenciamento de Configurações - PuppetGerenciamento de Configurações - Puppet
Gerenciamento de Configurações - Puppet
 
Apache Wicket derruba o padrão JSF
Apache Wicket derruba o padrão JSFApache Wicket derruba o padrão JSF
Apache Wicket derruba o padrão JSF
 
Be React. Do Tests!
Be React. Do Tests!Be React. Do Tests!
Be React. Do Tests!
 
Framework de testes cecom
Framework de testes cecomFramework de testes cecom
Framework de testes cecom
 
Android DevConference - Automatizando testes sem sofrimento
Android DevConference - Automatizando testes sem sofrimentoAndroid DevConference - Automatizando testes sem sofrimento
Android DevConference - Automatizando testes sem sofrimento
 
Por quê você deve utilizar TDD?
Por quê você deve utilizar TDD?Por quê você deve utilizar TDD?
Por quê você deve utilizar TDD?
 
Continuous Building usando TeamCity
Continuous Building usando TeamCityContinuous Building usando TeamCity
Continuous Building usando TeamCity
 
Ponteiros de Função
Ponteiros de FunçãoPonteiros de Função
Ponteiros de Função
 
Cloudformation
CloudformationCloudformation
Cloudformation
 
Google AppEngine: Desafios da adoção de cloud no mercado de seguros
Google AppEngine: Desafios da adoção de cloud no mercado de segurosGoogle AppEngine: Desafios da adoção de cloud no mercado de seguros
Google AppEngine: Desafios da adoção de cloud no mercado de seguros
 

Testes automatizados com DBUnit