SlideShare uma empresa Scribd logo
1 de 26
Globalcode – Open4education
Trilha DevTest – Atualizando versões de
API externas sem medo
Bruno Tanoue
QA Engineer
@ResultadosDigitais
Alisson Bruno
Software Engineer
@ResultadosDigitais
Globalcode – Open4education
Introdução
• Abril de 2016
• Impacto inicial
• Postagem em Mídias Sociais
Globalcode – Open4education
Introdução
Globalcode – Open4education
Introdução
• Abril de 2016
• Impacto real
• Postagem em Mídias Sociais
• Monitoramento de Mídias Sociais
• Relatório de Mídias Sociais
Globalcode – Open4education
Introdução
• Aprendizados (Post-mortem)
• Changelog
• Impacto da alteração
• Monitoramento
• Testes automatizados
• Testes de Contrato
http://brodzinski.com/2008/03/post-mortem-basics.html
Globalcode – Open4education
“Test Double é um termo genérico para qualquer
caso em que você substitui um objeto de produção
para fins de teste.” — Martin Fowler
Globalcode – Open4education
Test Double
Globalcode – Open4education
Globalcode – Open4education
Globalcode – Open4education
Globalcode – Open4education
Testes de Contrato
https://martinfowler.com/bliki/ContractTest.html
Globalcode – Open4education
Pirâmide de testes
UI
Integração
Testes de unidade
Globalcode – Open4education
Pirâmide de testes
UI
Contratos
Testes de unidade
Testes de
integração
Globalcode – Open4education
Estrutura dos Testes
pacto gem
https://thoughtworks.github.io/pacto/
Globalcode – Open4education
Estrutura dos Testes
• Código de Teste de Contrato
Globalcode – Open4education
• Contrato
Estrutura dos Testes
Globalcode – Open4education
• Março de 2018
• Deadline de depreciação de API do Facebook(Abril/2018)
• Versão atual: v2.5
• Proposta de modificação inicial: v2.6 (+3 meses)
Atualização de versão da API do
Facebook
Globalcode – Open4education
• Antipattern de Testes de Contrato
https://docs.pact.io/faq#why-are-the-pacts-generated-and-not-static
Atualização de versão da API do
Facebook
“Modificação de contratos de forma estática”
Globalcode – Open4education
• Antipattern de Testes de Contrato
Atualização de versão da API do
Facebook
Globalcode – Open4education
• Antipattern de Testes de Contrato
• Feedback de quebras
• Custo de alteração
• Segurança
• Planejamento
Atualização de versão da API do
Facebook
Globalcode – Open4education
Esforços necessários
• Atualização da versão do cliente da API
• Removidos os testes que não eram mais necessários
• Atualização dos testes “mockados”
• Atualização dos arquivos de contrato
• Removidos contratos alterados manualmente
• Gerados novos contratos de forma automática
Globalcode – Open4education
• Aprendizado com erros do passado
• Post-mortems
• PR (Atualização problemática)
• Pair (Desenvolvedor & QA)
• Levantamento de impacto
• Changelogs
• Monitoramento
Lições aprendidas
Globalcode – Open4education
Resultados
v2.5
v2.6
(+3 meses)
Globalcode – Open4education
Resultados
Globalcode – Open4education
Resultados
Versão final
v2.12
Globalcode – Open4education
Dúvidas?
Temos vagas
http://bit.ly/2LtEsZc
@brunotanoue
Bruno Tanoue
@alissonbrunosa
Alisson B. Santos

Mais conteúdo relacionado

Mais procurados

Automação de testes em projetos ágeis
Automação de testes em projetos ágeisAutomação de testes em projetos ágeis
Automação de testes em projetos ágeisCristiano Caetano
 
[Agile Brazil] Entrega Contínua na Infoglobo: gerando valor em 2 horas
[Agile Brazil] Entrega Contínua na Infoglobo:  gerando valor em 2 horas[Agile Brazil] Entrega Contínua na Infoglobo:  gerando valor em 2 horas
[Agile Brazil] Entrega Contínua na Infoglobo: gerando valor em 2 horasSamanta Cicilia
 
[DevOps Carioca] Continuous Delivery
[DevOps Carioca]  Continuous Delivery[DevOps Carioca]  Continuous Delivery
[DevOps Carioca] Continuous DeliverySamanta Cicilia
 
[DevOps Carioca] Testes Automatizados
[DevOps Carioca] Testes Automatizados[DevOps Carioca] Testes Automatizados
[DevOps Carioca] Testes AutomatizadosSamanta Cicilia
 
DevOps Summit Brasil - O que não te contaram sobre Agile Testing
DevOps Summit Brasil - O que não te contaram sobre Agile TestingDevOps Summit Brasil - O que não te contaram sobre Agile Testing
DevOps Summit Brasil - O que não te contaram sobre Agile TestingSamanta Cicilia
 
TDC2018SP | Trilha Testes - Como garantir a retrocompatibilidade de uma API
TDC2018SP | Trilha Testes - Como garantir a retrocompatibilidade de uma APITDC2018SP | Trilha Testes - Como garantir a retrocompatibilidade de uma API
TDC2018SP | Trilha Testes - Como garantir a retrocompatibilidade de uma APItdc-globalcode
 
Estratégias para o uso de integração e entrega contínua com gocd
Estratégias para o uso de integração e entrega contínua com gocdEstratégias para o uso de integração e entrega contínua com gocd
Estratégias para o uso de integração e entrega contínua com gocdWalmyr Lima e Silva Filho
 
[Uff] Continuous Delivery: Entrega Contínua de Software de Valor
[Uff] Continuous Delivery: Entrega Contínua de Software de Valor[Uff] Continuous Delivery: Entrega Contínua de Software de Valor
[Uff] Continuous Delivery: Entrega Contínua de Software de ValorSamanta Cicilia
 
Minas Testing Conference - Entrega Contínua
Minas Testing Conference - Entrega ContínuaMinas Testing Conference - Entrega Contínua
Minas Testing Conference - Entrega ContínuaSamanta Cicilia
 
DevQA - Da zona de conforto ao comprometimento com a Qualidade
DevQA - Da zona de conforto ao comprometimento com a QualidadeDevQA - Da zona de conforto ao comprometimento com a Qualidade
DevQA - Da zona de conforto ao comprometimento com a QualidadeKamilla Queiroz Xavier
 
QconSP-2017 - Cielo Lio: Cultura DevOps e automatização de processos em uma p...
QconSP-2017 - Cielo Lio: Cultura DevOps e automatização de processos em uma p...QconSP-2017 - Cielo Lio: Cultura DevOps e automatização de processos em uma p...
QconSP-2017 - Cielo Lio: Cultura DevOps e automatização de processos em uma p...Magno Costa
 

Mais procurados (13)

Automação de testes em projetos ágeis
Automação de testes em projetos ágeisAutomação de testes em projetos ágeis
Automação de testes em projetos ágeis
 
[Agile Brazil] Entrega Contínua na Infoglobo: gerando valor em 2 horas
[Agile Brazil] Entrega Contínua na Infoglobo:  gerando valor em 2 horas[Agile Brazil] Entrega Contínua na Infoglobo:  gerando valor em 2 horas
[Agile Brazil] Entrega Contínua na Infoglobo: gerando valor em 2 horas
 
[DevOps Carioca] Continuous Delivery
[DevOps Carioca]  Continuous Delivery[DevOps Carioca]  Continuous Delivery
[DevOps Carioca] Continuous Delivery
 
[DevOps Carioca] Testes Automatizados
[DevOps Carioca] Testes Automatizados[DevOps Carioca] Testes Automatizados
[DevOps Carioca] Testes Automatizados
 
DevOps Summit Brasil - O que não te contaram sobre Agile Testing
DevOps Summit Brasil - O que não te contaram sobre Agile TestingDevOps Summit Brasil - O que não te contaram sobre Agile Testing
DevOps Summit Brasil - O que não te contaram sobre Agile Testing
 
TDC2018SP | Trilha Testes - Como garantir a retrocompatibilidade de uma API
TDC2018SP | Trilha Testes - Como garantir a retrocompatibilidade de uma APITDC2018SP | Trilha Testes - Como garantir a retrocompatibilidade de uma API
TDC2018SP | Trilha Testes - Como garantir a retrocompatibilidade de uma API
 
Estratégias para o uso de integração e entrega contínua com gocd
Estratégias para o uso de integração e entrega contínua com gocdEstratégias para o uso de integração e entrega contínua com gocd
Estratégias para o uso de integração e entrega contínua com gocd
 
[Uff] Continuous Delivery: Entrega Contínua de Software de Valor
[Uff] Continuous Delivery: Entrega Contínua de Software de Valor[Uff] Continuous Delivery: Entrega Contínua de Software de Valor
[Uff] Continuous Delivery: Entrega Contínua de Software de Valor
 
WTM - Entrega Contínua
WTM - Entrega ContínuaWTM - Entrega Contínua
WTM - Entrega Contínua
 
Svn - grupo de estudos sol7
Svn - grupo de estudos sol7Svn - grupo de estudos sol7
Svn - grupo de estudos sol7
 
Minas Testing Conference - Entrega Contínua
Minas Testing Conference - Entrega ContínuaMinas Testing Conference - Entrega Contínua
Minas Testing Conference - Entrega Contínua
 
DevQA - Da zona de conforto ao comprometimento com a Qualidade
DevQA - Da zona de conforto ao comprometimento com a QualidadeDevQA - Da zona de conforto ao comprometimento com a Qualidade
DevQA - Da zona de conforto ao comprometimento com a Qualidade
 
QconSP-2017 - Cielo Lio: Cultura DevOps e automatização de processos em uma p...
QconSP-2017 - Cielo Lio: Cultura DevOps e automatização de processos em uma p...QconSP-2017 - Cielo Lio: Cultura DevOps e automatização de processos em uma p...
QconSP-2017 - Cielo Lio: Cultura DevOps e automatização de processos em uma p...
 

Semelhante a Atualizando versões de API externas sem medo

TDC2016POA | Trilha Ruby - Testes de contrato em um contexto de services e mi...
TDC2016POA | Trilha Ruby - Testes de contrato em um contexto de services e mi...TDC2016POA | Trilha Ruby - Testes de contrato em um contexto de services e mi...
TDC2016POA | Trilha Ruby - Testes de contrato em um contexto de services e mi...tdc-globalcode
 
TDC 2015 - Trilha PHP - Testes e Ambiente de Integração Contínua PHP para o D...
TDC 2015 - Trilha PHP - Testes e Ambiente de Integração Contínua PHP para o D...TDC 2015 - Trilha PHP - Testes e Ambiente de Integração Contínua PHP para o D...
TDC 2015 - Trilha PHP - Testes e Ambiente de Integração Contínua PHP para o D...Bruno Tanoue
 
Iac & DevOps no Azure: Automatizando deployments
Iac & DevOps no Azure: Automatizando deploymentsIac & DevOps no Azure: Automatizando deployments
Iac & DevOps no Azure: Automatizando deploymentsRicardo Martins ☁
 
Monitorando serviços REST com o Application Insights
Monitorando serviços REST com o Application InsightsMonitorando serviços REST com o Application Insights
Monitorando serviços REST com o Application InsightsRenato Groff
 
TDC 2014 Floripa - Melhorando sua Estratégia de Testes Automatizados
TDC 2014 Floripa - Melhorando sua Estratégia de Testes AutomatizadosTDC 2014 Floripa - Melhorando sua Estratégia de Testes Automatizados
TDC 2014 Floripa - Melhorando sua Estratégia de Testes AutomatizadosStefan Teixeira
 
QConRio 2014 - Tutorial Iniciando Com Continuous Delivery
QConRio 2014 - Tutorial Iniciando Com Continuous DeliveryQConRio 2014 - Tutorial Iniciando Com Continuous Delivery
QConRio 2014 - Tutorial Iniciando Com Continuous DeliveryRodrigo Russo
 
Buscapé 2.0 - Como mudamos uma empresa em 1 ano
Buscapé 2.0 - Como mudamos uma empresa em 1 anoBuscapé 2.0 - Como mudamos uma empresa em 1 ano
Buscapé 2.0 - Como mudamos uma empresa em 1 anoThiago Freitas
 
CNQS - Testes Automatizados & Continuous Delivery
CNQS - Testes Automatizados & Continuous DeliveryCNQS - Testes Automatizados & Continuous Delivery
CNQS - Testes Automatizados & Continuous DeliverySamanta Cicilia
 
TDC 2014 - A influência dos processos de desenvolvimento na arquitetura
TDC 2014 - A influência dos processos de desenvolvimento na arquiteturaTDC 2014 - A influência dos processos de desenvolvimento na arquitetura
TDC 2014 - A influência dos processos de desenvolvimento na arquiteturaEric Lemes
 
Do regresso ao progresso: automação de testes em aplicativos mobile
Do regresso ao progresso: automação de testes em aplicativos mobileDo regresso ao progresso: automação de testes em aplicativos mobile
Do regresso ao progresso: automação de testes em aplicativos mobileLucas Carvalho
 
TDC POA 2015 - Já automatizei meu projeto. E agora? - Samuel Lucas
TDC POA 2015 - Já automatizei meu projeto. E agora? - Samuel LucasTDC POA 2015 - Já automatizei meu projeto. E agora? - Samuel Lucas
TDC POA 2015 - Já automatizei meu projeto. E agora? - Samuel LucasSamuel Lucas
 
Monitorando serviços REST com o Application Insights e Distributed Tracing
Monitorando serviços REST com o Application Insights e Distributed TracingMonitorando serviços REST com o Application Insights e Distributed Tracing
Monitorando serviços REST com o Application Insights e Distributed TracingRenato Groff
 
TDC2016SP - Trilha Microservices
TDC2016SP - Trilha MicroservicesTDC2016SP - Trilha Microservices
TDC2016SP - Trilha Microservicestdc-globalcode
 
TDC SP 2016 - Dos requisitos à implantação em uma palestra
TDC SP 2016 - Dos requisitos à implantação em uma palestraTDC SP 2016 - Dos requisitos à implantação em uma palestra
TDC SP 2016 - Dos requisitos à implantação em uma palestraRafael Chaves
 
ERES 2018 - Microserviços: Desafios para Lidar com a Qualidade
ERES 2018 - Microserviços: Desafios para Lidar com a QualidadeERES 2018 - Microserviços: Desafios para Lidar com a Qualidade
ERES 2018 - Microserviços: Desafios para Lidar com a QualidadeAndré Abe Vicente
 
Gerando aplicações Spring Boot e AngularJS com gerador de código JHipster
Gerando aplicações Spring Boot e AngularJS com gerador de código JHipsterGerando aplicações Spring Boot e AngularJS com gerador de código JHipster
Gerando aplicações Spring Boot e AngularJS com gerador de código JHipsterEdlaine Zamora
 
Samanta Cicilia - MTC - Importância de Testes Automatizados para Continuous D...
Samanta Cicilia - MTC - Importância de Testes Automatizados para Continuous D...Samanta Cicilia - MTC - Importância de Testes Automatizados para Continuous D...
Samanta Cicilia - MTC - Importância de Testes Automatizados para Continuous D...minastestingconference
 
Agile Testing - Qualidade do Discovery ao Deploy
Agile Testing - Qualidade do Discovery ao DeployAgile Testing - Qualidade do Discovery ao Deploy
Agile Testing - Qualidade do Discovery ao DeployEduardo Cini
 
[Lady talks]Continuous Delivery
[Lady talks]Continuous Delivery[Lady talks]Continuous Delivery
[Lady talks]Continuous DeliverySamanta Cicilia
 

Semelhante a Atualizando versões de API externas sem medo (20)

TDC2016POA | Trilha Ruby - Testes de contrato em um contexto de services e mi...
TDC2016POA | Trilha Ruby - Testes de contrato em um contexto de services e mi...TDC2016POA | Trilha Ruby - Testes de contrato em um contexto de services e mi...
TDC2016POA | Trilha Ruby - Testes de contrato em um contexto de services e mi...
 
TDC 2015 - Trilha PHP - Testes e Ambiente de Integração Contínua PHP para o D...
TDC 2015 - Trilha PHP - Testes e Ambiente de Integração Contínua PHP para o D...TDC 2015 - Trilha PHP - Testes e Ambiente de Integração Contínua PHP para o D...
TDC 2015 - Trilha PHP - Testes e Ambiente de Integração Contínua PHP para o D...
 
Iac & DevOps no Azure: Automatizando deployments
Iac & DevOps no Azure: Automatizando deploymentsIac & DevOps no Azure: Automatizando deployments
Iac & DevOps no Azure: Automatizando deployments
 
Monitorando serviços REST com o Application Insights
Monitorando serviços REST com o Application InsightsMonitorando serviços REST com o Application Insights
Monitorando serviços REST com o Application Insights
 
TDC 2014 Floripa - Melhorando sua Estratégia de Testes Automatizados
TDC 2014 Floripa - Melhorando sua Estratégia de Testes AutomatizadosTDC 2014 Floripa - Melhorando sua Estratégia de Testes Automatizados
TDC 2014 Floripa - Melhorando sua Estratégia de Testes Automatizados
 
QConRio 2014 - Tutorial Iniciando Com Continuous Delivery
QConRio 2014 - Tutorial Iniciando Com Continuous DeliveryQConRio 2014 - Tutorial Iniciando Com Continuous Delivery
QConRio 2014 - Tutorial Iniciando Com Continuous Delivery
 
Buscapé 2.0 - Como mudamos uma empresa em 1 ano
Buscapé 2.0 - Como mudamos uma empresa em 1 anoBuscapé 2.0 - Como mudamos uma empresa em 1 ano
Buscapé 2.0 - Como mudamos uma empresa em 1 ano
 
CNQS - Testes Automatizados & Continuous Delivery
CNQS - Testes Automatizados & Continuous DeliveryCNQS - Testes Automatizados & Continuous Delivery
CNQS - Testes Automatizados & Continuous Delivery
 
TDC 2014 - A influência dos processos de desenvolvimento na arquitetura
TDC 2014 - A influência dos processos de desenvolvimento na arquiteturaTDC 2014 - A influência dos processos de desenvolvimento na arquitetura
TDC 2014 - A influência dos processos de desenvolvimento na arquitetura
 
Do regresso ao progresso: automação de testes em aplicativos mobile
Do regresso ao progresso: automação de testes em aplicativos mobileDo regresso ao progresso: automação de testes em aplicativos mobile
Do regresso ao progresso: automação de testes em aplicativos mobile
 
TDC POA 2015 - Já automatizei meu projeto. E agora? - Samuel Lucas
TDC POA 2015 - Já automatizei meu projeto. E agora? - Samuel LucasTDC POA 2015 - Já automatizei meu projeto. E agora? - Samuel Lucas
TDC POA 2015 - Já automatizei meu projeto. E agora? - Samuel Lucas
 
Monitorando serviços REST com o Application Insights e Distributed Tracing
Monitorando serviços REST com o Application Insights e Distributed TracingMonitorando serviços REST com o Application Insights e Distributed Tracing
Monitorando serviços REST com o Application Insights e Distributed Tracing
 
TDC2016SP - Trilha Microservices
TDC2016SP - Trilha MicroservicesTDC2016SP - Trilha Microservices
TDC2016SP - Trilha Microservices
 
TDC SP 2016 - Dos requisitos à implantação em uma palestra
TDC SP 2016 - Dos requisitos à implantação em uma palestraTDC SP 2016 - Dos requisitos à implantação em uma palestra
TDC SP 2016 - Dos requisitos à implantação em uma palestra
 
ERES 2018 - Microserviços: Desafios para Lidar com a Qualidade
ERES 2018 - Microserviços: Desafios para Lidar com a QualidadeERES 2018 - Microserviços: Desafios para Lidar com a Qualidade
ERES 2018 - Microserviços: Desafios para Lidar com a Qualidade
 
Gestão de Operações
Gestão de OperaçõesGestão de Operações
Gestão de Operações
 
Gerando aplicações Spring Boot e AngularJS com gerador de código JHipster
Gerando aplicações Spring Boot e AngularJS com gerador de código JHipsterGerando aplicações Spring Boot e AngularJS com gerador de código JHipster
Gerando aplicações Spring Boot e AngularJS com gerador de código JHipster
 
Samanta Cicilia - MTC - Importância de Testes Automatizados para Continuous D...
Samanta Cicilia - MTC - Importância de Testes Automatizados para Continuous D...Samanta Cicilia - MTC - Importância de Testes Automatizados para Continuous D...
Samanta Cicilia - MTC - Importância de Testes Automatizados para Continuous D...
 
Agile Testing - Qualidade do Discovery ao Deploy
Agile Testing - Qualidade do Discovery ao DeployAgile Testing - Qualidade do Discovery ao Deploy
Agile Testing - Qualidade do Discovery ao Deploy
 
[Lady talks]Continuous Delivery
[Lady talks]Continuous Delivery[Lady talks]Continuous Delivery
[Lady talks]Continuous Delivery
 

Atualizando versões de API externas sem medo