50
Globalcode – Open4education domingo, 21 de outubro de 2012

Lições do futuro: o que eu queria saber há alguns anos atrás sobre como manter uma suíte de testes

Embed Size (px)

DESCRIPTION

Será que é tão simples como anunciado a criação e manutenção de uma suíte de testes em um problema real?

Citation preview

Page 1: Lições do futuro: o que eu queria saber há alguns anos atrás sobre como manter uma suíte de testes

Globalcode  –  Open4education

domingo, 21 de outubro de 2012

Page 2: Lições do futuro: o que eu queria saber há alguns anos atrás sobre como manter uma suíte de testes

Globalcode  –  Open4education

@ederign

@flsusp

domingo, 21 de outubro de 2012

Page 3: Lições do futuro: o que eu queria saber há alguns anos atrás sobre como manter uma suíte de testes

Globalcode  –  Open4education

Lições do Futuro: O que eu queria saber há alguns anos atrás

sobre como manter uma suíte de testesdomingo, 21 de outubro de 2012

Page 4: Lições do futuro: o que eu queria saber há alguns anos atrás sobre como manter uma suíte de testes

Globalcode  –  Open4education

Maior grupo financeiro de câmbio do Brasil

domingo, 21 de outubro de 2012

Page 5: Lições do futuro: o que eu queria saber há alguns anos atrás sobre como manter uma suíte de testes

Globalcode  –  Open4education

domingo, 21 de outubro de 2012

Page 6: Lições do futuro: o que eu queria saber há alguns anos atrás sobre como manter uma suíte de testes

Globalcode  –  Open4education

domingo, 21 de outubro de 2012

Page 7: Lições do futuro: o que eu queria saber há alguns anos atrás sobre como manter uma suíte de testes

Globalcode  –  Open4education

domingo, 21 de outubro de 2012

Page 8: Lições do futuro: o que eu queria saber há alguns anos atrás sobre como manter uma suíte de testes

Globalcode  –  Open4education

domingo, 21 de outubro de 2012

Page 9: Lições do futuro: o que eu queria saber há alguns anos atrás sobre como manter uma suíte de testes

Globalcode  –  Open4education

Qualidade não é negociável!!!

Você tem o direito de fazer certo!

domingo, 21 de outubro de 2012

Page 10: Lições do futuro: o que eu queria saber há alguns anos atrás sobre como manter uma suíte de testes

Globalcode  –  Open4education

Testes Unitários

Testes de Integração

domingo, 21 de outubro de 2012

Page 11: Lições do futuro: o que eu queria saber há alguns anos atrás sobre como manter uma suíte de testes

Globalcode  –  Open4education

BDD

Desenvolvimento de Framework Próprio

domingo, 21 de outubro de 2012

Page 12: Lições do futuro: o que eu queria saber há alguns anos atrás sobre como manter uma suíte de testes

Globalcode  –  Open4education

Testes Funcionais

domingo, 21 de outubro de 2012

Page 13: Lições do futuro: o que eu queria saber há alguns anos atrás sobre como manter uma suíte de testes

Globalcode  –  Open4education

BDD + Testes Funcionais

+

domingo, 21 de outubro de 2012

Page 14: Lições do futuro: o que eu queria saber há alguns anos atrás sobre como manter uma suíte de testes

Globalcode  –  Open4education

Abandono Testes Integração

domingo, 21 de outubro de 2012

Page 15: Lições do futuro: o que eu queria saber há alguns anos atrás sobre como manter uma suíte de testes

Globalcode  –  Open4education

Alta taxa de Cobertura

domingo, 21 de outubro de 2012

Page 16: Lições do futuro: o que eu queria saber há alguns anos atrás sobre como manter uma suíte de testes

Globalcode  –  Open4education

Deploy 3x/SemanaPlataforma Bancária

domingo, 21 de outubro de 2012

Page 17: Lições do futuro: o que eu queria saber há alguns anos atrás sobre como manter uma suíte de testes

Globalcode  –  Open4education

Cliente Feliz4 anos de projeto (~12 pessoas)

domingo, 21 de outubro de 2012

Page 18: Lições do futuro: o que eu queria saber há alguns anos atrás sobre como manter uma suíte de testes

Globalcode  –  Open4education

“Continuous Delivery”#osDevPira

domingo, 21 de outubro de 2012

Page 19: Lições do futuro: o que eu queria saber há alguns anos atrás sobre como manter uma suíte de testes

Globalcode  –  Open4education

Explosão na Quantidade de Testes Funcionais

domingo, 21 de outubro de 2012

Page 20: Lições do futuro: o que eu queria saber há alguns anos atrás sobre como manter uma suíte de testes

Globalcode  –  Open4education

Lentidão na execução da suíte de testes

domingo, 21 de outubro de 2012

Page 21: Lições do futuro: o que eu queria saber há alguns anos atrás sobre como manter uma suíte de testes

Globalcode  –  Open4education

Time Triste

domingo, 21 de outubro de 2012

Page 22: Lições do futuro: o que eu queria saber há alguns anos atrás sobre como manter uma suíte de testes

Globalcode  –  Open4education

Onde erramos?

Como saber se minha suíte de testes não está indo para o buraco?

domingo, 21 de outubro de 2012

Page 23: Lições do futuro: o que eu queria saber há alguns anos atrás sobre como manter uma suíte de testes

Globalcode  –  Open4education

Bugs em Produção

Seus testes não passam?

Você não tem testes?

domingo, 21 de outubro de 2012

Page 24: Lições do futuro: o que eu queria saber há alguns anos atrás sobre como manter uma suíte de testes

Globalcode  –  Open4education

Seus testes passam?

Você não está testando a funcionalidade certa!

Você não está testando o sistema correto

Bugs em Produção

domingo, 21 de outubro de 2012

Page 25: Lições do futuro: o que eu queria saber há alguns anos atrás sobre como manter uma suíte de testes

Globalcode  –  Open4education

Em produção funciona?

Você não está testando o sistema certo!

Teste quebra

domingo, 21 de outubro de 2012

Page 26: Lições do futuro: o que eu queria saber há alguns anos atrás sobre como manter uma suíte de testes

Globalcode  –  Open4education

Funcionalidade é alterada

Seu teste passa sem precisar de alteração?

Você não está testando a funcionalidade correta!

domingo, 21 de outubro de 2012

Page 27: Lições do futuro: o que eu queria saber há alguns anos atrás sobre como manter uma suíte de testes

Globalcode  –  Open4education

Você corrige um defeito

Seu teste passa a quebrar?

Você não está focando seus testes na funcionalidade e sim no sistema

domingo, 21 de outubro de 2012

Page 28: Lições do futuro: o que eu queria saber há alguns anos atrás sobre como manter uma suíte de testes

Globalcode  –  Open4education

Você altera o sistema

Não tem feedback rápido dos testes?

domingo, 21 de outubro de 2012

Page 29: Lições do futuro: o que eu queria saber há alguns anos atrás sobre como manter uma suíte de testes

Globalcode  –  Open4education

Você tem um problema arquitetural nos seus testes!

Você não vai rodar a sua suíte! (sob pressão)

domingo, 21 de outubro de 2012

Page 30: Lições do futuro: o que eu queria saber há alguns anos atrás sobre como manter uma suíte de testes

Globalcode  –  Open4education

Você faz uma pequena alteração no sistema

É difícil identificar um teste que possa ser rodado agora?

É difícil identificar qual teste foi afetado?

domingo, 21 de outubro de 2012

Page 31: Lições do futuro: o que eu queria saber há alguns anos atrás sobre como manter uma suíte de testes

Globalcode  –  Open4education

Você não vai testar a funcionalidade e nem rodar a suíte completa porque ela é lenta

Você vai implantar com a suíte quebrada

domingo, 21 de outubro de 2012

Page 32: Lições do futuro: o que eu queria saber há alguns anos atrás sobre como manter uma suíte de testes

Globalcode  –  Open4education

Você vai demorar para identificar o que quebrou

Você vai implantar em produção com a sua suíte

quebrada

Pequena alteração, muitos testes quebram?

domingo, 21 de outubro de 2012

Page 33: Lições do futuro: o que eu queria saber há alguns anos atrás sobre como manter uma suíte de testes

Globalcode  –  Open4education

Mas quais são as características de uma boa suíte de testes?

domingo, 21 de outubro de 2012

Page 34: Lições do futuro: o que eu queria saber há alguns anos atrás sobre como manter uma suíte de testes

Globalcode  –  Open4education

Uma boa suíte de testes é qualquer suíte de testes que não tenha os

problemas apresentados!

domingo, 21 de outubro de 2012

Page 35: Lições do futuro: o que eu queria saber há alguns anos atrás sobre como manter uma suíte de testes

Globalcode  –  Open4education

Mas e se eu tivesse uma máquina do tempo?

domingo, 21 de outubro de 2012

Page 36: Lições do futuro: o que eu queria saber há alguns anos atrás sobre como manter uma suíte de testes

Globalcode  –  Open4education

Não existe bala de prata

domingo, 21 de outubro de 2012

Page 37: Lições do futuro: o que eu queria saber há alguns anos atrás sobre como manter uma suíte de testes

Globalcode  –  Open4education

Mas o que talvez (provavelmente) funcione?

domingo, 21 de outubro de 2012

Page 38: Lições do futuro: o que eu queria saber há alguns anos atrás sobre como manter uma suíte de testes

3 F’s - Corey Haines

FastCiclo TDD - < 1 min

Ciclo Integração - rápido o suficiente Suíte Lenta == Builds Quebradas

FocusedUm Teste = Uma Razão pra Mudança

Feedback Rápido

FullCobrir o maior % possível do sistema

domingo, 21 de outubro de 2012

Page 39: Lições do futuro: o que eu queria saber há alguns anos atrás sobre como manter uma suíte de testes

Código de teste é tão importante quanto código de produção

Testes bem escritos e em grupos pequenos no mesmo contexto

Toda a equipe deve escrever a suíte de testes

domingo, 21 de outubro de 2012

Page 40: Lições do futuro: o que eu queria saber há alguns anos atrás sobre como manter uma suíte de testes

Consistente e Confiável

A sua suíte de testes deve conquistar a confiança da sua equipe, do seu gerente e do cliente

domingo, 21 de outubro de 2012

Page 41: Lições do futuro: o que eu queria saber há alguns anos atrás sobre como manter uma suíte de testes

“Isolada”

Um teste não pode influenciar o resultado de outro

Feedback Rápido

domingo, 21 de outubro de 2012

Page 42: Lições do futuro: o que eu queria saber há alguns anos atrás sobre como manter uma suíte de testes

Duráveis

Mantém seu valor durante toda a vida do produto

domingo, 21 de outubro de 2012

Page 43: Lições do futuro: o que eu queria saber há alguns anos atrás sobre como manter uma suíte de testes

Documentação

Testes servem como documentação (são a melhor documentação que

você vai ter)

Documentação viva, especificação executável.

Testes devem informar a intenção de um desenvolvedor

domingo, 21 de outubro de 2012

Page 44: Lições do futuro: o que eu queria saber há alguns anos atrás sobre como manter uma suíte de testes

domingo, 21 de outubro de 2012

Page 45: Lições do futuro: o que eu queria saber há alguns anos atrás sobre como manter uma suíte de testes

Foque a cobertura nas funcionalidades que mudam com

maior frequência

Faça testes para os bugs em produção - você automaticamente

estará testando o mais crítico

domingo, 21 de outubro de 2012

Page 46: Lições do futuro: o que eu queria saber há alguns anos atrás sobre como manter uma suíte de testes

Não deixe o teste para o final

Não rode a suíte somente antes de gerar a versão

Faça integração contínua

Não se preocupe com a performance de execução de um teste, mas sim, com o paralelismo e concorrência.

domingo, 21 de outubro de 2012

Page 47: Lições do futuro: o que eu queria saber há alguns anos atrás sobre como manter uma suíte de testes

Mas o que é mais importante?

domingo, 21 de outubro de 2012

Page 48: Lições do futuro: o que eu queria saber há alguns anos atrás sobre como manter uma suíte de testes

Globalcode  –  Open4education

Possuir uma suíte de testes

domingo, 21 de outubro de 2012

Page 49: Lições do futuro: o que eu queria saber há alguns anos atrás sobre como manter uma suíte de testes

Globalcode  –  Open4education

Saber se sua suíte está indo para o buraco

domingo, 21 de outubro de 2012

Page 50: Lições do futuro: o que eu queria saber há alguns anos atrás sobre como manter uma suíte de testes

Globalcode  –  Open4education

@flsusp@ederign

domingo, 21 de outubro de 2012