SlideShare a Scribd company logo
1 of 48
Download to read offline
Globalcode	
  –	
  Open4education
sexta-feira, 19 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
                                     Globalcode	
  –	
  Open4education
sexta-feira, 19 de outubro de 2012
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
                                                                     Globalcode	
  –	
  Open4education
sexta-feira, 19 de outubro de 2012
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
                                                                    Globalcode	
  –	
  Open4education
sexta-feira, 19 de outubro de 2012
Maior grupo financeiro de
                                    câmbio do Brasil




                                                        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
sexta-feira, 19 de outubro de 2012
Qualidade não é negociável!!!

                 Você tem o direito de fazer direito!




                                                  Globalcode	
  –	
  Open4education
sexta-feira, 19 de outubro de 2012
Testes Unitários

                               Testes de Integração




                                                        Globalcode	
  –	
  Open4education
sexta-feira, 19 de outubro de 2012
BDD
                Desenvolvimento de Framework Próprio




                                             Globalcode	
  –	
  Open4education
sexta-feira, 19 de outubro de 2012
Testes Funcionais




                                                         Globalcode	
  –	
  Open4education
sexta-feira, 19 de outubro de 2012
BDD + Testes Funcionais



                                     +

                                         Globalcode	
  –	
  Open4education
sexta-feira, 19 de outubro de 2012
Abandono Testes Integração




                                                 Globalcode	
  –	
  Open4education
sexta-feira, 19 de outubro de 2012
Alta Taxa de Cobertura
                                     Globalcode	
  –	
  Open4education
sexta-feira, 19 de outubro de 2012
Deploy 3x/Semana
                                     Plataforma Bancária




                                                           Globalcode	
  –	
  Open4education
sexta-feira, 19 de outubro de 2012
Cliente Feliz
                   4 anos de projeto (~12 pessoas)




                                             Globalcode	
  –	
  Open4education
sexta-feira, 19 de outubro de 2012
“Continuous Delivery”




                                                             Globalcode	
  –	
  Open4education
sexta-feira, 19 de outubro de 2012
Explosão na Quantidade
                                de Testes Funcionais




                                                  Globalcode	
  –	
  Open4education
sexta-feira, 19 de outubro de 2012
Lentidão na execução da
                                   suíte de testes




                                                   Globalcode	
  –	
  Open4education
sexta-feira, 19 de outubro de 2012
Time Triste




                                                   Globalcode	
  –	
  Open4education
sexta-feira, 19 de outubro de 2012
Onde erramos?

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




                                                     Globalcode	
  –	
  Open4education
sexta-feira, 19 de outubro de 2012
Bugs em Produção
                                      Seus testes não passam?

                                       Você não tem testes?




                                                                Globalcode	
  –	
  Open4education
sexta-feira, 19 de outubro de 2012
Bugs em Produção

                                              Seus testes passam?

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

                                            Você não está testando o
                                                 sistema correto


                                                           Globalcode	
  –	
  Open4education
sexta-feira, 19 de outubro de 2012
Teste quebra


                                          Em produção funciona?

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




                                                         Globalcode	
  –	
  Open4education
sexta-feira, 19 de outubro de 2012
Funcionalidade é alterada
                    Seu teste passa sem precisar de alteração?

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




                                                       Globalcode	
  –	
  Open4education
sexta-feira, 19 de outubro de 2012
Você corrige um defeito
                                     Seu teste passa a quebrar?

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




                                                                  Globalcode	
  –	
  Open4education
sexta-feira, 19 de outubro de 2012
Você altera o sistema
                          Não tem feedback rápido dos testes?




                                                         Globalcode	
  –	
  Open4education
sexta-feira, 19 de outubro de 2012
Você tem um problema arquitetural nos
                                    seus testes!

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




                                                                Globalcode	
  –	
  Open4education
sexta-feira, 19 de outubro de 2012
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?




                                                            Globalcode	
  –	
  Open4education
sexta-feira, 19 de outubro de 2012
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




                                                       Globalcode	
  –	
  Open4education
sexta-feira, 19 de outubro de 2012
Pequena alteração, muitos testes
                             quebram?

                                       Você vai demorar para
                                     identificar o que quebrou

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


                                                    Globalcode	
  –	
  Open4education
sexta-feira, 19 de outubro de 2012
Mas quais são as características de
                   uma boa suíte de testes?




                                           Globalcode	
  –	
  Open4education
sexta-feira, 19 de outubro de 2012
Uma boa suíte de testes é qualquer
               suíte de testes que não tenha os
                   problemas apresentados!




                                         Globalcode	
  –	
  Open4education
sexta-feira, 19 de outubro de 2012
Mas e se eu tivesse uma máquina do
                             tempo?
                                         Globalcode	
  –	
  Open4education
sexta-feira, 19 de outubro de 2012
Não existe bala de prata




                                                   Globalcode	
  –	
  Open4education
sexta-feira, 19 de outubro de 2012
Mas o que talvez
                                       (provavelmente)
                                        funcione?




                                                         Globalcode	
  –	
  Open4education
sexta-feira, 19 de outubro de 2012
3 F’s - Corey Haines
                                                      Fast
                                              Ciclo TDD - < 1 min
                                     Ciclo Integração - rápido o suficiente
                                      Suíte Lenta == Builds Quebradas

                                             Focused
                                Um Teste = Uma Razão pra Mudança
                                          Feedback Rápido

                                                Full
                                 Cobrir 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 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.




sexta-feira, 19 de outubro de 2012
Mas o que é mais
                                       importante?




sexta-feira, 19 de outubro de 2012
Saber se sua suíte está indo para o buraco




                                                   Globalcode	
  –	
  Open4education
sexta-feira, 19 de outubro de 2012
@ederign
                                                Globalcode	
  –	
  Open4education
sexta-feira, 19 de outubro de 2012

More Related Content

Similar to Testes

Design de Software com ASP.NET MVC
Design de Software com ASP.NET MVCDesign de Software com ASP.NET MVC
Design de Software com ASP.NET MVCWaldyr Felix
 
Lições aprendidas com a Re (escrita |design) de uma aplicação PHP
 Lições aprendidas com a Re (escrita |design) de uma aplicação PHP  Lições aprendidas com a Re (escrita |design) de uma aplicação PHP
Lições aprendidas com a Re (escrita |design) de uma aplicação PHP Domingos Teruel
 
TDC2016SP - Desenvolvendo uma linguagem maker inclusiva em Python
TDC2016SP - Desenvolvendo uma linguagem maker inclusiva em PythonTDC2016SP - Desenvolvendo uma linguagem maker inclusiva em Python
TDC2016SP - Desenvolvendo uma linguagem maker inclusiva em Pythontdc-globalcode
 
Combatendo o Código Procedural - TDC 2012 Florianópolis - Trilha PHP
Combatendo o Código Procedural - TDC 2012 Florianópolis - Trilha PHPCombatendo o Código Procedural - TDC 2012 Florianópolis - Trilha PHP
Combatendo o Código Procedural - TDC 2012 Florianópolis - Trilha PHPRodrigo Dos Santos
 
Existem informações valiosas escondidas nos code-reviews do seu time
Existem informações valiosas escondidas nos code-reviews do seu timeExistem informações valiosas escondidas nos code-reviews do seu time
Existem informações valiosas escondidas nos code-reviews do seu timeDécio Heinzelmann Luckow
 
TDC2018SP | XP - O que nao e XP!
TDC2018SP | XP - O que nao e XP!TDC2018SP | XP - O que nao e XP!
TDC2018SP | XP - O que nao e XP!tdc-globalcode
 
Usando Visão Computacional para Identificar Letras em Libras
Usando Visão Computacional para Identificar Letras em LibrasUsando Visão Computacional para Identificar Letras em Libras
Usando Visão Computacional para Identificar Letras em LibrasGabriel Schade Cardoso
 
Utilizando a API do Roslyn, o novo compilador do C#
Utilizando a API do Roslyn, o novo compilador do C#Utilizando a API do Roslyn, o novo compilador do C#
Utilizando a API do Roslyn, o novo compilador do C#Paulo Cesar Ortins Brito
 
Tem gente demais mexendo no APP!
Tem gente demais mexendo no APP!Tem gente demais mexendo no APP!
Tem gente demais mexendo no APP!tdc-globalcode
 
TDC2016SP - Trilha Startups
TDC2016SP - Trilha StartupsTDC2016SP - Trilha Startups
TDC2016SP - Trilha Startupstdc-globalcode
 
TDC2018SP | Trilha IA - Big Data e Machine Learning: Desafios e oportunidades...
TDC2018SP | Trilha IA - Big Data e Machine Learning: Desafios e oportunidades...TDC2018SP | Trilha IA - Big Data e Machine Learning: Desafios e oportunidades...
TDC2018SP | Trilha IA - Big Data e Machine Learning: Desafios e oportunidades...tdc-globalcode
 
[TDCPOA2018] Desmistificando a eXtreme Programming para desenvolvedores "não ...
[TDCPOA2018] Desmistificando a eXtreme Programming para desenvolvedores "não ...[TDCPOA2018] Desmistificando a eXtreme Programming para desenvolvedores "não ...
[TDCPOA2018] Desmistificando a eXtreme Programming para desenvolvedores "não ...Vinicius Campos Silva
 
TDC 2014 - A influência dos processos de desenvolvimento na arquitetura
TDC 2014 - A influência dos processos de desenvolvimento na arquiteturaTDC 2014 - A influência dos processos de desenvolvimento na arquitetura
TDC 2014 - A influência dos processos de desenvolvimento na arquiteturaEric Lemes
 
[TDC Floripa 2016] Facilitando Concepções de Produtos de TI de maneira colabo...
[TDC Floripa 2016] Facilitando Concepções de Produtos de TI de maneira colabo...[TDC Floripa 2016] Facilitando Concepções de Produtos de TI de maneira colabo...
[TDC Floripa 2016] Facilitando Concepções de Produtos de TI de maneira colabo...Guilherme Motta
 
Automação de testes - 7 passos para o sucesso!
Automação de testes - 7 passos para o sucesso!Automação de testes - 7 passos para o sucesso!
Automação de testes - 7 passos para o sucesso!Daniel Amorim
 
TDC2016SP - Trilha Startups
TDC2016SP - Trilha StartupsTDC2016SP - Trilha Startups
TDC2016SP - Trilha Startupstdc-globalcode
 
PHP e Robótica com Arduino - TDC 2012
PHP e Robótica com Arduino - TDC 2012PHP e Robótica com Arduino - TDC 2012
PHP e Robótica com Arduino - TDC 2012Marco Antonio Maciel
 

Similar to Testes (20)

Design de Software com ASP.NET MVC
Design de Software com ASP.NET MVCDesign de Software com ASP.NET MVC
Design de Software com ASP.NET MVC
 
Revolução Go TDC 2016
Revolução Go TDC 2016Revolução Go TDC 2016
Revolução Go TDC 2016
 
Lições aprendidas com a Re (escrita |design) de uma aplicação PHP
 Lições aprendidas com a Re (escrita |design) de uma aplicação PHP  Lições aprendidas com a Re (escrita |design) de uma aplicação PHP
Lições aprendidas com a Re (escrita |design) de uma aplicação PHP
 
TDC2016SP - Desenvolvendo uma linguagem maker inclusiva em Python
TDC2016SP - Desenvolvendo uma linguagem maker inclusiva em PythonTDC2016SP - Desenvolvendo uma linguagem maker inclusiva em Python
TDC2016SP - Desenvolvendo uma linguagem maker inclusiva em Python
 
Combatendo o Código Procedural - TDC 2012 Florianópolis - Trilha PHP
Combatendo o Código Procedural - TDC 2012 Florianópolis - Trilha PHPCombatendo o Código Procedural - TDC 2012 Florianópolis - Trilha PHP
Combatendo o Código Procedural - TDC 2012 Florianópolis - Trilha PHP
 
Existem informações valiosas escondidas nos code-reviews do seu time
Existem informações valiosas escondidas nos code-reviews do seu timeExistem informações valiosas escondidas nos code-reviews do seu time
Existem informações valiosas escondidas nos code-reviews do seu time
 
TDC2018SP | XP - O que nao e XP!
TDC2018SP | XP - O que nao e XP!TDC2018SP | XP - O que nao e XP!
TDC2018SP | XP - O que nao e XP!
 
Usando Visão Computacional para Identificar Letras em Libras
Usando Visão Computacional para Identificar Letras em LibrasUsando Visão Computacional para Identificar Letras em Libras
Usando Visão Computacional para Identificar Letras em Libras
 
Utilizando a API do Roslyn, o novo compilador do C#
Utilizando a API do Roslyn, o novo compilador do C#Utilizando a API do Roslyn, o novo compilador do C#
Utilizando a API do Roslyn, o novo compilador do C#
 
Tem gente demais mexendo no APP!
Tem gente demais mexendo no APP!Tem gente demais mexendo no APP!
Tem gente demais mexendo no APP!
 
TDC2016SP - Trilha Startups
TDC2016SP - Trilha StartupsTDC2016SP - Trilha Startups
TDC2016SP - Trilha Startups
 
TDC2018SP | Trilha IA - Big Data e Machine Learning: Desafios e oportunidades...
TDC2018SP | Trilha IA - Big Data e Machine Learning: Desafios e oportunidades...TDC2018SP | Trilha IA - Big Data e Machine Learning: Desafios e oportunidades...
TDC2018SP | Trilha IA - Big Data e Machine Learning: Desafios e oportunidades...
 
[TDCPOA2018] Desmistificando a eXtreme Programming para desenvolvedores "não ...
[TDCPOA2018] Desmistificando a eXtreme Programming para desenvolvedores "não ...[TDCPOA2018] Desmistificando a eXtreme Programming para desenvolvedores "não ...
[TDCPOA2018] Desmistificando a eXtreme Programming para desenvolvedores "não ...
 
Refatorar é preciso. Palestra TDC 2014
Refatorar é preciso. Palestra TDC 2014Refatorar é preciso. Palestra TDC 2014
Refatorar é preciso. Palestra TDC 2014
 
TDC 2014 - A influência dos processos de desenvolvimento na arquitetura
TDC 2014 - A influência dos processos de desenvolvimento na arquiteturaTDC 2014 - A influência dos processos de desenvolvimento na arquitetura
TDC 2014 - A influência dos processos de desenvolvimento na arquitetura
 
[TDC Floripa 2016] Facilitando Concepções de Produtos de TI de maneira colabo...
[TDC Floripa 2016] Facilitando Concepções de Produtos de TI de maneira colabo...[TDC Floripa 2016] Facilitando Concepções de Produtos de TI de maneira colabo...
[TDC Floripa 2016] Facilitando Concepções de Produtos de TI de maneira colabo...
 
Tdc2016 gustavofonseca
Tdc2016 gustavofonsecaTdc2016 gustavofonseca
Tdc2016 gustavofonseca
 
Automação de testes - 7 passos para o sucesso!
Automação de testes - 7 passos para o sucesso!Automação de testes - 7 passos para o sucesso!
Automação de testes - 7 passos para o sucesso!
 
TDC2016SP - Trilha Startups
TDC2016SP - Trilha StartupsTDC2016SP - Trilha Startups
TDC2016SP - Trilha Startups
 
PHP e Robótica com Arduino - TDC 2012
PHP e Robótica com Arduino - TDC 2012PHP e Robótica com Arduino - TDC 2012
PHP e Robótica com Arduino - TDC 2012
 

Testes

  • 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 sexta-feira, 19 de outubro de 2012
  • 3. 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 Globalcode  –  Open4education sexta-feira, 19 de outubro de 2012
  • 4. 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 Globalcode  –  Open4education sexta-feira, 19 de outubro de 2012
  • 5. Maior grupo financeiro de câmbio do Brasil Globalcode  –  Open4education sexta-feira, 19 de outubro de 2012
  • 9. Qualidade não é negociável!!! Você tem o direito de fazer direito! Globalcode  –  Open4education sexta-feira, 19 de outubro de 2012
  • 10. Testes Unitários Testes de Integração Globalcode  –  Open4education sexta-feira, 19 de outubro de 2012
  • 11. BDD Desenvolvimento de Framework Próprio Globalcode  –  Open4education sexta-feira, 19 de outubro de 2012
  • 12. Testes Funcionais Globalcode  –  Open4education sexta-feira, 19 de outubro de 2012
  • 13. BDD + Testes Funcionais + Globalcode  –  Open4education sexta-feira, 19 de outubro de 2012
  • 14. Abandono Testes Integração Globalcode  –  Open4education sexta-feira, 19 de outubro de 2012
  • 15. Alta Taxa de Cobertura Globalcode  –  Open4education sexta-feira, 19 de outubro de 2012
  • 16. Deploy 3x/Semana Plataforma Bancária Globalcode  –  Open4education sexta-feira, 19 de outubro de 2012
  • 17. Cliente Feliz 4 anos de projeto (~12 pessoas) Globalcode  –  Open4education sexta-feira, 19 de outubro de 2012
  • 18. “Continuous Delivery” Globalcode  –  Open4education sexta-feira, 19 de outubro de 2012
  • 19. Explosão na Quantidade de Testes Funcionais Globalcode  –  Open4education sexta-feira, 19 de outubro de 2012
  • 20. Lentidão na execução da suíte de testes Globalcode  –  Open4education sexta-feira, 19 de outubro de 2012
  • 21. Time Triste Globalcode  –  Open4education sexta-feira, 19 de outubro de 2012
  • 22. Onde erramos? Como saber se minha suíte de testes não está indo para o buraco? Globalcode  –  Open4education sexta-feira, 19 de outubro de 2012
  • 23. Bugs em Produção Seus testes não passam? Você não tem testes? Globalcode  –  Open4education sexta-feira, 19 de outubro de 2012
  • 24. Bugs em Produção Seus testes passam? Você não está testando a funcionalidade certa! Você não está testando o sistema correto Globalcode  –  Open4education sexta-feira, 19 de outubro de 2012
  • 25. Teste quebra Em produção funciona? Você não está testando o sistema certo! Globalcode  –  Open4education sexta-feira, 19 de outubro de 2012
  • 26. Funcionalidade é alterada Seu teste passa sem precisar de alteração? Você não está testando a funcionalidade correta! Globalcode  –  Open4education sexta-feira, 19 de outubro de 2012
  • 27. Você corrige um defeito Seu teste passa a quebrar? Você não está focando seus testes na funcionalidade e sim no sistema Globalcode  –  Open4education sexta-feira, 19 de outubro de 2012
  • 28. Você altera o sistema Não tem feedback rápido dos testes? Globalcode  –  Open4education sexta-feira, 19 de outubro de 2012
  • 29. Você tem um problema arquitetural nos seus testes! Você não vai rodar a sua suíte! (sob pressão) Globalcode  –  Open4education sexta-feira, 19 de outubro de 2012
  • 30. 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? Globalcode  –  Open4education sexta-feira, 19 de outubro de 2012
  • 31. 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 Globalcode  –  Open4education sexta-feira, 19 de outubro de 2012
  • 32. Pequena alteração, muitos testes quebram? Você vai demorar para identificar o que quebrou Você vai implantar em produção com a sua suíte quebrada Globalcode  –  Open4education sexta-feira, 19 de outubro de 2012
  • 33. Mas quais são as características de uma boa suíte de testes? Globalcode  –  Open4education sexta-feira, 19 de outubro de 2012
  • 34. Uma boa suíte de testes é qualquer suíte de testes que não tenha os problemas apresentados! Globalcode  –  Open4education sexta-feira, 19 de outubro de 2012
  • 35. Mas e se eu tivesse uma máquina do tempo? Globalcode  –  Open4education sexta-feira, 19 de outubro de 2012
  • 36. Não existe bala de prata Globalcode  –  Open4education sexta-feira, 19 de outubro de 2012
  • 37. Mas o que talvez (provavelmente) funcione? Globalcode  –  Open4education sexta-feira, 19 de outubro de 2012
  • 38. 3 F’s - Corey Haines Fast Ciclo TDD - < 1 min Ciclo Integração - rápido o suficiente Suíte Lenta == Builds Quebradas Focused Um Teste = Uma Razão pra Mudança Feedback Rápido Full Cobrir o maior % possível do sistema sexta-feira, 19 de outubro de 2012
  • 39. 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
  • 40. 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
  • 41. “Isolada” Um teste não pode influenciar o resultado de outro Feedback Rápido sexta-feira, 19 de outubro de 2012
  • 42. Duráveis Mantém seu valor durante toda a vida do produto sexta-feira, 19 de outubro de 2012
  • 43. 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
  • 44. 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
  • 45. 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. sexta-feira, 19 de outubro de 2012
  • 46. Mas o que é mais importante? sexta-feira, 19 de outubro de 2012
  • 47. Saber se sua suíte está indo para o buraco Globalcode  –  Open4education sexta-feira, 19 de outubro de 2012
  • 48. @ederign Globalcode  –  Open4education sexta-feira, 19 de outubro de 2012