SlideShare a Scribd company logo
1 of 20
Download to read offline
O que testar?
Abordagens de
teste com ruby +
rspec
Opa!
Claudio Martins e Rafael Camarda
Desenvolvedores Ruby na @locaweb.
Pra falar com a gente: @bruno_rcg | @rafacamarda
2
Testar é importante
...e é algo que desperta muita opinião sobre!
1
““TDD is dead. Long live testing”. - DHH
4
“I am not entirely against testing private
methods” - Leigh Halliday
“Betterspec > Damp” - Claudio Martins
Porém quando se fala
de testes, o mais
importante de fato
testar!
5
Códigos sem testes por si só já são ruins.
O que devemos testar?
6
● O que me retorne algum valor
● O que causa algum efeito colateral
● O que “repassa” o trabalho para outro
lugar
O que devemos testar?
7
Abordagens de teste
Senta que la vem a história
2
Testes extremos
9
● Mínimo x Máximo
Bugs encontrados
10
● Simular condição e garantir que não aconteça novamente
Os “ifs” do meu código
11
● Cada caso deve ter seu contexto definido na árvore de
testes
Os “ifs” do meu código
12
Minhas exceções
13
● Testar principais cenários de exceção simulando sua ocorrência
Minhas exceções
14
Minhas exceções
15
Autenticações e filtros
16
● Garantir cobertura de possíveis vulnerabilidades
Cuidado com testes intermitentes!
17
● Os testes não falham. Nunca!
Teste também é documentação!
18
● O teste normalmente é a melhor e mais atualizada documentação
do seu código!
Se você ama seu
código você coloca
um código nele!
19
20
Obrigado!
Perguntas?
Nos encontre: @bruno_rcg | @rafacamarda

More Related Content

What's hot

Automatizando seus testes com Robot Framework
Automatizando seus testes com Robot FrameworkAutomatizando seus testes com Robot Framework
Automatizando seus testes com Robot FrameworkClaudenir Freitas
 
Mantendo a Qualidade dos Códigos de Teste
Mantendo a Qualidade dos Códigos de TesteMantendo a Qualidade dos Códigos de Teste
Mantendo a Qualidade dos Códigos de Testemauricioszabo
 
TDD em JavaScript, rola?
TDD em JavaScript, rola?TDD em JavaScript, rola?
TDD em JavaScript, rola?Renan Siravegna
 
Introdução ao TDD (Test-Driven Development) - #guma10anos
Introdução ao TDD (Test-Driven Development) - #guma10anosIntrodução ao TDD (Test-Driven Development) - #guma10anos
Introdução ao TDD (Test-Driven Development) - #guma10anosDionatan default
 
Convergido: TDD + ATDD + BDD + xUnit Patterns + Dependency Injection
Convergido: TDD + ATDD + BDD + xUnit Patterns + Dependency InjectionConvergido: TDD + ATDD + BDD + xUnit Patterns + Dependency Injection
Convergido: TDD + ATDD + BDD + xUnit Patterns + Dependency InjectionMarco Baccaro
 
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
 
Robustez de Software - Como ouvir menos reclamações dos seus chefes
Robustez de Software - Como ouvir menos reclamações dos seus chefesRobustez de Software - Como ouvir menos reclamações dos seus chefes
Robustez de Software - Como ouvir menos reclamações dos seus chefesDavid Robert Camargo de Campos
 

What's hot (12)

Automatizando seus testes com Robot Framework
Automatizando seus testes com Robot FrameworkAutomatizando seus testes com Robot Framework
Automatizando seus testes com Robot Framework
 
Behaviour Driven Development
Behaviour Driven DevelopmentBehaviour Driven Development
Behaviour Driven Development
 
Gherkin
Gherkin   Gherkin
Gherkin
 
Mantendo a Qualidade dos Códigos de Teste
Mantendo a Qualidade dos Códigos de TesteMantendo a Qualidade dos Códigos de Teste
Mantendo a Qualidade dos Códigos de Teste
 
TDD em JavaScript, rola?
TDD em JavaScript, rola?TDD em JavaScript, rola?
TDD em JavaScript, rola?
 
Introdução ao TDD (Test-Driven Development) - #guma10anos
Introdução ao TDD (Test-Driven Development) - #guma10anosIntrodução ao TDD (Test-Driven Development) - #guma10anos
Introdução ao TDD (Test-Driven Development) - #guma10anos
 
Convergido: TDD + ATDD + BDD + xUnit Patterns + Dependency Injection
Convergido: TDD + ATDD + BDD + xUnit Patterns + Dependency InjectionConvergido: TDD + ATDD + BDD + xUnit Patterns + Dependency Injection
Convergido: TDD + ATDD + BDD + xUnit Patterns + Dependency Injection
 
Testes - Para que?
Testes - Para que?Testes - Para que?
Testes - Para que?
 
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
 
Tdd da teoria a pratica
Tdd da teoria a praticaTdd da teoria a pratica
Tdd da teoria a pratica
 
Tdd na veia
Tdd na veiaTdd na veia
Tdd na veia
 
Robustez de Software - Como ouvir menos reclamações dos seus chefes
Robustez de Software - Como ouvir menos reclamações dos seus chefesRobustez de Software - Como ouvir menos reclamações dos seus chefes
Robustez de Software - Como ouvir menos reclamações dos seus chefes
 

Similar to O que testar abordagens de teste com ruby + rspec

TDC 2012 TDD e 20 coisas que você precisa saber
TDC 2012 TDD e 20 coisas que você precisa saberTDC 2012 TDD e 20 coisas que você precisa saber
TDC 2012 TDD e 20 coisas que você precisa saberCamilo Lopes
 
O que aprendi e quero passar adiante - Dev in Sampa 2010
O que aprendi e quero passar adiante - Dev in Sampa 2010O que aprendi e quero passar adiante - Dev in Sampa 2010
O que aprendi e quero passar adiante - Dev in Sampa 2010lucashungaro
 
Compilar Não Basta: Escreva código para pessoas e não apenas para máquinas - ...
Compilar Não Basta: Escreva código para pessoas e não apenas para máquinas - ...Compilar Não Basta: Escreva código para pessoas e não apenas para máquinas - ...
Compilar Não Basta: Escreva código para pessoas e não apenas para máquinas - ...Edlaine Zamora
 
TDD: A Essência do Mantra
TDD: A Essência do MantraTDD: A Essência do Mantra
TDD: A Essência do MantraDionatan default
 
Greenbar - Testes automatizados na sua empresa
Greenbar - Testes automatizados na sua empresaGreenbar - Testes automatizados na sua empresa
Greenbar - Testes automatizados na sua empresaRafael Ponte
 
Testador Tipo T
Testador Tipo TTestador Tipo T
Testador Tipo TGTS-CE
 
Como eu aprendi que testar software é importante?
Como eu aprendi que testar software é importante?Como eu aprendi que testar software é importante?
Como eu aprendi que testar software é importante?Maurício Aniche
 
Test-driven development & Mocking
Test-driven development & MockingTest-driven development & Mocking
Test-driven development & MockingDaniel Tamiosso
 

Similar to O que testar abordagens de teste com ruby + rspec (14)

TDC 2012 TDD e 20 coisas que você precisa saber
TDC 2012 TDD e 20 coisas que você precisa saberTDC 2012 TDD e 20 coisas que você precisa saber
TDC 2012 TDD e 20 coisas que você precisa saber
 
O que aprendi e quero passar adiante - Dev in Sampa 2010
O que aprendi e quero passar adiante - Dev in Sampa 2010O que aprendi e quero passar adiante - Dev in Sampa 2010
O que aprendi e quero passar adiante - Dev in Sampa 2010
 
Refatoração de Código Legado
Refatoração de Código LegadoRefatoração de Código Legado
Refatoração de Código Legado
 
Introdução ao TDD
Introdução ao TDDIntrodução ao TDD
Introdução ao TDD
 
Compilar Não Basta: Escreva código para pessoas e não apenas para máquinas - ...
Compilar Não Basta: Escreva código para pessoas e não apenas para máquinas - ...Compilar Não Basta: Escreva código para pessoas e não apenas para máquinas - ...
Compilar Não Basta: Escreva código para pessoas e não apenas para máquinas - ...
 
TDD: A Essência do Mantra
TDD: A Essência do MantraTDD: A Essência do Mantra
TDD: A Essência do Mantra
 
Clean code
Clean codeClean code
Clean code
 
Greenbar - Testes automatizados na sua empresa
Greenbar - Testes automatizados na sua empresaGreenbar - Testes automatizados na sua empresa
Greenbar - Testes automatizados na sua empresa
 
Testador Tipo T
Testador Tipo TTestador Tipo T
Testador Tipo T
 
Testador tipo t
Testador tipo tTestador tipo t
Testador tipo t
 
Como eu aprendi que testar software é importante?
Como eu aprendi que testar software é importante?Como eu aprendi que testar software é importante?
Como eu aprendi que testar software é importante?
 
O poder do TDD
O poder do TDDO poder do TDD
O poder do TDD
 
Test-driven development & Mocking
Test-driven development & MockingTest-driven development & Mocking
Test-driven development & Mocking
 
Clean code clickbus
Clean code   clickbusClean code   clickbus
Clean code clickbus
 

O que testar abordagens de teste com ruby + rspec