SlideShare uma empresa Scribd logo
1 de 17
Baixar para ler offline
Apresentado por: Ivo Batistela
Sobre o uso excessivo
de mocks
Por que mockar em
excesso é ruim?
Um pouco sobre
acoplamento de testes
O que devo mockar?
• Codifico muitos testes de unidade e
testes de integração
• Meu paradigma mais familiar é a
orientação à objetos
• Dummy
• Stub
• Fake
• Spy
• Mock
• Quanto mais mocks seus testes tem, mais comportamento
você abstraiu, substituindo o comportamento esperado em
produção por um comportamento sem valor de produção.
• O objetivo de qualquer mock é extrair a complexidade de
uma dependência que você não tem recurso suficiente
para gerenciar.
• Se fosse simples subir um banco de dados, um serviço ou
todo um módulo, mocks não existiriam.
Escolher usar um mock não
deve ser a escolha mais
óbvia e sim a escolha mais
pensada
O maior custo do software não está na criação, e sim na manutenção dele
O maior custo do software não está na criação, e sim na manutenção dele
Quanto menor for sua unidade, mais você vai querer mockar
O maior custo do software não está na criação, e sim na manutenção dele
Quanto menor for sua unidade, mais você vai querer mockar
Muitos mocks tornam difícil a manutenção
O maior custo do software não está na criação, e sim na manutenção dele
Quanto menor for sua unidade, mais você vai querer mockar
Muitos mocks tornam difícil a manutenção
Os testes ficam isolados a ponto de não representarem mais a realidade
O maior custo do software não está na criação, e sim na manutenção dele
Quanto menor for sua unidade, mais você vai querer mockar
Muitos mocks tornam difícil a manutenção
Os testes ficam isolados a ponto de não representarem mais a realidade
Mocks podem impactar negativamente a execução
O maior custo do software não está na criação, e sim na manutenção dele
Quanto menor for sua unidade, mais você vai querer mockar
Muitos mocks tornam difícil a manutenção
Os testes ficam isolados a ponto de não representarem mais a realidade
Mocks podem impactar negativamente a execução
Foco na implementação e não no comportamento
O maior custo do software não está na criação, e sim na manutenção dele
Quanto menor for sua unidade, mais você vai querer mockar
Muitos mocks tornam difícil a manutenção
Os testes ficam isolados a ponto de não representarem mais a realidade
Mocks podem impactar negativamente a execução
Foco na implementação e não no comportamento
Muitos testes quebram com uma alteração simples
• Nas dependências que são difíceis para
você gerenciar, considerando o escopo do
teste
• Banco de dados
• Integrações com outros sistemas
• Outros domínios de sua aplicação
Quando você é o dono daquele código.
Mockando com Propósito.pptx

Mais conteúdo relacionado

Semelhante a Mockando com Propósito.pptx

DevOps - Melhores práticas na plataforma microsoft
DevOps - Melhores práticas na plataforma microsoftDevOps - Melhores práticas na plataforma microsoft
DevOps - Melhores práticas na plataforma microsoftIgor Abade
 
O que seus testes garantem, o funcionamento do código ou das funcionalidades ...
O que seus testes garantem, o funcionamento do código ou das funcionalidades ...O que seus testes garantem, o funcionamento do código ou das funcionalidades ...
O que seus testes garantem, o funcionamento do código ou das funcionalidades ...Isaac de Souza
 
Sistemas para o Mundo Real
Sistemas para o Mundo RealSistemas para o Mundo Real
Sistemas para o Mundo RealLeandro Silva
 
Arquitetura de Software para a Entrega Continua
Arquitetura de Software para a Entrega ContinuaArquitetura de Software para a Entrega Continua
Arquitetura de Software para a Entrega ContinuaOtávio Calaça Xavier
 
Quebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOpsQuebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOpsJosé Alexandre Macedo
 
Integrating Microservices
Integrating MicroservicesIntegrating Microservices
Integrating MicroservicesThiago Ramos
 
Analise e desenvolvimento
Analise e desenvolvimentoAnalise e desenvolvimento
Analise e desenvolvimentoGabriel Moura
 
Arquitetura de Microserviços - Tecnologia na Prática - Julho/2017
Arquitetura de Microserviços - Tecnologia na Prática - Julho/2017Arquitetura de Microserviços - Tecnologia na Prática - Julho/2017
Arquitetura de Microserviços - Tecnologia na Prática - Julho/2017Renato Groff
 
Velozes e furiosos com extreme programming.
Velozes e furiosos com extreme programming. Velozes e furiosos com extreme programming.
Velozes e furiosos com extreme programming. Alessandro Binhara
 
Mocks, Stubs e Fakes - Developers-SP - Julho-2017
Mocks, Stubs e Fakes - Developers-SP - Julho-2017Mocks, Stubs e Fakes - Developers-SP - Julho-2017
Mocks, Stubs e Fakes - Developers-SP - Julho-2017Renato Groff
 
Confraria Security And IT - End Point Security
Confraria Security And IT - End Point SecurityConfraria Security And IT - End Point Security
Confraria Security And IT - End Point SecurityLuis Grangeia
 
TDD: Técnicas, Benefícios e Limitação
TDD: Técnicas, Benefícios e Limitação TDD: Técnicas, Benefícios e Limitação
TDD: Técnicas, Benefícios e Limitação Icaro Camelo
 
DevOps, NoOps...afinal que raios é isso?
DevOps, NoOps...afinal que raios é isso?DevOps, NoOps...afinal que raios é isso?
DevOps, NoOps...afinal que raios é isso?Thiago Ganzarolli
 
DrupalCamp SP 2015 - DevOps, por onde começar? Por Sebastian Ferrari
DrupalCamp SP 2015 - DevOps, por onde começar? Por Sebastian FerrariDrupalCamp SP 2015 - DevOps, por onde começar? Por Sebastian Ferrari
DrupalCamp SP 2015 - DevOps, por onde começar? Por Sebastian FerrariTaller Negócio Digitais
 
Microserviços - Universidade Metodista - EETI 2016
Microserviços - Universidade Metodista - EETI 2016Microserviços - Universidade Metodista - EETI 2016
Microserviços - Universidade Metodista - EETI 2016Renato Groff
 

Semelhante a Mockando com Propósito.pptx (20)

Testes unitários e Mocks
Testes unitários e MocksTestes unitários e Mocks
Testes unitários e Mocks
 
DevOps - Melhores práticas na plataforma microsoft
DevOps - Melhores práticas na plataforma microsoftDevOps - Melhores práticas na plataforma microsoft
DevOps - Melhores práticas na plataforma microsoft
 
O que seus testes garantem, o funcionamento do código ou das funcionalidades ...
O que seus testes garantem, o funcionamento do código ou das funcionalidades ...O que seus testes garantem, o funcionamento do código ou das funcionalidades ...
O que seus testes garantem, o funcionamento do código ou das funcionalidades ...
 
Sistemas para o Mundo Real
Sistemas para o Mundo RealSistemas para o Mundo Real
Sistemas para o Mundo Real
 
Arquitetura de Software para a Entrega Continua
Arquitetura de Software para a Entrega ContinuaArquitetura de Software para a Entrega Continua
Arquitetura de Software para a Entrega Continua
 
Quebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOpsQuebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOps
 
Integrating Microservices
Integrating MicroservicesIntegrating Microservices
Integrating Microservices
 
Analise e desenvolvimento
Analise e desenvolvimentoAnalise e desenvolvimento
Analise e desenvolvimento
 
Arquitetura de Microserviços - Tecnologia na Prática - Julho/2017
Arquitetura de Microserviços - Tecnologia na Prática - Julho/2017Arquitetura de Microserviços - Tecnologia na Prática - Julho/2017
Arquitetura de Microserviços - Tecnologia na Prática - Julho/2017
 
JUnit Experience
JUnit ExperienceJUnit Experience
JUnit Experience
 
Velozes e furiosos com extreme programming.
Velozes e furiosos com extreme programming. Velozes e furiosos com extreme programming.
Velozes e furiosos com extreme programming.
 
Mocks, Stubs e Fakes - Developers-SP - Julho-2017
Mocks, Stubs e Fakes - Developers-SP - Julho-2017Mocks, Stubs e Fakes - Developers-SP - Julho-2017
Mocks, Stubs e Fakes - Developers-SP - Julho-2017
 
Confraria Security And IT - End Point Security
Confraria Security And IT - End Point SecurityConfraria Security And IT - End Point Security
Confraria Security And IT - End Point Security
 
TDD: Técnicas, Benefícios e Limitação
TDD: Técnicas, Benefícios e Limitação TDD: Técnicas, Benefícios e Limitação
TDD: Técnicas, Benefícios e Limitação
 
Test day 2012
Test day 2012Test day 2012
Test day 2012
 
Cultura de testes em times mobile
Cultura de testes em times mobileCultura de testes em times mobile
Cultura de testes em times mobile
 
DevOps, NoOps...afinal que raios é isso?
DevOps, NoOps...afinal que raios é isso?DevOps, NoOps...afinal que raios é isso?
DevOps, NoOps...afinal que raios é isso?
 
Qualidade e Testes de Software
Qualidade e Testes de SoftwareQualidade e Testes de Software
Qualidade e Testes de Software
 
DrupalCamp SP 2015 - DevOps, por onde começar? Por Sebastian Ferrari
DrupalCamp SP 2015 - DevOps, por onde começar? Por Sebastian FerrariDrupalCamp SP 2015 - DevOps, por onde começar? Por Sebastian Ferrari
DrupalCamp SP 2015 - DevOps, por onde começar? Por Sebastian Ferrari
 
Microserviços - Universidade Metodista - EETI 2016
Microserviços - Universidade Metodista - EETI 2016Microserviços - Universidade Metodista - EETI 2016
Microserviços - Universidade Metodista - EETI 2016
 

Mockando com Propósito.pptx

  • 2. Sobre o uso excessivo de mocks Por que mockar em excesso é ruim? Um pouco sobre acoplamento de testes O que devo mockar?
  • 3. • Codifico muitos testes de unidade e testes de integração • Meu paradigma mais familiar é a orientação à objetos
  • 4. • Dummy • Stub • Fake • Spy • Mock
  • 5. • Quanto mais mocks seus testes tem, mais comportamento você abstraiu, substituindo o comportamento esperado em produção por um comportamento sem valor de produção. • O objetivo de qualquer mock é extrair a complexidade de uma dependência que você não tem recurso suficiente para gerenciar. • Se fosse simples subir um banco de dados, um serviço ou todo um módulo, mocks não existiriam.
  • 6. Escolher usar um mock não deve ser a escolha mais óbvia e sim a escolha mais pensada
  • 7.
  • 8. O maior custo do software não está na criação, e sim na manutenção dele
  • 9. O maior custo do software não está na criação, e sim na manutenção dele Quanto menor for sua unidade, mais você vai querer mockar
  • 10. O maior custo do software não está na criação, e sim na manutenção dele Quanto menor for sua unidade, mais você vai querer mockar Muitos mocks tornam difícil a manutenção
  • 11. O maior custo do software não está na criação, e sim na manutenção dele Quanto menor for sua unidade, mais você vai querer mockar Muitos mocks tornam difícil a manutenção Os testes ficam isolados a ponto de não representarem mais a realidade
  • 12. O maior custo do software não está na criação, e sim na manutenção dele Quanto menor for sua unidade, mais você vai querer mockar Muitos mocks tornam difícil a manutenção Os testes ficam isolados a ponto de não representarem mais a realidade Mocks podem impactar negativamente a execução
  • 13. O maior custo do software não está na criação, e sim na manutenção dele Quanto menor for sua unidade, mais você vai querer mockar Muitos mocks tornam difícil a manutenção Os testes ficam isolados a ponto de não representarem mais a realidade Mocks podem impactar negativamente a execução Foco na implementação e não no comportamento
  • 14. O maior custo do software não está na criação, e sim na manutenção dele Quanto menor for sua unidade, mais você vai querer mockar Muitos mocks tornam difícil a manutenção Os testes ficam isolados a ponto de não representarem mais a realidade Mocks podem impactar negativamente a execução Foco na implementação e não no comportamento Muitos testes quebram com uma alteração simples
  • 15.
  • 16. • Nas dependências que são difíceis para você gerenciar, considerando o escopo do teste • Banco de dados • Integrações com outros sistemas • Outros domínios de sua aplicação Quando você é o dono daquele código.

Notas do Editor

  1. 1.7.2013
  2. 1.7.2013
  3. 1.7.2013
  4. 1.7.2013
  5. 1.7.2013
  6. 1.7.2013
  7. 1.7.2013
  8. 1.7.2013
  9. 1.7.2013