Introducao a Dubles de Testes

2,853 views

Published on

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

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,853
On SlideShare
0
From Embeds
0
Number of Embeds
1,490
Actions
Shares
0
Downloads
23
Comments
0
Likes
1
Embeds 0
No embeds

No notes for 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

×