Post on 20-Mar-2017
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