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

Mais conteúdo relacionado

Mais procurados

Complicações, sucessos e
Complicações, sucessos eComplicações, sucessos e
Complicações, sucessos eClaudio Fleig
 
Cirurgia pré protética 2013
Cirurgia pré protética 2013Cirurgia pré protética 2013
Cirurgia pré protética 2013Guilherme Terra
 
Acidentes e Complicações em Cirurgia BMF
Acidentes e Complicações em Cirurgia BMFAcidentes e Complicações em Cirurgia BMF
Acidentes e Complicações em Cirurgia BMFprofguilhermeterra
 
Cirurgia periodontal rafael nobre
Cirurgia periodontal   rafael nobreCirurgia periodontal   rafael nobre
Cirurgia periodontal rafael nobreRafael Nobre
 
Síntese e técnicas sutura 2013
Síntese e técnicas sutura 2013Síntese e técnicas sutura 2013
Síntese e técnicas sutura 2013Guilherme Terra
 
Posicionamento e oclusão dental
Posicionamento e oclusão dentalPosicionamento e oclusão dental
Posicionamento e oclusão dentalThiara Cerqueira
 
Proteção do complexo dentino pulpar 2012-1
Proteção do complexo dentino pulpar 2012-1Proteção do complexo dentino pulpar 2012-1
Proteção do complexo dentino pulpar 2012-1Guilherme Terra
 
Tratamento das Urgências Endodônticas
Tratamento das Urgências Endodônticas  Tratamento das Urgências Endodônticas
Tratamento das Urgências Endodônticas Ines Jacyntho Inojosa
 
Prótese fixa adesiva 2
Prótese fixa adesiva 2Prótese fixa adesiva 2
Prótese fixa adesiva 2Rhuan
 
Diagnóstico das pulpopatias
Diagnóstico das pulpopatiasDiagnóstico das pulpopatias
Diagnóstico das pulpopatiasWedson Ferreira
 
Nomenclatura e classificação de cavidades
Nomenclatura e classificação de cavidadesNomenclatura e classificação de cavidades
Nomenclatura e classificação de cavidadesprofcelsoklein
 
LaZBoy Furniture - 2011 Spring/Summer Catalog
LaZBoy Furniture - 2011 Spring/Summer CatalogLaZBoy Furniture - 2011 Spring/Summer Catalog
LaZBoy Furniture - 2011 Spring/Summer CatalogLa Z Boy Furniture
 
Possíveis Complicações Durante o Acesso Endodôntico
Possíveis Complicações Durante o Acesso EndodônticoPossíveis Complicações Durante o Acesso Endodôntico
Possíveis Complicações Durante o Acesso EndodônticoAndré Milioli Martins
 
Aula Remoção manual impactação fecal (fecaloma)
Aula Remoção manual impactação fecal (fecaloma)Aula Remoção manual impactação fecal (fecaloma)
Aula Remoção manual impactação fecal (fecaloma)Viviane da Silva
 

Mais procurados (16)

Complicações, sucessos e
Complicações, sucessos eComplicações, sucessos e
Complicações, sucessos e
 
Cirurgia pré protética 2013
Cirurgia pré protética 2013Cirurgia pré protética 2013
Cirurgia pré protética 2013
 
Acidentes e Complicações em Cirurgia BMF
Acidentes e Complicações em Cirurgia BMFAcidentes e Complicações em Cirurgia BMF
Acidentes e Complicações em Cirurgia BMF
 
Cirurgia periodontal rafael nobre
Cirurgia periodontal   rafael nobreCirurgia periodontal   rafael nobre
Cirurgia periodontal rafael nobre
 
Síntese e técnicas sutura 2013
Síntese e técnicas sutura 2013Síntese e técnicas sutura 2013
Síntese e técnicas sutura 2013
 
Laparotomia e fechamento
Laparotomia e fechamentoLaparotomia e fechamento
Laparotomia e fechamento
 
Texto 5 odonto
Texto 5   odontoTexto 5   odonto
Texto 5 odonto
 
Posicionamento e oclusão dental
Posicionamento e oclusão dentalPosicionamento e oclusão dental
Posicionamento e oclusão dental
 
Proteção do complexo dentino pulpar 2012-1
Proteção do complexo dentino pulpar 2012-1Proteção do complexo dentino pulpar 2012-1
Proteção do complexo dentino pulpar 2012-1
 
Tratamento das Urgências Endodônticas
Tratamento das Urgências Endodônticas  Tratamento das Urgências Endodônticas
Tratamento das Urgências Endodônticas
 
Prótese fixa adesiva 2
Prótese fixa adesiva 2Prótese fixa adesiva 2
Prótese fixa adesiva 2
 
Diagnóstico das pulpopatias
Diagnóstico das pulpopatiasDiagnóstico das pulpopatias
Diagnóstico das pulpopatias
 
Nomenclatura e classificação de cavidades
Nomenclatura e classificação de cavidadesNomenclatura e classificação de cavidades
Nomenclatura e classificação de cavidades
 
LaZBoy Furniture - 2011 Spring/Summer Catalog
LaZBoy Furniture - 2011 Spring/Summer CatalogLaZBoy Furniture - 2011 Spring/Summer Catalog
LaZBoy Furniture - 2011 Spring/Summer Catalog
 
Possíveis Complicações Durante o Acesso Endodôntico
Possíveis Complicações Durante o Acesso EndodônticoPossíveis Complicações Durante o Acesso Endodôntico
Possíveis Complicações Durante o Acesso Endodôntico
 
Aula Remoção manual impactação fecal (fecaloma)
Aula Remoção manual impactação fecal (fecaloma)Aula Remoção manual impactação fecal (fecaloma)
Aula Remoção manual impactação fecal (fecaloma)
 

Semelhante a Testes em startup financeira

Implementing lean software development
Implementing lean software developmentImplementing lean software development
Implementing lean software developmentLuiz Faias Junior
 
Gestão ágil de projetos de software com Scrum 2.0 e Team Foundation Server e ...
Gestão ágil de projetos de software com Scrum 2.0 e Team Foundation Server e ...Gestão ágil de projetos de software com Scrum 2.0 e Team Foundation Server e ...
Gestão ágil de projetos de software com Scrum 2.0 e Team Foundation Server e ...Alvaro Brognoli
 
Como escrever apps de qualidade em qualquer arquitetura
Como escrever apps de qualidade em qualquer arquiteturaComo escrever apps de qualidade em qualquer arquitetura
Como escrever apps de qualidade em qualquer arquiteturaLeandro Alonso
 
O mínimo de Integração Contínua que todo projeto deveria ter
O mínimo de Integração Contínua que todo projeto deveria terO mínimo de Integração Contínua que todo projeto deveria ter
O mínimo de Integração Contínua que todo projeto deveria terÁtilla Silva Barros
 
Modelagem Ágil - UaiJug TechDays 2013 - Uberlândia MG
Modelagem Ágil - UaiJug TechDays 2013 - Uberlândia MGModelagem Ágil - UaiJug TechDays 2013 - Uberlândia MG
Modelagem Ágil - UaiJug TechDays 2013 - Uberlândia MGNeubio Ferreira
 
QAOps - O QA com pézinho em DevOps (Ministry of Testing Floripa 2019)
QAOps - O QA com pézinho em DevOps (Ministry of Testing Floripa 2019)QAOps - O QA com pézinho em DevOps (Ministry of Testing Floripa 2019)
QAOps - O QA com pézinho em DevOps (Ministry of Testing Floripa 2019)Mayara Fernandes
 
UnP Eng. Software - Aula 27
UnP Eng. Software - Aula 27UnP Eng. Software - Aula 27
UnP Eng. Software - Aula 27Hélio Medeiros
 
introxp-180413013250.pdf
introxp-180413013250.pdfintroxp-180413013250.pdf
introxp-180413013250.pdfPedroLuis216164
 
Por que testar é importante e algumas boas práticas
Por que testar é importante e algumas boas práticasPor que testar é importante e algumas boas práticas
Por que testar é importante e algumas boas práticasLucas Caton
 
Introdução à Programação Extrema (Extreme Programming - XP)
Introdução à Programação Extrema (Extreme Programming - XP)Introdução à Programação Extrema (Extreme Programming - XP)
Introdução à Programação Extrema (Extreme Programming - XP)Claudia Melo
 
Desenvolvimento de software: Mundo ideal x Mundo real
Desenvolvimento de software: Mundo ideal x Mundo realDesenvolvimento de software: Mundo ideal x Mundo real
Desenvolvimento de software: Mundo ideal x Mundo realHenrique Schmidt
 
Desenvolvimento de software mundo ideal x mundo real
Desenvolvimento de software  mundo ideal x mundo realDesenvolvimento de software  mundo ideal x mundo real
Desenvolvimento de software mundo ideal x mundo realWilly Salazar
 

Semelhante a Testes em startup financeira (20)

Extreme programming
Extreme programmingExtreme programming
Extreme programming
 
Implementing lean software development
Implementing lean software developmentImplementing lean software development
Implementing lean software development
 
Gestão ágil de projetos de software com Scrum 2.0 e Team Foundation Server e ...
Gestão ágil de projetos de software com Scrum 2.0 e Team Foundation Server e ...Gestão ágil de projetos de software com Scrum 2.0 e Team Foundation Server e ...
Gestão ágil de projetos de software com Scrum 2.0 e Team Foundation Server e ...
 
Como escrever apps de qualidade em qualquer arquitetura
Como escrever apps de qualidade em qualquer arquiteturaComo escrever apps de qualidade em qualquer arquitetura
Como escrever apps de qualidade em qualquer arquitetura
 
Teste automatizados e tdd
Teste automatizados e tddTeste automatizados e tdd
Teste automatizados e tdd
 
O mínimo de Integração Contínua que todo projeto deveria ter
O mínimo de Integração Contínua que todo projeto deveria terO mínimo de Integração Contínua que todo projeto deveria ter
O mínimo de Integração Contínua que todo projeto deveria ter
 
Modelagem Ágil - UaiJug TechDays 2013 - Uberlândia MG
Modelagem Ágil - UaiJug TechDays 2013 - Uberlândia MGModelagem Ágil - UaiJug TechDays 2013 - Uberlândia MG
Modelagem Ágil - UaiJug TechDays 2013 - Uberlândia MG
 
Introdução ao TDD
Introdução ao TDDIntrodução ao TDD
Introdução ao TDD
 
Introdução ao TDD
Introdução ao TDDIntrodução ao TDD
Introdução ao TDD
 
Testes unitários e Mocks
Testes unitários e MocksTestes unitários e Mocks
Testes unitários e Mocks
 
Seu código fede e você nem sabia
Seu código fede e você nem sabiaSeu código fede e você nem sabia
Seu código fede e você nem sabia
 
QAOps - O QA com pézinho em DevOps (Ministry of Testing Floripa 2019)
QAOps - O QA com pézinho em DevOps (Ministry of Testing Floripa 2019)QAOps - O QA com pézinho em DevOps (Ministry of Testing Floripa 2019)
QAOps - O QA com pézinho em DevOps (Ministry of Testing Floripa 2019)
 
Cultura de testes em times mobile
Cultura de testes em times mobileCultura de testes em times mobile
Cultura de testes em times mobile
 
Integração Contínua
Integração ContínuaIntegração Contínua
Integração Contínua
 
UnP Eng. Software - Aula 27
UnP Eng. Software - Aula 27UnP Eng. Software - Aula 27
UnP Eng. Software - Aula 27
 
introxp-180413013250.pdf
introxp-180413013250.pdfintroxp-180413013250.pdf
introxp-180413013250.pdf
 
Por que testar é importante e algumas boas práticas
Por que testar é importante e algumas boas práticasPor que testar é importante e algumas boas práticas
Por que testar é importante e algumas boas práticas
 
Introdução à Programação Extrema (Extreme Programming - XP)
Introdução à Programação Extrema (Extreme Programming - XP)Introdução à Programação Extrema (Extreme Programming - XP)
Introdução à Programação Extrema (Extreme Programming - XP)
 
Desenvolvimento de software: Mundo ideal x Mundo real
Desenvolvimento de software: Mundo ideal x Mundo realDesenvolvimento de software: Mundo ideal x Mundo real
Desenvolvimento de software: Mundo ideal x Mundo real
 
Desenvolvimento de software mundo ideal x mundo real
Desenvolvimento de software  mundo ideal x mundo realDesenvolvimento de software  mundo ideal x mundo real
Desenvolvimento de software mundo ideal x mundo real
 

Testes em startup financeira