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

Preview:

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

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

Recommended