Testes
-
Upload
fabio-santos -
Category
Technology
-
view
322 -
download
2
description
Transcript of Testes
Globalcode – Open4education
sexta-feira, 19 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 testessexta-feira, 19 de outubro de 2012
Globalcode – Open4education
Eder Ignatowicz...
Software Craftsman @ Dextra(Arquitetura, NoSQL, Devops, QA)
Doutorando na Unicamp (Polyglot Persistence em Cidades Digitais)
Professor na Faccamp e Unisal
Editor líder no InfoQ Brasil
@ederign
sexta-feira, 19 de outubro de 2012
Globalcode – Open4education
Fábio Lima Santos
Software Craftsman @ Dextra(Arquitetura, NoSQL, Devops, QA)
Doutorando na Unicamp (Polyglot Persistence em Cidades Digitais)
Professor na Faccamp e Unisal
Editor líder no InfoQ Brasil
@ederign
sexta-feira, 19 de outubro de 2012
Globalcode – Open4education
Maior grupo financeiro de câmbio do Brasil
sexta-feira, 19 de outubro de 2012
Globalcode – Open4education
sexta-feira, 19 de outubro de 2012
Globalcode – Open4education
sexta-feira, 19 de outubro de 2012
Globalcode – Open4education
sexta-feira, 19 de outubro de 2012
Globalcode – Open4education
Qualidade não é negociável!!!
Você tem o direito de fazer direito!
sexta-feira, 19 de outubro de 2012
Globalcode – Open4education
Testes Unitários
Testes de Integração
sexta-feira, 19 de outubro de 2012
Globalcode – Open4education
BDD
Desenvolvimento de Framework Próprio
sexta-feira, 19 de outubro de 2012
Globalcode – Open4education
Testes Funcionais
sexta-feira, 19 de outubro de 2012
Globalcode – Open4education
BDD + Testes Funcionais
+
sexta-feira, 19 de outubro de 2012
Globalcode – Open4education
Abandono Testes Integração
sexta-feira, 19 de outubro de 2012
Globalcode – Open4education
Alta Taxa de Cobertura
sexta-feira, 19 de outubro de 2012
Globalcode – Open4education
Deploy 3x/SemanaPlataforma Bancária
sexta-feira, 19 de outubro de 2012
Globalcode – Open4education
Cliente Feliz4 anos de projeto (~12 pessoas)
sexta-feira, 19 de outubro de 2012
Globalcode – Open4education
“Continuous Delivery”
sexta-feira, 19 de outubro de 2012
Globalcode – Open4education
Explosão na Quantidade de Testes Funcionais
sexta-feira, 19 de outubro de 2012
Globalcode – Open4education
Lentidão na execução da suíte de testes
sexta-feira, 19 de outubro de 2012
Globalcode – Open4education
Time Triste
sexta-feira, 19 de outubro de 2012
Globalcode – Open4education
Onde erramos?
Como saber se minha suíte de testes não está indo para o buraco?
sexta-feira, 19 de outubro de 2012
Globalcode – Open4education
Bugs em Produção
Seus testes não passam?
Você não tem testes?
sexta-feira, 19 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
sexta-feira, 19 de outubro de 2012
Globalcode – Open4education
Em produção funciona?
Você não está testando o sistema certo!
Teste quebra
sexta-feira, 19 de outubro de 2012
Globalcode – Open4education
Funcionalidade é alterada
Seu teste passa sem precisar de alteração?
Você não está testando a funcionalidade correta!
sexta-feira, 19 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
sexta-feira, 19 de outubro de 2012
Globalcode – Open4education
Você altera o sistema
Não tem feedback rápido dos testes?
sexta-feira, 19 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)
sexta-feira, 19 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?
sexta-feira, 19 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
sexta-feira, 19 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?
sexta-feira, 19 de outubro de 2012
Globalcode – Open4education
Mas quais são as características de uma boa suíte de testes?
sexta-feira, 19 de outubro de 2012
Globalcode – Open4education
Uma boa suíte de testes é qualquer suíte de testes que não tenha os
problemas apresentados!
sexta-feira, 19 de outubro de 2012
Globalcode – Open4education
Mas e se eu tivesse uma máquina do tempo?
sexta-feira, 19 de outubro de 2012
Globalcode – Open4education
Não existe bala de prata
sexta-feira, 19 de outubro de 2012
Globalcode – Open4education
Mas o que talvez (provavelmente) funcione?
sexta-feira, 19 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
sexta-feira, 19 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
sexta-feira, 19 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
sexta-feira, 19 de outubro de 2012
“Isolada”
Um teste não pode influenciar o resultado de outro
Feedback Rápido
sexta-feira, 19 de outubro de 2012
Duráveis
Mantém seu valor durante toda a vida do produto
sexta-feira, 19 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
sexta-feira, 19 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
sexta-feira, 19 de outubro de 2012
Não deixe o teste para o finalNã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.
sexta-feira, 19 de outubro de 2012
Mas o que é mais importante?
sexta-feira, 19 de outubro de 2012
Globalcode – Open4education
Saber se sua suíte está indo para o buraco
sexta-feira, 19 de outubro de 2012
Globalcode – Open4education
@ederign
sexta-feira, 19 de outubro de 2012