TESTES AUTOMATIZADOS O 
TIME E O CLIENTE SAEM 
GANHANDO!
MAURO QUEM…
MAUROGEORGE.COM.BR
POR QUE DEVEMOS TESTAR?
POR QUE DEVEMOS TESTAR? 
Sistemas grandes sem testes
POR QUE DEVEMOS TESTAR? 
Teste é investimento
POR QUE DEVEMOS TESTAR? 
Sistemas sem testes
POR QUE DEVEMOS TESTAR? 
Sistemas pequenos viram grandes
POR QUE DEVEMOS TESTAR? 
Mas isso vende?
TESTES AUTOMATIZADOS
TDD 
Test-driven development
TDD 
O que é
calculator_spec.rb 
RSpec.describe Calculator do! 
! 
describe ‘.sum' do! 
! 
it 'sum 2 and 2' do! 
expect(Calculator.sum(...
console 
$ rspec spec/calculator_spec.rb! 
! 
/path/gems/activesupport-4.1.4/lib/active_support/dependencies.rb:481:in 
`l...
calculator.rb 
class Calculator! 
! 
def self.sum(a, b)! 
4! 
end! 
end
console 
$ rspec spec/calculator_spec.rb! 
! 
Run options: include {:focus=>true}! 
! 
All examples were filtered out; ign...
calculator_spec.rb 
RSpec.describe Calculator do! 
! 
describe '.sum' do! 
! 
it 'sum 2 and 2' do! 
expect(Calculator.sum(...
console 
1) Calculator.sum sum 3 and 2! 
Failure/Error: expect(Calculator.sum(3, 2)).to eq(5)! 
! 
expected: 5! 
got: 4! 
...
calculator.rb 
class Calculator! 
! 
def self.sum(a, b)! 
a + b! 
end! 
end!
console 
Run options: include {:focus=>true}! 
! 
All examples were filtered out; ignoring {:focus=>true}! 
! 
Calculator!...
TDD 
Baby steps
TDD 
Refactoring
TDD 
Design de código
TDD 
Simplicidade
TDD 
Qualidade
TDD 
Coding Dojo
BDD 
Behavior-driven development
calculator_spec.rb 
RSpec.describe Calculator do! 
! 
describe '.sum' do! 
! 
it 'sum positive values' do! 
expect(Calcula...
DIA A DIA
DIA A DIA 
Começar o projeto já com os testes
DIA A DIA 
TDD/BDD
DIA A DIA 
100% de cobertura de testes
DIA A DIA 
Código coletivo
DIA A DIA 
Testes como documentação
DIA A DIA 
Projeto não para se alguém do time for para a NASA
DIA A DIA 
Build de dez minutos
DIA A DIA 
Integração continua
DIA A DIA 
Deploy continuo
XP
XP 
Coragem
XP 
Simplicidade
OBRIGADO!
MAUROGEORGE.COM.BR
Testes automatizados o time e o cliente saem ganhando! @ Agile Vale 2014
Testes automatizados o time e o cliente saem ganhando! @ Agile Vale 2014
Próximos SlideShares
Carregando em…5
×

Testes automatizados o time e o cliente saem ganhando! @ Agile Vale 2014

678 visualizações

Publicada em

Entenda por que devemos ter testes automatizados em qualquer sistema, independente do seu tamanho. Por que teste automatizado é um investimento. Conheça o TDD e o BDD. Saiba qual o valor gerado pelos testes automatizados para o time e para o cliente. Como vender os testes automatizados ao vender o seu projeto.

Publicada em: Tecnologia
0 comentários
1 gostou
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
678
No SlideShare
0
A partir de incorporações
0
Número de incorporações
136
Ações
Compartilhamentos
0
Downloads
2
Comentários
0
Gostaram
1
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Testes automatizados o time e o cliente saem ganhando! @ Agile Vale 2014

  1. 1. TESTES AUTOMATIZADOS O TIME E O CLIENTE SAEM GANHANDO!
  2. 2. MAURO QUEM…
  3. 3. MAUROGEORGE.COM.BR
  4. 4. POR QUE DEVEMOS TESTAR?
  5. 5. POR QUE DEVEMOS TESTAR? Sistemas grandes sem testes
  6. 6. POR QUE DEVEMOS TESTAR? Teste é investimento
  7. 7. POR QUE DEVEMOS TESTAR? Sistemas sem testes
  8. 8. POR QUE DEVEMOS TESTAR? Sistemas pequenos viram grandes
  9. 9. POR QUE DEVEMOS TESTAR? Mas isso vende?
  10. 10. TESTES AUTOMATIZADOS
  11. 11. TDD Test-driven development
  12. 12. TDD O que é
  13. 13. calculator_spec.rb RSpec.describe Calculator do! ! describe ‘.sum' do! ! it 'sum 2 and 2' do! expect(Calculator.sum(2, 2)).to eq(4)! end! end! end!
  14. 14. console $ rspec spec/calculator_spec.rb! ! /path/gems/activesupport-4.1.4/lib/active_support/dependencies.rb:481:in `load_missing_constant': Unable to autoload constant Calculator, expected /path/ calculator.rb to define it (LoadError)! ! from /path/gems/activesupport-4.1.4/lib/active_support/dependencies.rb:180:in `const_missing'! ! from /path/spec/calculator_spec.rb:3:in `<top (required)>'! ! from /path/gems/rspec-core-3.0.4/lib/rspec/core/configuration.rb:1058:in `load'! ! from /path/gems/rspec-core-3.0.4/lib/rspec/core/configuration.rb:1058:in `block in load_spec_files'! ! from /path/gems/rspec-core-3.0.4/lib/rspec/core/configuration.rb:1058:in `each'! ! from /path/gems/rspec-core-3.0.4/lib/rspec/core/configuration.rb:1058:in `load_spec_files’ …
  15. 15. calculator.rb class Calculator! ! def self.sum(a, b)! 4! end! end
  16. 16. console $ rspec spec/calculator_spec.rb! ! Run options: include {:focus=>true}! ! All examples were filtered out; ignoring {:focus=>true}! ! Calculator! .sum! sum 2 and 2! ! Finished in 0.20637 seconds (files took 4.72 seconds to load)! 1 example, 0 failures! ! Randomized with seed 49032
  17. 17. calculator_spec.rb RSpec.describe Calculator do! ! describe '.sum' do! ! it 'sum 2 and 2' do! expect(Calculator.sum(2, 2)).to eq(4)! end! ! it 'sum 3 and 2' do! expect(Calculator.sum(3, 2)).to eq(5)! end! end! end!
  18. 18. console 1) Calculator.sum sum 3 and 2! Failure/Error: expect(Calculator.sum(3, 2)).to eq(5)! ! expected: 5! got: 4! ! (compared using ==)! # ./spec/calculator_spec.rb:12:in `block (3 levels) in <top (required)>'! ! Finished in 0.24562 seconds (files took 4.67 seconds to load)! 2 examples, 1 failure! ! Failed examples:! ! rspec ./spec/calculator_spec.rb:11 # Calculator.sum sum 3 and 2
  19. 19. calculator.rb class Calculator! ! def self.sum(a, b)! a + b! end! end!
  20. 20. console Run options: include {:focus=>true}! ! All examples were filtered out; ignoring {:focus=>true}! ! Calculator! .sum! sum 2 and 2! sum 3 and 2! ! Finished in 0.20995 seconds (files took 4.78 seconds to load)! 2 examples, 0 failures! ! Randomized with seed 64301
  21. 21. TDD Baby steps
  22. 22. TDD Refactoring
  23. 23. TDD Design de código
  24. 24. TDD Simplicidade
  25. 25. TDD Qualidade
  26. 26. TDD Coding Dojo
  27. 27. BDD Behavior-driven development
  28. 28. calculator_spec.rb RSpec.describe Calculator do! ! describe '.sum' do! ! it 'sum positive values' do! expect(Calculator.sum(2, 2)).to eq(4)! end! ! it 'sum negative values' do! expect(Calculator.sum(-3, -2)).to eq(-5)! end! end! end!
  29. 29. DIA A DIA
  30. 30. DIA A DIA Começar o projeto já com os testes
  31. 31. DIA A DIA TDD/BDD
  32. 32. DIA A DIA 100% de cobertura de testes
  33. 33. DIA A DIA Código coletivo
  34. 34. DIA A DIA Testes como documentação
  35. 35. DIA A DIA Projeto não para se alguém do time for para a NASA
  36. 36. DIA A DIA Build de dez minutos
  37. 37. DIA A DIA Integração continua
  38. 38. DIA A DIA Deploy continuo
  39. 39. XP
  40. 40. XP Coragem
  41. 41. XP Simplicidade
  42. 42. OBRIGADO!
  43. 43. MAUROGEORGE.COM.BR

×