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

637 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
637
No SlideShare
0
A partir de incorporações
0
Número de incorporações
135
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

×