SlideShare uma empresa Scribd logo
Danilo Porcelani
Desenvolvedor
www.porcelani.com
Pare de Testar em Produção
e Comece a Mockar
GDG DevFest Paraná 2017 -  Pare de Testar em Produção e Comece a Mockar
Testar em
produção é errado?
https://github.com/Netflix/SimianArmy/wiki
GDG DevFest Paraná 2017 -  Pare de Testar em Produção e Comece a Mockar
GDG DevFest Paraná 2017 -  Pare de Testar em Produção e Comece a Mockar
GDG DevFest Paraná 2017 -  Pare de Testar em Produção e Comece a Mockar
GDG DevFest Paraná 2017 -  Pare de Testar em Produção e Comece a Mockar
GDG DevFest Paraná 2017 -  Pare de Testar em Produção e Comece a Mockar
GDG DevFest Paraná 2017 -  Pare de Testar em Produção e Comece a Mockar
GDG DevFest Paraná 2017 -  Pare de Testar em Produção e Comece a Mockar
Mas qual é o Ponto?
GDG DevFest Paraná 2017 -  Pare de Testar em Produção e Comece a Mockar
QA
DEV
GERENTE
GDG DevFest Paraná 2017 -  Pare de Testar em Produção e Comece a Mockar
O que é Mockar?
GDG DevFest Paraná 2017 -  Pare de Testar em Produção e Comece a Mockar
O que são
Dublês de Teste ?
GDG DevFest Paraná 2017 -  Pare de Testar em Produção e Comece a Mockar
"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
GDG DevFest Paraná 2017 -  Pare de Testar em Produção e Comece a Mockar
Dublê B
Dublê C
GDG DevFest Paraná 2017 -  Pare de Testar em Produção e Comece a Mockar
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.
GDG DevFest Paraná 2017 -  Pare de Testar em Produção e Comece a Mockar
https://8thlight.com/blog/uncle-bob/2014/05/14/TheLittleMocker.html
GDG DevFest Paraná 2017 -  Pare de Testar em Produção e Comece a Mockar
GDG DevFest Paraná 2017 -  Pare de Testar em Produção e Comece a Mockar
Possui dados estáticos
que serão usados nos
testes. Não Funcionará
para mais nada além do
que está no teste.
GDG DevFest Paraná 2017 -  Pare de Testar em Produção e Comece a Mockar
GDG DevFest Paraná 2017 -  Pare de Testar em Produção e Comece a Mockar
Além de fornecer
alguma informação,
também grava alguma
interação.
GDG DevFest Paraná 2017 -  Pare de Testar em Produção e Comece a Mockar
GDG DevFest Paraná 2017 -  Pare de Testar em Produção e Comece a Mockar
Objetos que simulam o
comportamento de
objetos reais de forma
controlada.
Testa comportamento,
diferente do stub e spy
que testam só estado.
GDG DevFest Paraná 2017 -  Pare de Testar em Produção e Comece a Mockar
GDG DevFest Paraná 2017 -  Pare de Testar em Produção e Comece a Mockar
Possuem
implementações que
funcionam, mas
geralmente tomam
algum atalho, o que os
torna não adequados
para a produção
GDG DevFest Paraná 2017 -  Pare de Testar em Produção e Comece a Mockar
GDG DevFest Paraná 2017 -  Pare de Testar em Produção e Comece a Mockar
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
GDG DevFest Paraná 2017 -  Pare de Testar em Produção e Comece a Mockar
GDG DevFest Paraná 2017 -  Pare de Testar em Produção e Comece a Mockar
Dublê B
Dublê C
GDG DevFest Paraná 2017 -  Pare de Testar em Produção e Comece a Mockar
Real
Parcial
Incompleto
Real Parcial Incompleto
+ Injeção de Dependências
http://
Infraestrutura como Código
GDG DevFest Paraná 2017 -  Pare de Testar em Produção e Comece a Mockar
GDG DevFest Paraná 2017 -  Pare de Testar em Produção e Comece a Mockar
GDG DevFest Paraná 2017 -  Pare de Testar em Produção e Comece a Mockar
GDG DevFest Paraná 2017 -  Pare de Testar em Produção e Comece a Mockar
GDG DevFest Paraná 2017 -  Pare de Testar em Produção e Comece a Mockar
Ferramentas
GetSandbox
WireMock
Mocky.io
mountebank
MockServer
SoapUi
Dicas Simples
Desenvolvimento Voltado
ao Teste
Automatize… Mas
SEM Execute os
Testes
Bases de Dados D -1
Release Big Bang
Mapeie suas
dependências
Monte um Time de
Engenheiros
http://eliasnogueira.com/o-testador-esta-morto/
Programação é sobre
Comunicação
Baby Steps
GDG DevFest Paraná 2017 -  Pare de Testar em Produção e Comece a Mockar
Obrigado
Danilo Porcelani
Desenvolvedor
www.porcelani.com

Mais conteúdo relacionado

Semelhante a GDG DevFest Paraná 2017 - Pare de Testar em Produção e Comece a Mockar

Introdução ao TDD (Test-Driven Development) - #guma10anos
Introdução ao TDD (Test-Driven Development) - #guma10anosIntrodução ao TDD (Test-Driven Development) - #guma10anos
Introdução ao TDD (Test-Driven Development) - #guma10anos
Dionatan default
 
Test-driven development & Mocking
Test-driven development & MockingTest-driven development & Mocking
Test-driven development & Mocking
Daniel Tamiosso
 
TDC 2011 Trilha de Teste
TDC 2011 Trilha de TesteTDC 2011 Trilha de Teste
TDC 2011 Trilha de Teste
Wellington Marion
 
Tdd em django sem desculpas versao final
Tdd em django sem desculpas versao finalTdd em django sem desculpas versao final
Tdd em django sem desculpas versao final
Adriano Petrich
 
TDD em django sem desculpas versao fisl
TDD em django sem desculpas versao fislTDD em django sem desculpas versao fisl
TDD em django sem desculpas versao fisl
Adriano Petrich
 
Testes unitários e Mocks
Testes unitários e MocksTestes unitários e Mocks
Testes unitários e Mocks
Frederico Belisario
 
Greenbar - Testes automatizados na sua empresa
Greenbar - Testes automatizados na sua empresaGreenbar - Testes automatizados na sua empresa
Greenbar - Testes automatizados na sua empresa
Rafael Ponte
 
TDD (Test Driven Development)
TDD (Test Driven Development)TDD (Test Driven Development)
TDD (Test Driven Development)
Felipe Pimentel
 
E02 ll03
E02 ll03E02 ll03
E02 ll03
badtripas
 
TDC 2015 Floripa - Testes de Unidade com Robolectric
TDC 2015 Floripa - Testes de Unidade com RobolectricTDC 2015 Floripa - Testes de Unidade com Robolectric
TDC 2015 Floripa - Testes de Unidade com Robolectric
Stefan Teixeira
 
TDC 2015 - Testes de Unidade com Robolectric
TDC 2015 - Testes de Unidade com Robolectric TDC 2015 - Testes de Unidade com Robolectric
TDC 2015 - Testes de Unidade com Robolectric
Lucas Albuquerque
 
Testes UI: não aceite mais falso negativos
Testes UI: não aceite mais falso negativosTestes UI: não aceite mais falso negativos
Testes UI: não aceite mais falso negativos
Andrei Tognolo
 
Testes UI: Não aceite mais falso negativos
Testes UI: Não aceite mais falso negativosTestes UI: Não aceite mais falso negativos
Testes UI: Não aceite mais falso negativos
Thoughtworks
 
Ágil na Prática
Ágil na PráticaÁgil na Prática
Ágil na Prática
Igo Coelho
 
Mocking Test - QA Ninja Conf 2016
Mocking Test - QA Ninja Conf 2016Mocking Test - QA Ninja Conf 2016
Mocking Test - QA Ninja Conf 2016
Renato Groff
 

Semelhante a GDG DevFest Paraná 2017 - Pare de Testar em Produção e Comece a Mockar (15)

Introdução ao TDD (Test-Driven Development) - #guma10anos
Introdução ao TDD (Test-Driven Development) - #guma10anosIntrodução ao TDD (Test-Driven Development) - #guma10anos
Introdução ao TDD (Test-Driven Development) - #guma10anos
 
Test-driven development & Mocking
Test-driven development & MockingTest-driven development & Mocking
Test-driven development & Mocking
 
TDC 2011 Trilha de Teste
TDC 2011 Trilha de TesteTDC 2011 Trilha de Teste
TDC 2011 Trilha de Teste
 
Tdd em django sem desculpas versao final
Tdd em django sem desculpas versao finalTdd em django sem desculpas versao final
Tdd em django sem desculpas versao final
 
TDD em django sem desculpas versao fisl
TDD em django sem desculpas versao fislTDD em django sem desculpas versao fisl
TDD em django sem desculpas versao fisl
 
Testes unitários e Mocks
Testes unitários e MocksTestes unitários e Mocks
Testes unitários e Mocks
 
Greenbar - Testes automatizados na sua empresa
Greenbar - Testes automatizados na sua empresaGreenbar - Testes automatizados na sua empresa
Greenbar - Testes automatizados na sua empresa
 
TDD (Test Driven Development)
TDD (Test Driven Development)TDD (Test Driven Development)
TDD (Test Driven Development)
 
E02 ll03
E02 ll03E02 ll03
E02 ll03
 
TDC 2015 Floripa - Testes de Unidade com Robolectric
TDC 2015 Floripa - Testes de Unidade com RobolectricTDC 2015 Floripa - Testes de Unidade com Robolectric
TDC 2015 Floripa - Testes de Unidade com Robolectric
 
TDC 2015 - Testes de Unidade com Robolectric
TDC 2015 - Testes de Unidade com Robolectric TDC 2015 - Testes de Unidade com Robolectric
TDC 2015 - Testes de Unidade com Robolectric
 
Testes UI: não aceite mais falso negativos
Testes UI: não aceite mais falso negativosTestes UI: não aceite mais falso negativos
Testes UI: não aceite mais falso negativos
 
Testes UI: Não aceite mais falso negativos
Testes UI: Não aceite mais falso negativosTestes UI: Não aceite mais falso negativos
Testes UI: Não aceite mais falso negativos
 
Ágil na Prática
Ágil na PráticaÁgil na Prática
Ágil na Prática
 
Mocking Test - QA Ninja Conf 2016
Mocking Test - QA Ninja Conf 2016Mocking Test - QA Ninja Conf 2016
Mocking Test - QA Ninja Conf 2016
 

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
 
Gerenciamento de Riscos
Gerenciamento de Riscos Gerenciamento de Riscos
Gerenciamento de Riscos
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écnica
Danilo Porcelani
 
CIAPS 2019: Profissão Desenvolvedor
CIAPS 2019: Profissão DesenvolvedorCIAPS 2019: Profissão Desenvolvedor
CIAPS 2019: Profissão Desenvolvedor
Danilo Porcelani
 
Cultura DevOps na Oi
Cultura DevOps na OiCultura DevOps na Oi
Cultura DevOps na Oi
Danilo 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 DevOps
Danilo Porcelani
 
TDC2018 - Sistemas Legados: Testar é Fácil
TDC2018 -  Sistemas Legados: Testar é FácilTDC2018 -  Sistemas Legados: Testar é Fácil
TDC2018 - Sistemas Legados: Testar é Fácil
Danilo 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 Mockar
Danilo 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 Docker
Danilo Porcelani
 
Selenium
SeleniumSelenium

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
 

GDG DevFest Paraná 2017 - Pare de Testar em Produção e Comece a Mockar