24
Utilizando Cucumber para um Continuous Utilizando Cucumber para um Continuous Delivery Delivery R o b s o n A g a p i t o C o r r e a 1 8 d e M a r ç o d e 2 0 1 7

Utilizando Cucumber para um Continuous Delivery

Embed Size (px)

Citation preview

Page 1: Utilizando Cucumber para um Continuous Delivery

Utilizando Cucumber para um ContinuousUtilizando Cucumber para um ContinuousDeliveryDelivery

Ro

bs

on

Ag

apit

o C

orr

ea18

de

Mar

ço d

e 20

17

Page 2: Utilizando Cucumber para um Continuous Delivery

Robson AgapitoI love to work as QA

@robsonagapito

[email protected]

http://www.slideshare.net/robsonagapito/

https://br.linkedin.com/in/robsonagapito

Page 3: Utilizando Cucumber para um Continuous Delivery

Continuous DeliveryContinuous Delivery

Page 4: Utilizando Cucumber para um Continuous Delivery

Continuous IntegrationContinuous Integration

Page 5: Utilizando Cucumber para um Continuous Delivery

Qual a diferença para Continuous Deployment?Qual a diferença para Continuous Deployment?

Page 6: Utilizando Cucumber para um Continuous Delivery

Como era antes:Como era antes:

MonolitoPoucos Testes Unitários

Código complexo

Muitos testes funcionais intermitentes

Muitos testes manuais

Demora na Entrega

Muitas pessoas mexendo no mesmo ponto

Código com muitos donos

Page 7: Utilizando Cucumber para um Continuous Delivery

Micro ServiçoMicro Serviço

Page 8: Utilizando Cucumber para um Continuous Delivery

Nosso negócio:Nosso negócio:

MonolitoMonolito

Micro ServiçoMicro Serviço

Page 9: Utilizando Cucumber para um Continuous Delivery

Vantagens:Vantagens:

Podemos relizar o delivery a qualquer momento

Bugs identificados mais rápidos

Bugs corrigidos mais rápidos

Alteração de regras de negócios podem ser realizadas com maior agilidade

Processo se tornou mais ágil

Planejamento semanal

Time se tornou DevOps

Mais testes unitários (possibilidade de realizar TDD)

Mais testes integrados e funcionais (possibilidade de realizar BDD)

Todos ficaram responsáveis pela qualidade

Time mais independente

Time ficou responsável/dono do código desenvolvido

Time entregando mais e com mais agilidade

Melhoria constante no Quadro de Kanban e nos Processos

Page 10: Utilizando Cucumber para um Continuous Delivery

Importância dos Testes:Importância dos Testes:

CLONECLONE CLEANCLEAN BUILDBUILD

RELEASERELEASE APPROVALAPPROVAL DEPLOY PRODDEPLOY PROD

DOC ITILDOC ITIL

INTEGRATIONINTEGRATIONTESTINGTESTING DEPLOY QADEPLOY QA

UNITUNIT

TESTING

TESTING

SMOKE TEST PRODSMOKE TEST PROD

Page 11: Utilizando Cucumber para um Continuous Delivery

INTEGRATION TESTINGINTEGRATION TESTING

Page 12: Utilizando Cucumber para um Continuous Delivery
Page 13: Utilizando Cucumber para um Continuous Delivery

Importância do Banco de Dados:Importância do Banco de Dados:

CLONECLONE CLEANCLEAN BUILDBUILD

RELEASERELEASE APPROVALAPPROVAL

DOC ITILDOC ITIL

DEPLOY QADEPLOY QA

SMOKE TEST PRODSMOKE TEST PROD

DELIVERY BANCOQA

DELIVERY BANCOPROD DEPLOY PRODDEPLOY PROD

UNITUNIT

TESTING

TESTING

INTEGRATIONINTEGRATIONTESTINGTESTING

Page 14: Utilizando Cucumber para um Continuous Delivery
Page 15: Utilizando Cucumber para um Continuous Delivery

Processo de Delivery:Processo de Delivery:

PULL REQUESTPULL REQUEST MERGEMERGE

Page 16: Utilizando Cucumber para um Continuous Delivery

Cobertura de TestesCobertura de Testes

Page 17: Utilizando Cucumber para um Continuous Delivery

Unit Testing => 25%Unit Testing => 25%

Integration Testing => ??%Integration Testing => ??%

Page 18: Utilizando Cucumber para um Continuous Delivery

Testing TechniquesTesting Techniques

Page 19: Utilizando Cucumber para um Continuous Delivery

Dificuldades:Dificuldades:

Falta da confiança da equipe de banco

Ambiente do Mesos era um pouco instável, por ser algo novo.

Não ter certeza da cobertura dos testes

Confiança inicial da área de negócios

Não ter um P.O. no início

Confiança da equipe de operações

Não tínhamos acesso a produção, mas somente a gente tinhaconhecimento para agir se necessário

Falta de Endomarketing do time

Sonar neste momento mais atrapalhou que ajudou

A configuração do Sonar estava com a criticidade equivocada,precisaria de um tempo enorme para configurar o mesmo.

Page 20: Utilizando Cucumber para um Continuous Delivery

Tem que melhorar:Tem que melhorar:

Métricas sobre cobertura de Testes

Utilização de técnicas de testes pelo desenvolvimento para evitardesperdício de tempo

Testes após o deploy

Ambiente será cada vez mais crítico para suportar tantos deliveries

A independência as vezes faz o time olhar mais o seu lado e não para aempresa como um todo

Testes funcionais de UI no processo de delivery. (Happy Path)

Aprovação do Delivery após delivery de banco

Rollback Manual

Page 21: Utilizando Cucumber para um Continuous Delivery

Exemplo PráticoExemplo Prático

Page 22: Utilizando Cucumber para um Continuous Delivery

Dúvidas?

Page 23: Utilizando Cucumber para um Continuous Delivery

Robson Agapito [email protected]

http://pt.slideshare.net/robsonagapitohttps://github.com/robsonagapito

Muito Obrigado!

Page 24: Utilizando Cucumber para um Continuous Delivery

Utilizando Cucumber para um ContinuousUtilizando Cucumber para um ContinuousDeliveryDelivery

Ro

bs

on

Ag

apit

o C

orr

ea18

de

Mar

ço d

e 20

17