SlideShare a Scribd company logo
1 of 40
Do push para a produção: 
Os desafios de automação em Continuous Delivery 
Camilo Ribeiro 
Julio Maia
Camilo Ribeiro 
www.klarna.com
Klarna Checkout
Julio Maia 
www.soundcloud.com
Continuous Delivery 
Cada mudança aplicada a um sistema 
possa ser colocada em produção 
rapidamente... 
… e com tanta confiança quanto possível 
que irá funcionar
30-40% 
Investimento
50+% 
Retorno médio/longo prazo
Investimento em complexidade 
Linguagens de 
programação 
Ferramentas (IDE, build) 
Testes 
Refatoramentos 
Controle de versão 
Automação 
Integração contínua 
Maior maturidade, menos falhas 
Menor maturidade, mais falhas
Integração contínua
Build local 
Velocidade (acima de alguns 
minutos ele afeta a capacidade 
de desenvolvimento do time) 
Garantir que cada mudança é 
funcionalmente correta, mas 
não necessariamente confiável 
operacionalmente
Confiabilidade Funcional 
100% 
75% 
50% 
25% 
0% 
Local Estágio 1 Estágio 2 Estágio 3 
Build Pipeline
Build pipeline 
Geração de artefato binário 
(o qual será utilizado nos testes) 
Aumentar a confiabilidade da 
alteração progressivamente
Confiabilidade Operacional 
100% 
75% 
50% 
25% 
0% 
Local Estágio 1 Estágio 2 Estágio 3 
Build Pipeline
testes em ambiente 
code build controle 
versões 
build 
produção 
testes em ambiente 
integrado 
isolado 
testes em ambiente 
isolado 
Local 
Pipeline
Automação de testes 
Infra-estrutura de testes 
Automação de build 
Automação de deployment 
Monitoramento
Automação e infra-estrutura 
de testes
Testes de unidade 
Guiar o design do sistema 
Suportar refactorings
Testes de integração 
(funcionais, aceitação, etc.) 
Validar se o sistema se comunica 
corretamente com suas dependências 
externas e sob a expectativa dos 
usuários finais
http://www.soapui.org/Best-Practices/api-mocking.html
Testes de performance 
(performance, carga, stress) 
Validar se o sistema se comporta 
adequadamente quando é submetido a 
uma certa carga
Testes de deployment 
Validar que todos os componentes do 
sistema foram instalados e 
configurados corretamente 
Versões, portas, permissões, conectividade
TDD para infra-estrutura
Testes de versões 
Validam se a versão atual do sistema 
funciona contra a versão em produção e 
contra as versões em desenvolvimento 
das suas dependências
build 
produção 
testes em ambiente 
isolado 
testes em ambiente 
integrado 
testes em ambiente 
isolado 
testes em ambiente 
integrado 
Versões em 
desenvolvimento 
Versões em 
produção
Testes de segurança 
Auditam se os componentes do 
sistema não possuem vulnerabilidades 
conhecidas publicamente
https://www.owasp.org/images/f/f4/SkipFishReport.png
Monitoramento 
Healthchecks e telemetria
http://grafana.org
Conclusão 
Continuous delivery é uma otimização 
necessária para entregar valor da 
maneira mais rápida e barata possível 
Isso só é possível com investimento 
constante em testes e automação
www.klarna.com/jobs
www.soundcloud.com/jobs
Obrigado
Dúvidas

More Related Content

What's hot

Testes com TestLink e Selenium
Testes com TestLink e SeleniumTestes com TestLink e Selenium
Testes com TestLink e Selenium
André Thiago
 
Selenium
SeleniumSelenium
Selenium
fatec
 
PDC - Testes - Usando o Testlink
PDC - Testes - Usando o TestlinkPDC - Testes - Usando o Testlink
PDC - Testes - Usando o Testlink
slides_teltools
 

What's hot (20)

Teste de aplicações web com selenium
Teste de aplicações web com seleniumTeste de aplicações web com selenium
Teste de aplicações web com selenium
 
Palestra tdd - rsjug
Palestra tdd - rsjugPalestra tdd - rsjug
Palestra tdd - rsjug
 
Testes com TestLink e Selenium
Testes com TestLink e SeleniumTestes com TestLink e Selenium
Testes com TestLink e Selenium
 
Testlink apresentacao
Testlink apresentacaoTestlink apresentacao
Testlink apresentacao
 
Selenium
SeleniumSelenium
Selenium
 
Test link
Test linkTest link
Test link
 
UMLet
UMLetUMLet
UMLet
 
Selenium: visão geral
Selenium: visão geralSelenium: visão geral
Selenium: visão geral
 
Selenium
SeleniumSelenium
Selenium
 
Selenium
SeleniumSelenium
Selenium
 
Quebrando preconceitos: Continuous Delivery na Plataforma Microsoft
Quebrando preconceitos: Continuous Delivery na Plataforma MicrosoftQuebrando preconceitos: Continuous Delivery na Plataforma Microsoft
Quebrando preconceitos: Continuous Delivery na Plataforma Microsoft
 
PDC - Testes - Usando o Testlink
PDC - Testes - Usando o TestlinkPDC - Testes - Usando o Testlink
PDC - Testes - Usando o Testlink
 
Teste agora! Não deixe para depois!
Teste agora! Não deixe para depois!Teste agora! Não deixe para depois!
Teste agora! Não deixe para depois!
 
Teste de Software
Teste de SoftwareTeste de Software
Teste de Software
 
Muito além das startups: Build-Measure-Learn em sistemas corporativos
Muito além das startups: Build-Measure-Learn em sistemas corporativosMuito além das startups: Build-Measure-Learn em sistemas corporativos
Muito além das startups: Build-Measure-Learn em sistemas corporativos
 
Testes de Software
Testes de SoftwareTestes de Software
Testes de Software
 
Selenium
SeleniumSelenium
Selenium
 
Talk sobre testes automatizados. Parte 1/2
Talk sobre testes automatizados. Parte 1/2Talk sobre testes automatizados. Parte 1/2
Talk sobre testes automatizados. Parte 1/2
 
XII Café e CODE - Provocações do Mestre
XII Café e CODE - Provocações do MestreXII Café e CODE - Provocações do Mestre
XII Café e CODE - Provocações do Mestre
 
Apache Maven
Apache MavenApache Maven
Apache Maven
 

Viewers also liked

Viewers also liked (10)

Desenvolvimento Dirigido por Testes
Desenvolvimento Dirigido por TestesDesenvolvimento Dirigido por Testes
Desenvolvimento Dirigido por Testes
 
Técnicas de Teste
Técnicas de TesteTécnicas de Teste
Técnicas de Teste
 
Como NÃO testar o seu projeto de Software. DevDay 2014
Como NÃO testar o seu projeto de Software. DevDay 2014Como NÃO testar o seu projeto de Software. DevDay 2014
Como NÃO testar o seu projeto de Software. DevDay 2014
 
Criando pipelines de entrega contínua multilinguagem com Docker e Jenkins
Criando pipelines de entrega contínua multilinguagem com Docker e JenkinsCriando pipelines de entrega contínua multilinguagem com Docker e Jenkins
Criando pipelines de entrega contínua multilinguagem com Docker e Jenkins
 
Quando tdd não é o suficiente
Quando tdd não é o suficienteQuando tdd não é o suficiente
Quando tdd não é o suficiente
 
Introdução a Automação de Teste de Software
Introdução a Automação de Teste de SoftwareIntrodução a Automação de Teste de Software
Introdução a Automação de Teste de Software
 
Boas práticas de Automação de Testes
Boas práticas de Automação de TestesBoas práticas de Automação de Testes
Boas práticas de Automação de Testes
 
Continuous Delivery Pipeline with Docker and Jenkins
Continuous Delivery Pipeline with Docker and JenkinsContinuous Delivery Pipeline with Docker and Jenkins
Continuous Delivery Pipeline with Docker and Jenkins
 
Papéis em Teste e Qualidade de Software
Papéis em Teste e Qualidade de SoftwarePapéis em Teste e Qualidade de Software
Papéis em Teste e Qualidade de Software
 
Teste de Software Introdução à Qualidade
Teste de Software Introdução à Qualidade Teste de Software Introdução à Qualidade
Teste de Software Introdução à Qualidade
 

Similar to Do push para a produção: Os desafios de automação em Continuous Delivery

Introdução a testes automatizados
Introdução a testes automatizadosIntrodução a testes automatizados
Introdução a testes automatizados
Thiago Ghisi
 
Engenharia de Testes
Engenharia de TestesEngenharia de Testes
Engenharia de Testes
UFPA
 
Testes De Software - Uma Visão Geral
Testes De Software - Uma Visão GeralTestes De Software - Uma Visão Geral
Testes De Software - Uma Visão Geral
paulo peres
 

Similar to Do push para a produção: Os desafios de automação em Continuous Delivery (20)

CNQS - Testes Automatizados & Continuous Delivery
CNQS - Testes Automatizados & Continuous DeliveryCNQS - Testes Automatizados & Continuous Delivery
CNQS - Testes Automatizados & Continuous Delivery
 
Introdução a testes automatizados
Introdução a testes automatizadosIntrodução a testes automatizados
Introdução a testes automatizados
 
Automação de Testes: Ferramentas e Aplicação com Integração Contínua
Automação de Testes: Ferramentas e Aplicação com Integração ContínuaAutomação de Testes: Ferramentas e Aplicação com Integração Contínua
Automação de Testes: Ferramentas e Aplicação com Integração Contínua
 
Engenharia de Testes
Engenharia de TestesEngenharia de Testes
Engenharia de Testes
 
Cloud Computing e Integração Contínua com o Windows Azure
Cloud Computing e Integração Contínua com o Windows AzureCloud Computing e Integração Contínua com o Windows Azure
Cloud Computing e Integração Contínua com o Windows Azure
 
Eng.ª do Software - 10. Testes de software
Eng.ª do Software - 10. Testes de softwareEng.ª do Software - 10. Testes de software
Eng.ª do Software - 10. Testes de software
 
Keynote Visual Studio Summit 2016
Keynote Visual Studio Summit 2016Keynote Visual Studio Summit 2016
Keynote Visual Studio Summit 2016
 
Noções em teste de software e introdução a automação
Noções em teste de software e introdução a automaçãoNoções em teste de software e introdução a automação
Noções em teste de software e introdução a automação
 
Tdc continuous testing
Tdc   continuous testing Tdc   continuous testing
Tdc continuous testing
 
Aula18_V&VTesteSoftware.pdf
Aula18_V&VTesteSoftware.pdfAula18_V&VTesteSoftware.pdf
Aula18_V&VTesteSoftware.pdf
 
Final Project (2013): Test-Driven Development applied on web applications
Final Project (2013): Test-Driven Development applied on web applicationsFinal Project (2013): Test-Driven Development applied on web applications
Final Project (2013): Test-Driven Development applied on web applications
 
SLIDEPRELIMINAR.pptx
SLIDEPRELIMINAR.pptxSLIDEPRELIMINAR.pptx
SLIDEPRELIMINAR.pptx
 
Fases testes
Fases testesFases testes
Fases testes
 
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...
 
[DevOps Carioca] Testes Automatizados
[DevOps Carioca] Testes Automatizados[DevOps Carioca] Testes Automatizados
[DevOps Carioca] Testes Automatizados
 
Testes De Software - Uma Visão Geral
Testes De Software - Uma Visão GeralTestes De Software - Uma Visão Geral
Testes De Software - Uma Visão Geral
 
Automacão de Testes Funcionais com Selenium
Automacão de Testes Funcionais com SeleniumAutomacão de Testes Funcionais com Selenium
Automacão de Testes Funcionais com Selenium
 
Test-Driven Development (TDD) utilizando o framework xUnit.net
Test-Driven Development (TDD) utilizando o framework xUnit.netTest-Driven Development (TDD) utilizando o framework xUnit.net
Test-Driven Development (TDD) utilizando o framework xUnit.net
 
Qualidade e Testes de Software
Qualidade e Testes de SoftwareQualidade e Testes de Software
Qualidade e Testes de Software
 
Gerenciamento da Qualidade de Software 4.pptx
Gerenciamento da Qualidade de Software 4.pptxGerenciamento da Qualidade de Software 4.pptx
Gerenciamento da Qualidade de Software 4.pptx
 

Do push para a produção: Os desafios de automação em Continuous Delivery