SlideShare uma empresa Scribd logo
1 de 67
Baixar para ler offline
Pare de Testar em Produção
e Comece a Mockar
Danilo Porcelani
Desenvolvedor
www.porcelani.com
Testar em
produção é errado?
https://github.com/Netflix/SimianArmy/wiki
Mas qual é o Ponto?
QA
DEV
GERENTE
O que é Mockar?
O que são
Dublês de Teste ?
"Test Double é um termo
genérico para qualquer caso
em que você substitua um
objeto de produção para fins
de teste” - Martin Fowler
https://martinfowler.com/bliki/TestDouble.html
http://www.embedded.com/design/prototyping-and-development/4398723/The-mock-object-approach-to-test-driven-development
https://www.solutionsiq.com/resource/blog-post/to-mock-or-not-to-mock-is-that-even-a-question/
Objetos que nunca são
usados mas você
precisa preencher
parâmetros.
https://8thlight.com/blog/uncle-bob/2014/05/14/TheLittleMocker.html
Possui dados estáticos
que serão usados nos
testes. Não Funcionará
para mais nada além do
que está no teste.
Além de fornecer
alguma informação,
também grava alguma
interação.
Objetos que simulam o
comportamento de
objetos reais de forma
controlada.
Testa comportamento,
diferente do stub e spy
que testam só estado.
Possuem
implementações que
funcionam, mas
geralmente tomam
algum atalho, o que os
torna não adequados
para a produção
Preenche parâmetro
Provê dados static
Provê dados e grava
Verifica comportamento
Implementação simplificada
Linguagem de Programação
Injeção de Dependência
Design da Aplicação
Real
Parcial
Incompleto
Real Parcial Incompleto
+ Injeção de Dependências
http://
Infraestrutura como Código
Ferramentas
GetSandbox
WireMock
Mocky.io
mountebank
MockServer
Dicas Simples
Desenvolvimento Voltado
ao Teste
Automatize… Mas
SEMPRE Execute
os Testes
Release Big Bang
Mapeie suas
dependências
http://eliasnogueira.com/o-testador-esta-morto/
DEV QA
Programação é sobre
Comunicação
Obrigado
Danilo Porcelani
Desenvolvedor
www.porcelani.com

Mais conteúdo relacionado

Mais procurados

Como transformar seu código em negócio (e ganhar dinheiro com isso)
Como transformar seu código em negócio (e ganhar dinheiro com isso)Como transformar seu código em negócio (e ganhar dinheiro com isso)
Como transformar seu código em negócio (e ganhar dinheiro com isso)Ricardo Martins
 
Mtc docker - utilizando no seu dia a dia
Mtc   docker - utilizando no seu dia a diaMtc   docker - utilizando no seu dia a dia
Mtc docker - utilizando no seu dia a diaRafael Chiavegatto
 
At Ma Qualidade Molinari V11 Final Version
At Ma Qualidade Molinari V11 Final VersionAt Ma Qualidade Molinari V11 Final Version
At Ma Qualidade Molinari V11 Final VersionLeonardo Molinari
 
Tester, pegue suas coisas, você está demitido
Tester, pegue suas coisas, você está demitidoTester, pegue suas coisas, você está demitido
Tester, pegue suas coisas, você está demitidoLeonardo Galani
 
Desmistificando Design Patterns
Desmistificando Design PatternsDesmistificando Design Patterns
Desmistificando Design PatternsMaicon Heck
 
Boas práticas no desenvolvimento de software através do uso de TDD
Boas práticas no desenvolvimento de software através do uso de TDDBoas práticas no desenvolvimento de software através do uso de TDD
Boas práticas no desenvolvimento de software através do uso de TDDJony Ferreira dos Santos
 
[MTC 2021] Vieses da qualidade - Daniele Vieira Fiorot
[MTC 2021] Vieses da qualidade -  Daniele Vieira Fiorot[MTC 2021] Vieses da qualidade -  Daniele Vieira Fiorot
[MTC 2021] Vieses da qualidade - Daniele Vieira Fiorotminastestingconference
 
DevCamp - O papel de um testador em uma equipe ágil
DevCamp - O papel de um testador em uma equipe ágilDevCamp - O papel de um testador em uma equipe ágil
DevCamp - O papel de um testador em uma equipe ágilElias Nogueira
 
Lightning talk Test-Driven Development - TDD
Lightning talk Test-Driven Development - TDDLightning talk Test-Driven Development - TDD
Lightning talk Test-Driven Development - TDDWillians De Paula Pereira
 
Engenharia de Software I - Aula 8
Engenharia de Software I - Aula 8Engenharia de Software I - Aula 8
Engenharia de Software I - Aula 8Alessandro Almeida
 
A importância dos testes não funcionais
A importância dos testes não funcionaisA importância dos testes não funcionais
A importância dos testes não funcionaisRoger Ritter
 
In tests we trust: começando com TDD, mocks e mais
In tests we trust: começando com TDD, mocks e maisIn tests we trust: começando com TDD, mocks e mais
In tests we trust: começando com TDD, mocks e maisAna Paula Gomes
 
Metodologias de desenvolvimento de software
Metodologias de desenvolvimento de softwareMetodologias de desenvolvimento de software
Metodologias de desenvolvimento de softwareLetícia Elaine Krauss
 
Testes exploratórios não são sinônimo de bagunça! (TDC 2016 SP)
Testes exploratórios não são sinônimo de bagunça! (TDC 2016 SP)Testes exploratórios não são sinônimo de bagunça! (TDC 2016 SP)
Testes exploratórios não são sinônimo de bagunça! (TDC 2016 SP)Igor Abade
 
Introdução a Automação de Testes
Introdução a Automação de TestesIntrodução a Automação de Testes
Introdução a Automação de TestesLorena Caldas
 

Mais procurados (18)

Como transformar seu código em negócio (e ganhar dinheiro com isso)
Como transformar seu código em negócio (e ganhar dinheiro com isso)Como transformar seu código em negócio (e ganhar dinheiro com isso)
Como transformar seu código em negócio (e ganhar dinheiro com isso)
 
Mtc docker - utilizando no seu dia a dia
Mtc   docker - utilizando no seu dia a diaMtc   docker - utilizando no seu dia a dia
Mtc docker - utilizando no seu dia a dia
 
At Ma Qualidade Molinari V11 Final Version
At Ma Qualidade Molinari V11 Final VersionAt Ma Qualidade Molinari V11 Final Version
At Ma Qualidade Molinari V11 Final Version
 
Tester, pegue suas coisas, você está demitido
Tester, pegue suas coisas, você está demitidoTester, pegue suas coisas, você está demitido
Tester, pegue suas coisas, você está demitido
 
Desmistificando Design Patterns
Desmistificando Design PatternsDesmistificando Design Patterns
Desmistificando Design Patterns
 
Boas práticas no desenvolvimento de software através do uso de TDD
Boas práticas no desenvolvimento de software através do uso de TDDBoas práticas no desenvolvimento de software através do uso de TDD
Boas práticas no desenvolvimento de software através do uso de TDD
 
[MTC 2021] Vieses da qualidade - Daniele Vieira Fiorot
[MTC 2021] Vieses da qualidade -  Daniele Vieira Fiorot[MTC 2021] Vieses da qualidade -  Daniele Vieira Fiorot
[MTC 2021] Vieses da qualidade - Daniele Vieira Fiorot
 
DevCamp - O papel de um testador em uma equipe ágil
DevCamp - O papel de um testador em uma equipe ágilDevCamp - O papel de um testador em uma equipe ágil
DevCamp - O papel de um testador em uma equipe ágil
 
Lightning talk Test-Driven Development - TDD
Lightning talk Test-Driven Development - TDDLightning talk Test-Driven Development - TDD
Lightning talk Test-Driven Development - TDD
 
Engenharia de Software I - Aula 8
Engenharia de Software I - Aula 8Engenharia de Software I - Aula 8
Engenharia de Software I - Aula 8
 
A importância dos testes não funcionais
A importância dos testes não funcionaisA importância dos testes não funcionais
A importância dos testes não funcionais
 
BDD em Ação
BDD em AçãoBDD em Ação
BDD em Ação
 
O teste atualmente
O teste atualmenteO teste atualmente
O teste atualmente
 
In tests we trust: começando com TDD, mocks e mais
In tests we trust: começando com TDD, mocks e maisIn tests we trust: começando com TDD, mocks e mais
In tests we trust: começando com TDD, mocks e mais
 
Metodologias de desenvolvimento de software
Metodologias de desenvolvimento de softwareMetodologias de desenvolvimento de software
Metodologias de desenvolvimento de software
 
Testes exploratórios não são sinônimo de bagunça! (TDC 2016 SP)
Testes exploratórios não são sinônimo de bagunça! (TDC 2016 SP)Testes exploratórios não são sinônimo de bagunça! (TDC 2016 SP)
Testes exploratórios não são sinônimo de bagunça! (TDC 2016 SP)
 
Introdução a Automação de Testes
Introdução a Automação de TestesIntrodução a Automação de Testes
Introdução a Automação de Testes
 
Testes de a a z
Testes de a a zTestes de a a z
Testes de a a z
 

Semelhante a Pare de Testar em Produção e Comece a Mockar

Test-driven development & Mocking
Test-driven development & MockingTest-driven development & Mocking
Test-driven development & MockingDaniel Tamiosso
 
Django Object factory
Django Object factoryDjango Object factory
Django Object factoryitalomaia
 
Desenvolvimento Dirigido por Testes
Desenvolvimento Dirigido por TestesDesenvolvimento Dirigido por Testes
Desenvolvimento Dirigido por TestesCamilo Ribeiro
 
Mocking Test - QA Ninja Conf 2016
Mocking Test - QA Ninja Conf 2016Mocking Test - QA Ninja Conf 2016
Mocking Test - QA Ninja Conf 2016Renato Groff
 
PHPUnit e teste de software
PHPUnit e teste de softwarePHPUnit e teste de software
PHPUnit e teste de softwarericardophp
 
Treinamento Testes Unitários - parte 2
Treinamento Testes Unitários - parte 2Treinamento Testes Unitários - parte 2
Treinamento Testes Unitários - parte 2Diego Pacheco
 
Greenbar - Testes automatizados na sua empresa
Greenbar - Testes automatizados na sua empresaGreenbar - Testes automatizados na sua empresa
Greenbar - Testes automatizados na sua empresaRafael Ponte
 
Por que testar é importante e algumas boas práticas
Por que testar é importante e algumas boas práticasPor que testar é importante e algumas boas práticas
Por que testar é importante e algumas boas práticasLucas Caton
 
Quando tdd não é o suficiente
Quando tdd não é o suficienteQuando tdd não é o suficiente
Quando tdd não é o suficienteCamilo Ribeiro
 
Uma Sprint na Vida do Tester
Uma Sprint na Vida do TesterUma Sprint na Vida do Tester
Uma Sprint na Vida do TesterVitor Pelizza
 
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
 
Testes unitários com Qunit
Testes unitários com QunitTestes unitários com Qunit
Testes unitários com QunitThiago Tiveron
 

Semelhante a Pare de Testar em Produção e Comece a Mockar (17)

Test-driven development & Mocking
Test-driven development & MockingTest-driven development & Mocking
Test-driven development & Mocking
 
Django Object factory
Django Object factoryDjango Object factory
Django Object factory
 
Unit test & TDD
Unit test & TDDUnit test & TDD
Unit test & TDD
 
TDC 2011 Trilha de Teste
TDC 2011 Trilha de TesteTDC 2011 Trilha de Teste
TDC 2011 Trilha de Teste
 
Desenvolvimento Dirigido por Testes
Desenvolvimento Dirigido por TestesDesenvolvimento Dirigido por Testes
Desenvolvimento Dirigido por Testes
 
Mocking Test - QA Ninja Conf 2016
Mocking Test - QA Ninja Conf 2016Mocking Test - QA Ninja Conf 2016
Mocking Test - QA Ninja Conf 2016
 
Testes unitários e Mocks
Testes unitários e MocksTestes unitários e Mocks
Testes unitários e Mocks
 
PHPUnit e teste de software
PHPUnit e teste de softwarePHPUnit e teste de software
PHPUnit e teste de software
 
Treinamento Testes Unitários - parte 2
Treinamento Testes Unitários - parte 2Treinamento Testes Unitários - parte 2
Treinamento Testes Unitários - parte 2
 
Greenbar - Testes automatizados na sua empresa
Greenbar - Testes automatizados na sua empresaGreenbar - Testes automatizados na sua empresa
Greenbar - Testes automatizados na sua empresa
 
Por que testar é importante e algumas boas práticas
Por que testar é importante e algumas boas práticasPor que testar é importante e algumas boas práticas
Por que testar é importante e algumas boas práticas
 
Quando tdd não é o suficiente
Quando tdd não é o suficienteQuando tdd não é o suficiente
Quando tdd não é o suficiente
 
Uma Sprint na Vida do Tester
Uma Sprint na Vida do TesterUma Sprint na Vida do Tester
Uma Sprint na Vida do Tester
 
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
 
Mocking Test
Mocking TestMocking Test
Mocking Test
 
Moq - Tips and Tricks
Moq - Tips and TricksMoq - Tips and Tricks
Moq - Tips and Tricks
 
Testes unitários com Qunit
Testes unitários com QunitTestes unitários com Qunit
Testes unitários com Qunit
 

Mais de Danilo Porcelani

SECOMP2019 - Como Aprender, uma visão sobre a importância do estudo conjugado...
SECOMP2019 - Como Aprender, uma visão sobre a importância do estudo conjugado...SECOMP2019 - Como Aprender, uma visão sobre a importância do estudo conjugado...
SECOMP2019 - Como Aprender, uma visão sobre a importância do estudo conjugado...Danilo Porcelani
 
Pare de Realizar Testes Manuais
Pare de Realizar Testes Manuais Pare de Realizar Testes Manuais
Pare de Realizar Testes Manuais Danilo Porcelani
 
#8 Maringá Agile - Construindo a Excelência Técnica
#8 Maringá Agile - Construindo a Excelência Técnica#8 Maringá Agile - Construindo a Excelência Técnica
#8 Maringá Agile - Construindo a Excelência TécnicaDanilo Porcelani
 
CIAPS 2019: Profissão Desenvolvedor
CIAPS 2019: Profissão DesenvolvedorCIAPS 2019: Profissão Desenvolvedor
CIAPS 2019: Profissão DesenvolvedorDanilo Porcelani
 
SECOMP2018 - Docker Overview
SECOMP2018 - Docker Overview   SECOMP2018 - Docker Overview
SECOMP2018 - Docker Overview Danilo Porcelani
 
Cianorte Meetup 2018 - Cultura DevOps
Cianorte Meetup 2018  - Cultura DevOpsCianorte Meetup 2018  - Cultura DevOps
Cianorte Meetup 2018 - Cultura DevOpsDanilo Porcelani
 
TDC2018 - Sistemas Legados: Testar é Fácil
TDC2018 -  Sistemas Legados: Testar é FácilTDC2018 -  Sistemas Legados: Testar é Fácil
TDC2018 - Sistemas Legados: Testar é FácilDanilo Porcelani
 
TDC São Paulo 2017 - Pare de Testar em Produção e Comece a Mockar
TDC São Paulo 2017  - Pare de Testar em Produção e Comece a MockarTDC São Paulo 2017  - Pare de Testar em Produção e Comece a Mockar
TDC São Paulo 2017 - Pare de Testar em Produção e Comece a MockarDanilo Porcelani
 
2º Femug mga - Automation Test
2º Femug mga -  Automation Test 2º Femug mga -  Automation Test
2º Femug mga - Automation Test Danilo Porcelani
 
TDC São Paulo 2016 - Automation Test With Docker
TDC São Paulo 2016 - Automation Test With DockerTDC São Paulo 2016 - Automation Test With Docker
TDC São Paulo 2016 - Automation Test With DockerDanilo Porcelani
 

Mais de Danilo Porcelani (13)

SECOMP2019 - Como Aprender, uma visão sobre a importância do estudo conjugado...
SECOMP2019 - Como Aprender, uma visão sobre a importância do estudo conjugado...SECOMP2019 - Como Aprender, uma visão sobre a importância do estudo conjugado...
SECOMP2019 - Como Aprender, uma visão sobre a importância do estudo conjugado...
 
Gerenciamento de Riscos
Gerenciamento de Riscos Gerenciamento de Riscos
Gerenciamento de Riscos
 
Pare de Realizar Testes Manuais
Pare de Realizar Testes Manuais Pare de Realizar Testes Manuais
Pare de Realizar Testes Manuais
 
#8 Maringá Agile - Construindo a Excelência Técnica
#8 Maringá Agile - Construindo a Excelência Técnica#8 Maringá Agile - Construindo a Excelência Técnica
#8 Maringá Agile - Construindo a Excelência Técnica
 
CIAPS 2019: Profissão Desenvolvedor
CIAPS 2019: Profissão DesenvolvedorCIAPS 2019: Profissão Desenvolvedor
CIAPS 2019: Profissão Desenvolvedor
 
Cultura DevOps na Oi
Cultura DevOps na OiCultura DevOps na Oi
Cultura DevOps na Oi
 
SECOMP2018 - Docker Overview
SECOMP2018 - Docker Overview   SECOMP2018 - Docker Overview
SECOMP2018 - Docker Overview
 
Cianorte Meetup 2018 - Cultura DevOps
Cianorte Meetup 2018  - Cultura DevOpsCianorte Meetup 2018  - Cultura DevOps
Cianorte Meetup 2018 - Cultura DevOps
 
TDC2018 - Sistemas Legados: Testar é Fácil
TDC2018 -  Sistemas Legados: Testar é FácilTDC2018 -  Sistemas Legados: Testar é Fácil
TDC2018 - Sistemas Legados: Testar é Fácil
 
TDC São Paulo 2017 - Pare de Testar em Produção e Comece a Mockar
TDC São Paulo 2017  - Pare de Testar em Produção e Comece a MockarTDC São Paulo 2017  - Pare de Testar em Produção e Comece a Mockar
TDC São Paulo 2017 - Pare de Testar em Produção e Comece a Mockar
 
2º Femug mga - Automation Test
2º Femug mga -  Automation Test 2º Femug mga -  Automation Test
2º Femug mga - Automation Test
 
TDC São Paulo 2016 - Automation Test With Docker
TDC São Paulo 2016 - Automation Test With DockerTDC São Paulo 2016 - Automation Test With Docker
TDC São Paulo 2016 - Automation Test With Docker
 
Selenium
SeleniumSelenium
Selenium
 

Pare de Testar em Produção e Comece a Mockar