a desenvolver um mindset de qualidade e entregar software livre de erros para que eles possam se tornar os melhores profissionals 🏢 Backbase 👨💻 Principal Software Engineer 📍 Utrecht, the Netherlands 🌐 eliasnogueira.com 🐦 @eliasnogueira bit.ly/eliasnogueira
ESTÁ TENTANDO IMPLEMENTAR A ABORDAGEM SHIFT- LEFT DE UMA PERSPECTIVA TÉCNICA. ISTO VAI MOSTRAR A NOSSA ABORDAGEM, LUTAS E O QUE PODEMOS VER É UMA BOA PRÁTICA BASEADA NO NOSSO CONTEXTO.
Executamos testes (excluindo unit e integration) em ondas porque nós temos diferentes dependências internas entre microserviços. Os testes são executados em 3 ondas: Onda 1: principais microserviços Onda 2: microserviços mais importantes (perspectiva do cliente) Onde 3: demais microserviços Tempo para release: 1 semana
nós queremos Queremos nos livrar do processo “em ondas” (intermediário entre CI/CD) e aplicar a abordagem de Sift-Left Testing para ter um CD (Continuous Deployment): Sem mais 1 semana de release Branch principal “ready to production” ”True” Continuous Delivery
> Testers Trabalho em conjunto: todos somos engenheiros de software QE’s trabalhando próximo a todas as áreas QE como papel técnico Conhecimentos em 4 linguagens (Java, Typescript, Grooby, Bash) Experiência em 4 domínios Qualidade DevOps Frontend Backend
(sim, em todos os níveis) Definimos, em conjunto, o nível adequado Grande foco em testes nas APIs Todo trabalho manual é transformado em um script Testes pelos QEs são feito em paralelo com o desenvolvimento, não depois de pronto
dos testes em todos os níveis nós entendemos que: Precisávamos de uma ingestão de dados mais rápida Alguns testes devem ficar em layers específicas, sem duplicidades Uso inteligente de pre e pos condições de teste Evitar ao máximo steps desnecessários
criação de ambientes efêmeros usando Kubernetes (helm) Isso nos ajuda a criar ambientes “on the fly” de 3 a 5 minutos, baseados em: Qualquer versão anterior Desenvolvimento corrente Imagens docker baseadas em branchs de desenvolvimento
Integration Database API Web Backend | Frontend Engineer Backend Engineer Frontend Engineer Quality Engineer Quality Engineer Quality Engineer Quality Engineer Sim, QEs também escrevem e revisam testes de integração, movendo testes funcionais para a camada de integração
Integration Database API Web Backend | Frontend Engineer Automatico Quality Engineer Quality Engineer Backend Engineer Frontend Engineer Quality Engineer Testes executados automaticamente durante o processo de merge
Integration Database API Web Backend | Frontend Engineer Quality Engineer Quality Engineer Quality Engineer Backend Engineer Frontend Engineer Quality Engineer Execução mais rápido por ter movido os testes de integração e revisado problemas estruturais (pre e pos condições)