Utilizando Cucumber para um Continuous Delivery

Preview:

Citation preview

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

Robson AgapitoI love to work as QA

@robsonagapito

robsonagapito@gmail.com

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

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

Continuous DeliveryContinuous Delivery

Continuous IntegrationContinuous Integration

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

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

Micro ServiçoMicro Serviço

Nosso negócio:Nosso negócio:

MonolitoMonolito

Micro ServiçoMicro Serviço

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

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

INTEGRATION TESTINGINTEGRATION TESTING

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

Processo de Delivery:Processo de Delivery:

PULL REQUESTPULL REQUEST MERGEMERGE

Cobertura de TestesCobertura de Testes

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

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

Testing TechniquesTesting Techniques

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.

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

Exemplo PráticoExemplo Prático

Dúvidas?

Robson Agapito Correarobsonagapito@gmail.com

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

Muito Obrigado!

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