SlideShare uma empresa Scribd logo
1 de 34
AgileBrazil 2011 Melhorando a Qualidade dos Códigos de Teste Maurício Eduardo Szabo [email_address] @mauricio_szabo http://mauricioszabo.wordpress.com http://github.com/mauricioszabo/AgileBrazil2011
about:me ,[object Object]
Scrum Master
Test-Addicted
Clean-Code Addicted
Enfim...
Intro ,[object Object]
”Dedo duro” - sempre saber o estado de seu sistema
Confiabilidade no código, acabar com o ”medo de mudar”
Requisitos mudam == testes mudam
Intro – Testes se Pagam ,[object Object]
Mudança - Exemplo ,[object Object]
Para saber se o Ariovaldo está aparecendo na listagem de homens
Minha Abordagem: BDD ,[object Object]
Primeiros Exemplos ,[object Object]
Mudança de ”Estilo” ,[object Object]
(Evitar Cometer) Erros Comuns
JAMAIS!!!
Oops... Certos testes não dizem NADA Certos testes dizem DEMAIS
Framework de Testes O que usar, como usar,  por que usar?
Framework de Testes ,[object Object]
Mocks: Mocha, FlexMock, Mockito, JMock, etc...
Escolha corretamente: Um framework de testes: ,[object Object]
Deve ser flexível ,[object Object],[object Object]
Framework de Testes
Codebase ,[object Object]
Testes devem crescer junto com seu código ,[object Object],[object Object]
Mocks ,[object Object]
Eu uso... ,[object Object]
Para Scala: ScalaTest com Mockito
Para Java: JUnit (com os Hamcrest matchers) e Mockito
Para JavaScript: Jasminne
Primeiro, resolva o problema ,[object Object]
Não escreva NADA antes de resolver o problema

Mais conteúdo relacionado

Mais procurados

Não existe feedback melhor do que o do seu código
Não existe feedback melhor do que o do seu códigoNão existe feedback melhor do que o do seu código
Não existe feedback melhor do que o do seu códigoRenan Carvalho
 
Refatoração: Como deixar seu código livre de maus Cheiros
Refatoração: Como deixar seu código livre de maus CheirosRefatoração: Como deixar seu código livre de maus Cheiros
Refatoração: Como deixar seu código livre de maus CheirosPedro Hos
 
Boas práticas com TDD
Boas práticas com TDD Boas práticas com TDD
Boas práticas com TDD Camilo Lopes
 
Semana da Mulher na Tecnologia_Introducao ao Bdd
Semana da Mulher na Tecnologia_Introducao ao BddSemana da Mulher na Tecnologia_Introducao ao Bdd
Semana da Mulher na Tecnologia_Introducao ao BddinovacaoDBServer
 
Improve Yourself -- Learn the Skills, Join the Community - Tests
Improve Yourself -- Learn the Skills, Join the Community - TestsImprove Yourself -- Learn the Skills, Join the Community - Tests
Improve Yourself -- Learn the Skills, Join the Community - TestsElias Nogueira
 
Introdução a testes automatizados
Introdução a testes automatizadosIntrodução a testes automatizados
Introdução a testes automatizadosThiago Ghisi
 
O que testar abordagens de teste com ruby + rspec
O que testar abordagens de teste com ruby + rspecO que testar abordagens de teste com ruby + rspec
O que testar abordagens de teste com ruby + rspecClaudio Martins
 
Zend Framework TotalFlex
Zend Framework TotalFlexZend Framework TotalFlex
Zend Framework TotalFlexMarcio Sfalsin
 
Testes Automatizados de Software
Testes Automatizados de SoftwareTestes Automatizados de Software
Testes Automatizados de SoftwareMaurício Aniche
 
Automatizando seus testes com robot framework
Automatizando seus testes com robot frameworkAutomatizando seus testes com robot framework
Automatizando seus testes com robot frameworkClaudenir Freitas
 

Mais procurados (15)

Não existe feedback melhor do que o do seu código
Não existe feedback melhor do que o do seu códigoNão existe feedback melhor do que o do seu código
Não existe feedback melhor do que o do seu código
 
Behaviour-Driven Development com Ruby
Behaviour-Driven Development com RubyBehaviour-Driven Development com Ruby
Behaviour-Driven Development com Ruby
 
Refatoração: Como deixar seu código livre de maus Cheiros
Refatoração: Como deixar seu código livre de maus CheirosRefatoração: Como deixar seu código livre de maus Cheiros
Refatoração: Como deixar seu código livre de maus Cheiros
 
Boas práticas com TDD
Boas práticas com TDD Boas práticas com TDD
Boas práticas com TDD
 
Clean Code
Clean CodeClean Code
Clean Code
 
Refatoração de Código Legado
Refatoração de Código LegadoRefatoração de Código Legado
Refatoração de Código Legado
 
Semana da Mulher na Tecnologia_Introducao ao Bdd
Semana da Mulher na Tecnologia_Introducao ao BddSemana da Mulher na Tecnologia_Introducao ao Bdd
Semana da Mulher na Tecnologia_Introducao ao Bdd
 
Improve Yourself -- Learn the Skills, Join the Community - Tests
Improve Yourself -- Learn the Skills, Join the Community - TestsImprove Yourself -- Learn the Skills, Join the Community - Tests
Improve Yourself -- Learn the Skills, Join the Community - Tests
 
Introdução a testes automatizados
Introdução a testes automatizadosIntrodução a testes automatizados
Introdução a testes automatizados
 
O que testar abordagens de teste com ruby + rspec
O que testar abordagens de teste com ruby + rspecO que testar abordagens de teste com ruby + rspec
O que testar abordagens de teste com ruby + rspec
 
Coding dojo
Coding dojoCoding dojo
Coding dojo
 
Zend Framework TotalFlex
Zend Framework TotalFlexZend Framework TotalFlex
Zend Framework TotalFlex
 
Refactoring to patterns
Refactoring to patternsRefactoring to patterns
Refactoring to patterns
 
Testes Automatizados de Software
Testes Automatizados de SoftwareTestes Automatizados de Software
Testes Automatizados de Software
 
Automatizando seus testes com robot framework
Automatizando seus testes com robot frameworkAutomatizando seus testes com robot framework
Automatizando seus testes com robot framework
 

Semelhante a Mantendo a Qualidade dos Códigos de Teste

Minicurso Ruby on Rails Dextra
Minicurso Ruby on Rails DextraMinicurso Ruby on Rails Dextra
Minicurso Ruby on Rails DextraDextra
 
Por que testar é importante e algumas boas práticas
Por que testar é importante e algumas boas práticasPor que testar é importante e algumas boas práticas
Por que testar é importante e algumas boas práticasLucas Caton
 
Testando seus testes com Stryker.NET
Testando seus testes com Stryker.NET Testando seus testes com Stryker.NET
Testando seus testes com Stryker.NET Robson Soares Amorim
 
TDD para "meros mortais"
TDD para "meros mortais"TDD para "meros mortais"
TDD para "meros mortais"thiagobapt
 
Model of the colossus @ Café com Dev
Model of the colossus @ Café com DevModel of the colossus @ Café com Dev
Model of the colossus @ Café com DevMauro George
 
Desenvolvimento orientado a testes
Desenvolvimento orientado a testesDesenvolvimento orientado a testes
Desenvolvimento orientado a testesCarlos Santana
 
Testes com javascript
Testes com javascriptTestes com javascript
Testes com javascriptLaís Lima
 
Objects calisthenics - Os 10 mandamentos do rei do código
Objects calisthenics - Os 10 mandamentos do rei do códigoObjects calisthenics - Os 10 mandamentos do rei do código
Objects calisthenics - Os 10 mandamentos do rei do códigoBonoBee
 
Direto das Trincheiras: Boas e más práticas de aplicações Ruby em ambientes c...
Direto das Trincheiras: Boas e más práticas de aplicações Ruby em ambientes c...Direto das Trincheiras: Boas e más práticas de aplicações Ruby em ambientes c...
Direto das Trincheiras: Boas e más práticas de aplicações Ruby em ambientes c...Danilo Sato
 
#DNAD15 - Diminuindo sofrimento com código legado de linguagens não mainstreams
#DNAD15  - Diminuindo sofrimento com código legado de linguagens não mainstreams#DNAD15  - Diminuindo sofrimento com código legado de linguagens não mainstreams
#DNAD15 - Diminuindo sofrimento com código legado de linguagens não mainstreamsJacqueline Abreu
 
Métricas Em Fabricas De Software
Métricas Em Fabricas De SoftwareMétricas Em Fabricas De Software
Métricas Em Fabricas De SoftwareLuiz Borba
 
Behaviour driven development, com jbehave
Behaviour driven development, com jbehaveBehaviour driven development, com jbehave
Behaviour driven development, com jbehaveMarcelo Zeferino
 
Esta começando a programar para a web? Então começe com Rails
Esta começando a programar para a web? Então começe com RailsEsta começando a programar para a web? Então começe com Rails
Esta começando a programar para a web? Então começe com Railsismaelstahelin
 
Automação de testes para equipes agile
Automação de testes para equipes agileAutomação de testes para equipes agile
Automação de testes para equipes agileAlini Rebonatto
 
Clean Code - Fork In Tuba
Clean Code - Fork In TubaClean Code - Fork In Tuba
Clean Code - Fork In TubaRafael Paz
 

Semelhante a Mantendo a Qualidade dos Códigos de Teste (20)

Minicurso Ruby on Rails Dextra
Minicurso Ruby on Rails DextraMinicurso Ruby on Rails Dextra
Minicurso Ruby on Rails Dextra
 
Por que testar é importante e algumas boas práticas
Por que testar é importante e algumas boas práticasPor que testar é importante e algumas boas práticas
Por que testar é importante e algumas boas práticas
 
Testando seus testes com Stryker.NET
Testando seus testes com Stryker.NET Testando seus testes com Stryker.NET
Testando seus testes com Stryker.NET
 
TDD para "meros mortais"
TDD para "meros mortais"TDD para "meros mortais"
TDD para "meros mortais"
 
Model of the colossus @ Café com Dev
Model of the colossus @ Café com DevModel of the colossus @ Café com Dev
Model of the colossus @ Café com Dev
 
Clean code
Clean codeClean code
Clean code
 
Desenvolvimento orientado a testes
Desenvolvimento orientado a testesDesenvolvimento orientado a testes
Desenvolvimento orientado a testes
 
Testes de Sofware
Testes de SofwareTestes de Sofware
Testes de Sofware
 
Testes com javascript
Testes com javascriptTestes com javascript
Testes com javascript
 
1° Madrugada de Testes
1° Madrugada de Testes1° Madrugada de Testes
1° Madrugada de Testes
 
Objects calisthenics - Os 10 mandamentos do rei do código
Objects calisthenics - Os 10 mandamentos do rei do códigoObjects calisthenics - Os 10 mandamentos do rei do código
Objects calisthenics - Os 10 mandamentos do rei do código
 
Direto das Trincheiras: Boas e más práticas de aplicações Ruby em ambientes c...
Direto das Trincheiras: Boas e más práticas de aplicações Ruby em ambientes c...Direto das Trincheiras: Boas e más práticas de aplicações Ruby em ambientes c...
Direto das Trincheiras: Boas e más práticas de aplicações Ruby em ambientes c...
 
#DNAD15 - Diminuindo sofrimento com código legado de linguagens não mainstreams
#DNAD15  - Diminuindo sofrimento com código legado de linguagens não mainstreams#DNAD15  - Diminuindo sofrimento com código legado de linguagens não mainstreams
#DNAD15 - Diminuindo sofrimento com código legado de linguagens não mainstreams
 
TDD
TDDTDD
TDD
 
Métricas Em Fabricas De Software
Métricas Em Fabricas De SoftwareMétricas Em Fabricas De Software
Métricas Em Fabricas De Software
 
Behaviour driven development, com jbehave
Behaviour driven development, com jbehaveBehaviour driven development, com jbehave
Behaviour driven development, com jbehave
 
Esta começando a programar para a web? Então começe com Rails
Esta começando a programar para a web? Então começe com RailsEsta começando a programar para a web? Então começe com Rails
Esta começando a programar para a web? Então começe com Rails
 
Automação de testes para equipes agile
Automação de testes para equipes agileAutomação de testes para equipes agile
Automação de testes para equipes agile
 
Testing sucks
Testing sucksTesting sucks
Testing sucks
 
Clean Code - Fork In Tuba
Clean Code - Fork In TubaClean Code - Fork In Tuba
Clean Code - Fork In Tuba
 

Mantendo a Qualidade dos Códigos de Teste