SlideShare uma empresa Scribd logo
1 de 35
Baixar para ler offline
A jornada para o
Continuous
Delivery
Quem sou?
Diego Paris
Desempenho de entrega ao longo do tempo
2011
2012
2013
2014
2016
40-60 dias
15-20 dias
8-12 dias
3-5 dias
1-3 dias
Reflexo do Continuous Delivery
● Mais de 500 histórias em 1 ano
● ROLLBACK → 0
● BUG → 0
Cultura dos escoteiros
Kaizen - Melhoria Contínua
Rodrigo Yoshima
Pirâmide de Maslow
Pirâmide de Maslow
Infraestrutura de delivery automático
Infraestrutura de delivery automático
X
Pesquisa
80%:
● Agile Testing
● Small Batches
● trunk-based (sem branches)
20%:
● Agile Testing
● Small Batches
● trunk-based (sem branches)
● infraestrutura (jenkins)
Agile Testing
Tipo de testes
● Teste Funcional (Caixa-Preta)
○ Analisa as funções do software; o que o software faz
○ O método mais utilizado para realizar o teste funcional é executar a função do sistema
utilizando dados válidos (testes positivos) e dados inválidos (testes negativos)
● Teste Não funcional
○ Analisa as restrições de como o software faz;
○ É executado para medir as características que podem ser qualificadas em uma escala
variável, por exemplo, o tempo de resposta em um teste de performance
Tipo de testes
● Teste Estrutural (Caixa-Branca)
○ Teste baseado na estrutura interna de um componente ou sistema:
■ Caminhos independentes dentro do código
■ Decisões lógicas
■ Laços - dentro de valores limites e equivalência
■ Estruturas de dados internas
Qual fazer?
OU
Qual fazer?
OU
X
Controller Service RepositoryX
Entrada
Saída
Controller Service RepositoryX
Entrada
Saída
ServiceTest XTest
Controller Service RepositoryX
Entrada
Saída
ServiceTest XTest
Mock Mock
Controller Service RepositoryX
Entrada
Saída
ServiceTest XTest
Y Z
Mock Mock
Controller Service RepositoryX
Entrada
Saída
ServiceTest XTest
Y Z
X
Mock Mock
Controller Service RepositoryX
Entrada
Saída
BusinessTest
Entrada
Saída
Controller Service RepositoryX
Entrada
Saída
BusinessTest
Entrada
Saída
Mock
Controller Service RepositoryX
Entrada
Saída
BusinessTest
Entrada
Saída
Mock
Y Z
Teste Integrado
● Testar apenas a integração (comunicação) dos componentes
Pontos positivos
● O teste é feito por caixa-preta, ou seja, ao criar o build é garantido o
funcional do componente - tempo na ordem de segundos
● Refatoração do código não compromete o código de teste
○ Permite muita refatoração =D
● Minimiza o uso de mocks - “mocka” apenas o necessário
● Facilita a criação de small batches
Ponto negativo
● Se mudar a entrada e/ou saída do componente, terá uma grande
refatoração dos testes
O que precisa para alcançar Continuous Delivery?
● Alinhamento com a empresa ou área em que trabalha
● Apoio da gestão
● Cultura da Melhoria Contínua
● Agile Testing
● Small Batches
● Trunk-based
● Infraestrutura - (Jenkins)
Bibliografia
Conclusão
● Foque em práticas ágeis e não em ferramentas!
● Procure melhorar sempre, mesmo que seja um pouco por dia
● Coloque uma visão (desafio) para você e para o time
● Saia da sua zona de conforto
brigado

Mais conteúdo relacionado

Semelhante a A Jornada para o Continuous Delivery - Scrum Gathering Rio 2016

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 SoftwareCamilo Ribeiro
 
Minicurso - Teste de software (CACSI 2015)
Minicurso - Teste de software (CACSI 2015)Minicurso - Teste de software (CACSI 2015)
Minicurso - Teste de software (CACSI 2015)Vanilton Pinheiro
 
Paletra sobre TDD, ocorrida no #DevDojo
Paletra sobre TDD, ocorrida no #DevDojoPaletra sobre TDD, ocorrida no #DevDojo
Paletra sobre TDD, ocorrida no #DevDojoflavio1110
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven DevelopmentOtavio Augusto
 
Estratégias e Técnicas de Testes - Parte1
Estratégias e Técnicas de Testes - Parte1Estratégias e Técnicas de Testes - Parte1
Estratégias e Técnicas de Testes - Parte1Lorena Caldas
 
Minicurso - Técnicas de Teste e Automatização do Teste de Unidade XII SemanaT...
Minicurso - Técnicas de Teste e Automatização do Teste de Unidade XII SemanaT...Minicurso - Técnicas de Teste e Automatização do Teste de Unidade XII SemanaT...
Minicurso - Técnicas de Teste e Automatização do Teste de Unidade XII SemanaT...Claudinei Brito Junior
 
Teste de Software - Especialização Univem
Teste de Software - Especialização UnivemTeste de Software - Especialização Univem
Teste de Software - Especialização UnivemAndré Abe Vicente
 
Introdução a Programação Orientada a testes
Introdução a Programação Orientada a testesIntrodução a Programação Orientada a testes
Introdução a Programação Orientada a testesAndré Luiz Forchesatto
 
Introdução ao Teste de Software - Uma abordagem prática
Introdução ao Teste de Software - Uma abordagem práticaIntrodução ao Teste de Software - Uma abordagem prática
Introdução ao Teste de Software - Uma abordagem práticaFabrício Campos
 
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
 
Importância de Testes Automatizados para Continuous Delivery & DevOps
Importância de Testes Automatizados para Continuous Delivery & DevOpsImportância de Testes Automatizados para Continuous Delivery & DevOps
Importância de Testes Automatizados para Continuous Delivery & DevOpsSamanta Cicilia
 
Comunidade Ágil Netshoes - O que tem dado certo no time de Integração
Comunidade Ágil Netshoes - O que tem dado certo no time de IntegraçãoComunidade Ágil Netshoes - O que tem dado certo no time de Integração
Comunidade Ágil Netshoes - O que tem dado certo no time de IntegraçãoDenis Santos
 
Aula07_TesteSoftware_Parte1_semResposta.pdf
Aula07_TesteSoftware_Parte1_semResposta.pdfAula07_TesteSoftware_Parte1_semResposta.pdf
Aula07_TesteSoftware_Parte1_semResposta.pdfHoctairBernardino
 

Semelhante a A Jornada para o Continuous Delivery - Scrum Gathering Rio 2016 (20)

Unit test & TDD
Unit test & TDDUnit test & TDD
Unit test & TDD
 
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
 
Minicurso - Teste de software (CACSI 2015)
Minicurso - Teste de software (CACSI 2015)Minicurso - Teste de software (CACSI 2015)
Minicurso - Teste de software (CACSI 2015)
 
Paletra sobre TDD, ocorrida no #DevDojo
Paletra sobre TDD, ocorrida no #DevDojoPaletra sobre TDD, ocorrida no #DevDojo
Paletra sobre TDD, ocorrida no #DevDojo
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
 
Metricas ageis
Metricas ageisMetricas ageis
Metricas ageis
 
Estratégias e Técnicas de Testes - Parte1
Estratégias e Técnicas de Testes - Parte1Estratégias e Técnicas de Testes - Parte1
Estratégias e Técnicas de Testes - Parte1
 
Ctai Teste De Software Aula 1
Ctai Teste De Software Aula 1Ctai Teste De Software Aula 1
Ctai Teste De Software Aula 1
 
seissigmatrad.pdf
seissigmatrad.pdfseissigmatrad.pdf
seissigmatrad.pdf
 
Be React. Do Tests!
Be React. Do Tests!Be React. Do Tests!
Be React. Do Tests!
 
Minicurso - Técnicas de Teste e Automatização do Teste de Unidade XII SemanaT...
Minicurso - Técnicas de Teste e Automatização do Teste de Unidade XII SemanaT...Minicurso - Técnicas de Teste e Automatização do Teste de Unidade XII SemanaT...
Minicurso - Técnicas de Teste e Automatização do Teste de Unidade XII SemanaT...
 
Teste de Software - Especialização Univem
Teste de Software - Especialização UnivemTeste de Software - Especialização Univem
Teste de Software - Especialização Univem
 
Introdução a Programação Orientada a testes
Introdução a Programação Orientada a testesIntrodução a Programação Orientada a testes
Introdução a Programação Orientada a testes
 
Introdução ao design de teste de software
Introdução ao design de teste de softwareIntrodução ao design de teste de software
Introdução ao design de teste de software
 
Introdução ao Teste de Software - Uma abordagem prática
Introdução ao Teste de Software - Uma abordagem práticaIntrodução ao Teste de Software - Uma abordagem prática
Introdução ao Teste de Software - Uma abordagem prática
 
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...
 
Importância de Testes Automatizados para Continuous Delivery & DevOps
Importância de Testes Automatizados para Continuous Delivery & DevOpsImportância de Testes Automatizados para Continuous Delivery & DevOps
Importância de Testes Automatizados para Continuous Delivery & DevOps
 
Comunidade Ágil Netshoes - O que tem dado certo no time de Integração
Comunidade Ágil Netshoes - O que tem dado certo no time de IntegraçãoComunidade Ágil Netshoes - O que tem dado certo no time de Integração
Comunidade Ágil Netshoes - O que tem dado certo no time de Integração
 
Apresentação inícial testes ágeis
Apresentação inícial testes ágeisApresentação inícial testes ágeis
Apresentação inícial testes ágeis
 
Aula07_TesteSoftware_Parte1_semResposta.pdf
Aula07_TesteSoftware_Parte1_semResposta.pdfAula07_TesteSoftware_Parte1_semResposta.pdf
Aula07_TesteSoftware_Parte1_semResposta.pdf
 

A Jornada para o Continuous Delivery - Scrum Gathering Rio 2016