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
getS...
Motivação
● Framework simples, mas de suma
importância para automatização.
● Mocks para simular o estado dos dados
em banc...
Exemplo da importância
● Determinada feature que engloba
também criação de um parâmetro no
banco de dados.
● Desenvolvedor...
Exemplo da importância
@Test
public void deveCarregarParametroX() {
.
.
.
when(parametroService.carregarPor(id)).thenRetur...
Exemplo da importância
● Desenvolvedor não validou se o
parâmetro existia no banco de dados.

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

http://www.dbunit.org/

●

http://dbunit.wikidot.com/

●

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

●

http://...
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
getS...
Motivação
● Framework simples, mas de suma
importância para automatização.
● Mocks para simular o estado dos dados
em banc...
Exemplo da importância
● Determinada feature que engloba
também criação de um parâmetro no
banco de dados.
● Desenvolvedor...
Exemplo da importância
@Test
public void deveCarregarParametroX() {
.
.
.
when(parametroService.carregarPor(id)).thenRetur...
Exemplo da importância
● Desenvolvedor não validou se o
parâmetro existia no banco de dados.

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

http://www.dbunit.org/

●

http://dbunit.wikidot.com/

●

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

●

http://...
Obrigado!
Próximos SlideShares
Carregando em…5
×

Testes efetivos com DBUnit

688 visualizações

Publicada em

Publicada em: Tecnologia
0 comentários
2 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
688
No SlideShare
0
A partir de incorporações
0
Número de incorporações
1
Ações
Compartilhamentos
0
Downloads
5
Comentários
0
Gostaram
2
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Testes efetivos com DBUnit

  1. 1. Testes efetivos com DBUnit José Carlos
  2. 2. Testes efetivos com DBUnit José Carlos
  3. 3. Roteiro ● ● ● ● ● ● Surgimento Características Motivação Exemplo da importância Show me the code! Créditos
  4. 4. Surgimento ● DBUnit foi criado em 2002 por Manuel Laflamme
  5. 5. Características ● Testes isolados para cada cenário ● Controle de dependências externas ● Extensão do JUnit
  6. 6. 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()
  7. 7. 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.
  8. 8. 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.
  9. 9. Exemplo da importância @Test public void deveCarregarParametroX() { . . . when(parametroService.carregarPor(id)).thenReturn(parametro); . assertEquals(descricao, parametro.getDescricao()); . }
  10. 10. 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?
  11. 11. BUG!
  12. 12. Exemplo da importância ● Equipe de QA vai ser responsável por descobrir esse bug. ● Importância teste de integração com DBUnit.
  13. 13. Show me the code!
  14. 14. 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
  15. 15. Obrigado!
  16. 16. Roteiro ● ● ● ● ● ● Surgimento Características Motivação Exemplo da importância Show me the code! Créditos
  17. 17. Surgimento ● DBUnit foi criado em 2002 por Manuel Laflamme
  18. 18. Características ● Testes isolados para cada cenário ● Controle de dependências externas ● Extensão do JUnit
  19. 19. 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()
  20. 20. 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.
  21. 21. 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.
  22. 22. Exemplo da importância @Test public void deveCarregarParametroX() { . . . when(parametroService.carregarPor(id)).thenReturn(parametro); . assertEquals(descricao, parametro.getDescricao()); . }
  23. 23. 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?
  24. 24. BUG!
  25. 25. Exemplo da importância ● Equipe de QA vai ser responsável por descobrir esse bug. ● Importância teste de integração com DBUnit.
  26. 26. Show me the code!
  27. 27. 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
  28. 28. Obrigado!

×