Você está na página 1de 36

Testes em uma

startup do mundo
financeiro
@luiz_hespanha
Sobre o Nubank

Startup brasileira que est construindo


um banco totalmente digital do zero,
SEM USAR COBOL.

2
Pontos importantes sobre a palestra

Foco em testes para o backend.


No existe certo" ou errado,
apenas o processo que seguimos e
funciona para ns.

3
Pra comear j jogando a bomba

4
Processo

No temos um time de QA, to pouco


terceirizamos os testes para uma
consultoria.

5
Processo

Pair programming
Com outros DEVs e com pessoas
de negcio.

6
Processo

Linguagem ubqua

7
Processo

Pessoas de negcio DEVEM conseguir


ler e entender cdigo, especialmente
testes.

8
Exemplo de testes

9
Processo

Review de cdigo com o Github


Abertura de Pull Request ao fim
do desenvolvimento de uma
funcionalidade.

10
Review de verdade

11
Review de verdade

Todos revisam, inclusive pessoas de


negcio.

12
Quando um bug encontrado

Primeira coisa escrever um teste


que simule este bug.

13
Microservices

Monoltico Microservices

14
Por que isso importa para testes?

Em um ano e meio temos mais de


100k linhas de cdigo.

15
Por que isso importa para testes?

Garantir o isolamento das mudanas.

16
Dentro de cada servio

Testes unitrios
Regras de negcio.
Exercitar todos os cenrios
possveis do negcio.

17
Dentro de cada servio

Postman
Teste caixa preta do servio.
Exercitamos apenas os principais
cenrios de cada funcionalidade.

18
Dentro de cada servio

Uma vez que o Pull Request


mergeado" no MASTER

19
Dentro de cada servio

20
Juntando tudo

testes e2e
Integrao entre os servios.
Apenas o caminho feliz de cada
funcionalidade.
Simula o ambiente real.

21
e2e

22
visvel para todos

23
Alguns pontos importantes

Feedback "rpido"
Nossa sute roda em mdia em 10
minutos.

24
Alguns pontos importantes

Uma funcionalidade chega em PROD


aps 25 minutos em mdia, j
testada!

25
alguns pontos importantes

o e2e DOLOROSO.

26
Alguns pontos importantes

Se quebrar ningum coloca mais


nada em PROD.

27
Alguns pontos importantes

importante ter um dono" do e2e


que pega no p das pessoas que
podem ter quebrado" o e2e.

28
Alguns pontos importantes

No arrumou em 30 minutos,
reverte" o Pull Request que
provavelmente" quebrou o e2e.

29
Tratar cdigo de teste igual cdigo de produo

Comeou dar problemas, refatora.


Comeou a demorar, refatora.
Quebra de vez em quando, refatora
para deixar 100% e no quebrar
nunca.
30
to-stag

Testes manuais SE necessrio.

31
Alm de tudo isso

Certas funcionalidades de maior risco


so lanadas inicialmente para um
grupo controlado de usurios.

32
Alm de tudo isso

"Eating your own dog food

33
Nunca acaba

Aperfeioamento de todo o processo.

34
OBRIGADO!

35
Contatos

e-mail: luiz.hespanha@nubank.com.br
twitter: @luiz_hespanha
Temos VAGAS! Para + infos acessem:
http://www.nubank.com.br

36