lições do futuro: o que eu queria saber há alguns anos atrás sobre como manter uma suíte de...
DESCRIPTION
Será que é tão simples como anunciado a criação e manutenção de uma suíte de testes em um problema real?TRANSCRIPT
Globalcode – Open4education
domingo, 21 de outubro de 2012
Globalcode – Open4education
@ederign
@flsusp
domingo, 21 de outubro de 2012
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
Globalcode – Open4education
Maior grupo financeiro de câmbio do Brasil
domingo, 21 de outubro de 2012
Globalcode – Open4education
domingo, 21 de outubro de 2012
Globalcode – Open4education
domingo, 21 de outubro de 2012
Globalcode – Open4education
domingo, 21 de outubro de 2012
Globalcode – Open4education
domingo, 21 de outubro de 2012
Globalcode – Open4education
Qualidade não é negociável!!!
Você tem o direito de fazer certo!
domingo, 21 de outubro de 2012
Globalcode – Open4education
Testes Unitários
Testes de Integração
domingo, 21 de outubro de 2012
Globalcode – Open4education
BDD
Desenvolvimento de Framework Próprio
domingo, 21 de outubro de 2012
Globalcode – Open4education
Testes Funcionais
domingo, 21 de outubro de 2012
Globalcode – Open4education
BDD + Testes Funcionais
+
domingo, 21 de outubro de 2012
Globalcode – Open4education
Abandono Testes Integração
domingo, 21 de outubro de 2012
Globalcode – Open4education
Alta taxa de Cobertura
domingo, 21 de outubro de 2012
Globalcode – Open4education
Deploy 3x/SemanaPlataforma Bancária
domingo, 21 de outubro de 2012
Globalcode – Open4education
Cliente Feliz4 anos de projeto (~12 pessoas)
domingo, 21 de outubro de 2012
Globalcode – Open4education
“Continuous Delivery”#osDevPira
domingo, 21 de outubro de 2012
Globalcode – Open4education
Explosão na Quantidade de Testes Funcionais
domingo, 21 de outubro de 2012
Globalcode – Open4education
Lentidão na execução da suíte de testes
domingo, 21 de outubro de 2012
Globalcode – Open4education
Time Triste
domingo, 21 de outubro de 2012
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
Globalcode – Open4education
Bugs em Produção
Seus testes não passam?
Você não tem testes?
domingo, 21 de outubro de 2012
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
Globalcode – Open4education
Em produção funciona?
Você não está testando o sistema certo!
Teste quebra
domingo, 21 de outubro de 2012
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
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
Globalcode – Open4education
Você altera o sistema
Não tem feedback rápido dos testes?
domingo, 21 de outubro de 2012
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
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
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
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
Globalcode – Open4education
Mas quais são as características de uma boa suíte de testes?
domingo, 21 de outubro de 2012
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
Globalcode – Open4education
Mas e se eu tivesse uma máquina do tempo?
domingo, 21 de outubro de 2012
Globalcode – Open4education
Não existe bala de prata
domingo, 21 de outubro de 2012
Globalcode – Open4education
Mas o que talvez (provavelmente) funcione?
domingo, 21 de outubro de 2012
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
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
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
“Isolada”
Um teste não pode influenciar o resultado de outro
Feedback Rápido
domingo, 21 de outubro de 2012
Duráveis
Mantém seu valor durante toda a vida do produto
domingo, 21 de outubro de 2012
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
domingo, 21 de outubro de 2012
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
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
Mas o que é mais importante?
domingo, 21 de outubro de 2012
Globalcode – Open4education
Possuir uma suíte de testes
domingo, 21 de outubro de 2012
Globalcode – Open4education
Saber se sua suíte está indo para o buraco
domingo, 21 de outubro de 2012
Globalcode – Open4education
@flsusp@ederign
domingo, 21 de outubro de 2012