Introducao a Dubles de Testes

2.859 visualizações

Publicada em

Conheça os principais tipos de dublês que testes que irão agilizar o seu desenvolvimento de testes orientado por testes (TDD)

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

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

Nenhuma nota no slide

Introducao a Dubles de Testes

  1. 1. Ismael soares
  2. 2. Testes unitários focam apenas em uma unidade.
  3. 3. Gasta-se muito tempo criando Fixtures que não são o alvo do teste
  4. 4. Posso ganhar agilidade usando Dublês de Testes? Brilhante! Use Dublês de Testes!!!
  5. 5. Os Dublês oferecem uma maneira de isolar as dependências
  6. 6. Entrada indireta – dados que a unidade de teste obtém de algum objeto do qual ela depende (atributo de instância, parâmetro, etc). Saída indireta – resultados esperados da unidade de teste que não podem ser conferidos apenas pelo valor de retorno. Efeitos colaterais.
  7. 8. Dummy Object – usado apenas para que a execução do teste seja possível Test Stub – provê informação necessária para a unidade de teste Test Spy – captura e armazena as chamadas indiretas Mock Object – verifica chamadas indiretas e provê dados necessários ao teste Fake Object – provê uma implementação falsa de um objeto real
  8. 9. Queremos verificar a adição de um produto na nota fiscal. Suponha que para criar a nota seja obrigatório informar o fornececedor, porém ele não será utilizado para exercitar o teste. Nota Fiscal Item Produto Fornecedor Add Item
  9. 10. Usando Stubs para testar Servlets. Neste teste é ignorado a existência de um container web (Tomcat, por exemplo) o objetivo é avaliar o comportamento do servlet
  10. 13. Força um determinado comportamento para tornar possível verificar o tratamento de Exceptions.
  11. 14. Captura informações sobre os efeitos colaterais provocados pela unidade sob teste, para que o teste verifique se estão corretos.
  12. 15. Verificar notificações a observadores
  13. 16. Retornos pré-estabelecidos Verificações de interações Verifica diretamente os efeitos colaterais causados pela unidade sob teste
  14. 17. Estrito : espera as mesmas chamadas exatamente na mesma ordem que especificado Tolerante: aceita qualquer ordem das chamadas, inclusive com chamadas a mais ou a menos
  15. 18. Substitui funcionalidade real por uma implementação alternativa. Emulando o comportamento real, com características amigáveis ao teste. Não é controlado nem observado pelo teste.
  16. 19. <ul><li>Mais exemplos </li></ul><ul><li>Escolhendo entre as diferenças </li></ul><ul><li>Classista ou Mockista? </li></ul><ul><li>Ferramentas </li></ul><ul><li>Vantagens </li></ul>
  17. 21. Links Imagens http://www.rethinkware.com/download/attachments/557237/testesunitarios.JPG?version=1&modificationDate=1274749852384 http://www.yogodoshi.com/blog/wp-content/uploads/hacker2.jpg http://3.bp.blogspot.com/__8RKQKezcsk/TQee5_GRrEI/AAAAAAAABtk/-RNZUvv3Boo/s1600/0000+ideia.jpg http://www.corposaudavel.net/wp-content/uploads/beneficios-laranja.jpg http://dojofloripa.wordpress.com/2006/10/17/trabalhando-com-stubs/ http://i.s8.com.br/images/sport/cover/img2/21203992_4.jpg http://www.stanford.edu/group/storytelling/cgi-bin/joomla/images/stories/Impostor.jpg http://www.mxmasters.com.br/wp-content/uploads/2010/02/falso2.jpg
  18. 22. Referências Artigo do Martin Fowler ( Mocks Aren't Stubs ) http://www.infoq.com/br/articles/mocks-Arent-Stubs#4 Curso de verão com Mariana Bravo http://ccsl.ime.usp.br/agilcoop/files/TestesAutomatizados-3-1-Dubles-AgilCoop-Verao2009.pdf Livro: xUnit Patterns http://xunitpatterns.com/Test%20Spy.html

×