Download - Testes em uma startup do mundo financeiro
![Page 1: Testes em uma startup do mundo financeiro](https://reader030.vdocuments.com.br/reader030/viewer/2022020111/55cf6e2fbb61eb0c088b462e/html5/thumbnails/1.jpg)
@luiz_hespanha
Testes em uma startup do mundo financeiro
![Page 2: Testes em uma startup do mundo financeiro](https://reader030.vdocuments.com.br/reader030/viewer/2022020111/55cf6e2fbb61eb0c088b462e/html5/thumbnails/2.jpg)
2
Sobre o Nubank
Startup brasileira que está construindo um banco totalmente digital do zero, SEM USAR COBOL.
![Page 3: Testes em uma startup do mundo financeiro](https://reader030.vdocuments.com.br/reader030/viewer/2022020111/55cf6e2fbb61eb0c088b462e/html5/thumbnails/3.jpg)
Pontos importantes sobre a palestra
3
• Foco em testes para o backend.
• Não existe “certo" ou “errado”, é apenas o processo que seguimos e funciona para nós.
![Page 4: Testes em uma startup do mundo financeiro](https://reader030.vdocuments.com.br/reader030/viewer/2022020111/55cf6e2fbb61eb0c088b462e/html5/thumbnails/4.jpg)
Pra começar já jogando a bomba…
4
![Page 5: Testes em uma startup do mundo financeiro](https://reader030.vdocuments.com.br/reader030/viewer/2022020111/55cf6e2fbb61eb0c088b462e/html5/thumbnails/5.jpg)
Processo
5
Não temos um time de QA, tão pouco terceirizamos os testes para uma consultoria.
![Page 6: Testes em uma startup do mundo financeiro](https://reader030.vdocuments.com.br/reader030/viewer/2022020111/55cf6e2fbb61eb0c088b462e/html5/thumbnails/6.jpg)
Processo
6
• Pair programming • Com outros DEVs e com pessoas
de negócio.
![Page 7: Testes em uma startup do mundo financeiro](https://reader030.vdocuments.com.br/reader030/viewer/2022020111/55cf6e2fbb61eb0c088b462e/html5/thumbnails/7.jpg)
Processo
7
Linguagem ubíqua
![Page 8: Testes em uma startup do mundo financeiro](https://reader030.vdocuments.com.br/reader030/viewer/2022020111/55cf6e2fbb61eb0c088b462e/html5/thumbnails/8.jpg)
Processo
8
Pessoas de negócio DEVEM conseguir ler e entender código, especialmente testes.
![Page 9: Testes em uma startup do mundo financeiro](https://reader030.vdocuments.com.br/reader030/viewer/2022020111/55cf6e2fbb61eb0c088b462e/html5/thumbnails/9.jpg)
Exemplo de testes
9
![Page 10: Testes em uma startup do mundo financeiro](https://reader030.vdocuments.com.br/reader030/viewer/2022020111/55cf6e2fbb61eb0c088b462e/html5/thumbnails/10.jpg)
Processo
10
• Review de código com o Github • Abertura de “Pull Request” ao fim
do desenvolvimento de uma funcionalidade.
![Page 11: Testes em uma startup do mundo financeiro](https://reader030.vdocuments.com.br/reader030/viewer/2022020111/55cf6e2fbb61eb0c088b462e/html5/thumbnails/11.jpg)
Review de verdade
11
![Page 12: Testes em uma startup do mundo financeiro](https://reader030.vdocuments.com.br/reader030/viewer/2022020111/55cf6e2fbb61eb0c088b462e/html5/thumbnails/12.jpg)
Review de verdade
12
• Todos revisam, inclusive pessoas de negócio.
![Page 13: Testes em uma startup do mundo financeiro](https://reader030.vdocuments.com.br/reader030/viewer/2022020111/55cf6e2fbb61eb0c088b462e/html5/thumbnails/13.jpg)
Quando um bug é encontrado
13
• Primeira coisa é escrever um teste que simule este bug.
![Page 14: Testes em uma startup do mundo financeiro](https://reader030.vdocuments.com.br/reader030/viewer/2022020111/55cf6e2fbb61eb0c088b462e/html5/thumbnails/14.jpg)
Microservices
14
Monolítico Microservices
![Page 15: Testes em uma startup do mundo financeiro](https://reader030.vdocuments.com.br/reader030/viewer/2022020111/55cf6e2fbb61eb0c088b462e/html5/thumbnails/15.jpg)
Por que isso importa para testes?
15
• Em um ano e meio temos mais de 100k linhas de código.
![Page 16: Testes em uma startup do mundo financeiro](https://reader030.vdocuments.com.br/reader030/viewer/2022020111/55cf6e2fbb61eb0c088b462e/html5/thumbnails/16.jpg)
Por que isso importa para testes?
16
• Garantir o isolamento das mudanças.
![Page 17: Testes em uma startup do mundo financeiro](https://reader030.vdocuments.com.br/reader030/viewer/2022020111/55cf6e2fbb61eb0c088b462e/html5/thumbnails/17.jpg)
Dentro de cada serviço
17
• Testes unitários • Regras de negócio. • Exercitar todos os cenários
possíveis do negócio.
![Page 18: Testes em uma startup do mundo financeiro](https://reader030.vdocuments.com.br/reader030/viewer/2022020111/55cf6e2fbb61eb0c088b462e/html5/thumbnails/18.jpg)
Dentro de cada serviço
18
• Postman • Teste caixa preta do serviço. • Exercitamos apenas os principais
cenários de cada funcionalidade.
![Page 19: Testes em uma startup do mundo financeiro](https://reader030.vdocuments.com.br/reader030/viewer/2022020111/55cf6e2fbb61eb0c088b462e/html5/thumbnails/19.jpg)
Dentro de cada serviço
19
• Uma vez que o “Pull Request” é “mergeado" no “MASTER”…
![Page 20: Testes em uma startup do mundo financeiro](https://reader030.vdocuments.com.br/reader030/viewer/2022020111/55cf6e2fbb61eb0c088b462e/html5/thumbnails/20.jpg)
Dentro de cada serviço
20
![Page 21: Testes em uma startup do mundo financeiro](https://reader030.vdocuments.com.br/reader030/viewer/2022020111/55cf6e2fbb61eb0c088b462e/html5/thumbnails/21.jpg)
Juntando tudo
21
• testes e2e • Integração entre os serviços. • Apenas o caminho feliz de cada
funcionalidade. • Simula o ambiente real.
![Page 22: Testes em uma startup do mundo financeiro](https://reader030.vdocuments.com.br/reader030/viewer/2022020111/55cf6e2fbb61eb0c088b462e/html5/thumbnails/22.jpg)
e2e
22
![Page 23: Testes em uma startup do mundo financeiro](https://reader030.vdocuments.com.br/reader030/viewer/2022020111/55cf6e2fbb61eb0c088b462e/html5/thumbnails/23.jpg)
visível para todos
23
![Page 24: Testes em uma startup do mundo financeiro](https://reader030.vdocuments.com.br/reader030/viewer/2022020111/55cf6e2fbb61eb0c088b462e/html5/thumbnails/24.jpg)
Alguns pontos importantes
24
• Feedback "rápido" • Nossa suíte roda em média em 10
minutos.
![Page 25: Testes em uma startup do mundo financeiro](https://reader030.vdocuments.com.br/reader030/viewer/2022020111/55cf6e2fbb61eb0c088b462e/html5/thumbnails/25.jpg)
Alguns pontos importantes
25
• Uma funcionalidade chega em PROD após 25 minutos em média, já testada!
![Page 26: Testes em uma startup do mundo financeiro](https://reader030.vdocuments.com.br/reader030/viewer/2022020111/55cf6e2fbb61eb0c088b462e/html5/thumbnails/26.jpg)
alguns pontos importantes
26
• o e2e é DOLOROSO.
![Page 27: Testes em uma startup do mundo financeiro](https://reader030.vdocuments.com.br/reader030/viewer/2022020111/55cf6e2fbb61eb0c088b462e/html5/thumbnails/27.jpg)
Alguns pontos importantes
27
• Se quebrar ninguém coloca mais nada em PROD.
![Page 28: Testes em uma startup do mundo financeiro](https://reader030.vdocuments.com.br/reader030/viewer/2022020111/55cf6e2fbb61eb0c088b462e/html5/thumbnails/28.jpg)
Alguns pontos importantes
28
• É importante ter um “dono" do e2e que pega no pé das pessoas que podem ter “quebrado" o e2e.
![Page 29: Testes em uma startup do mundo financeiro](https://reader030.vdocuments.com.br/reader030/viewer/2022020111/55cf6e2fbb61eb0c088b462e/html5/thumbnails/29.jpg)
Alguns pontos importantes
29
• Não arrumou em 30 minutos, “reverte" o Pull Request que “provavelmente" quebrou o e2e.
![Page 30: Testes em uma startup do mundo financeiro](https://reader030.vdocuments.com.br/reader030/viewer/2022020111/55cf6e2fbb61eb0c088b462e/html5/thumbnails/30.jpg)
Tratar código de teste igual código de produção
30
• Começou dar problemas, refatora. • Começou a demorar, refatora. • Quebra de vez em quando, refatora
para deixar 100% e não quebrar nunca.
![Page 31: Testes em uma startup do mundo financeiro](https://reader030.vdocuments.com.br/reader030/viewer/2022020111/55cf6e2fbb61eb0c088b462e/html5/thumbnails/31.jpg)
to-stag
31
Testes manuais SE necessário.
![Page 32: Testes em uma startup do mundo financeiro](https://reader030.vdocuments.com.br/reader030/viewer/2022020111/55cf6e2fbb61eb0c088b462e/html5/thumbnails/32.jpg)
Além de tudo isso…
32
Certas funcionalidades de maior risco são lançadas inicialmente para um grupo controlado de usuários.
![Page 33: Testes em uma startup do mundo financeiro](https://reader030.vdocuments.com.br/reader030/viewer/2022020111/55cf6e2fbb61eb0c088b462e/html5/thumbnails/33.jpg)
Além de tudo isso…
33
"Eating your own dog food”
![Page 34: Testes em uma startup do mundo financeiro](https://reader030.vdocuments.com.br/reader030/viewer/2022020111/55cf6e2fbb61eb0c088b462e/html5/thumbnails/34.jpg)
Nunca acaba…
34
Aperfeiçoamento de todo o processo.
![Page 35: Testes em uma startup do mundo financeiro](https://reader030.vdocuments.com.br/reader030/viewer/2022020111/55cf6e2fbb61eb0c088b462e/html5/thumbnails/35.jpg)
35
OBRIGADO!
![Page 36: Testes em uma startup do mundo financeiro](https://reader030.vdocuments.com.br/reader030/viewer/2022020111/55cf6e2fbb61eb0c088b462e/html5/thumbnails/36.jpg)
36
Contatos
e-mail: [email protected] twitter: @luiz_hespanha
Temos VAGAS! Para + infos acessem: http://www.nubank.com.br