O documento discute como a empresa adotou o Cucumber para permitir um processo de Continuous Delivery. Isso permitiu que a empresa migrasse de um sistema monolítico para microserviços, aumentando a cobertura de testes, a velocidade de entrega e a qualidade do código. Ainda há desafios como melhorar as métricas de teste e a independência dos times.
1. Utilizando Cucumber para um ContinuousUtilizando Cucumber para um Continuous
DeliveryDelivery
RobsonAgapitoCorrea
18deMarçode2017
2. Robson Agapito
I love to work as QA
@robsonagapito
robsonagapito@gmail.com
http://www.slideshare.net/robsonagapito/
https://br.linkedin.com/in/robsonagapito
5. Qual a diferença para Continuous Deployment?Qual a diferença para Continuous Deployment?
6. Como era antes:Como era antes:
Monolito
Poucos 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
9. 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
10. Importância dos Testes:Importância dos Testes:
CLONECLONE CLEANCLEAN BUILDBUILD
RELEASERELEASE APPROVALAPPROVAL DEPLOY PRODDEPLOY PROD
DOC ITILDOC ITIL
INTEGRATIONINTEGRATION
TESTINGTESTING DEPLOY QADEPLOY QA
UNIT
UNIT
TESTING
TESTING
SMOKE TEST PRODSMOKE TEST PROD
19. 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 tinha
conhecimento 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.
20. Tem que melhorar:Tem que melhorar:
Métricas sobre cobertura de Testes
Utilização de técnicas de testes pelo desenvolvimento para evitar
desperdí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 a
empresa como um todo
Testes funcionais de UI no processo de delivery. (Happy Path)
Aprovação do Delivery após delivery de banco
Rollback Manual