View
327
Download
0
Category
Preview:
DESCRIPTION
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.
Citation preview
TESTES AUTOMATIZADOS O TIME E O CLIENTE SAEM
GANHANDO!
MAURO QUEM…
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
TDDTest-driven development
TDDO que é
calculator_spec.rbRSpec.describe Calculator do!! describe ‘.sum' do!! it 'sum 2 and 2' do! expect(Calculator.sum(2, 2)).to eq(4)! end! end!end!
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’ …
calculator.rbclass 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; 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
calculator_spec.rbRSpec.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!
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
calculator.rbclass Calculator!! def self.sum(a, b)! a + b! end!end!
consoleRun 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
TDDBaby steps
TDDRefactoring
TDDDesign de código
TDDSimplicidade
TDDQualidade
TDDCoding Dojo
BDDBehavior-driven development
calculator_spec.rbRSpec.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!
DIA A DIA
DIA A DIAComeçar o projeto já com os testes
DIA A DIATDD/BDD
DIA A DIA100% de cobertura de testes
DIA A DIACódigo coletivo
DIA A DIATestes como documentação
DIA A DIAProjeto não para se alguém do time for para a NASA
DIA A DIABuild de dez minutos
DIA A DIAIntegração continua
DIA A DIADeploy continuo
XP
XPCoragem
XPSimplicidade
OBRIGADO!
Recommended