Your SlideShare is downloading. ×
Teste seu código! não seja imaturo e nem bundão.
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Teste seu código! não seja imaturo e nem bundão.

469
views

Published on

nessa palestra apresento os benefícios de testes automatizados, porque a coragem é importante para o desenvolvedor, TDD - test driven development, BDD - behavior driven development, ruby test unit, …

nessa palestra apresento os benefícios de testes automatizados, porque a coragem é importante para o desenvolvedor, TDD - test driven development, BDD - behavior driven development, ruby test unit, RSpec e talvez um pouco de cucumber :) você ainda quer continuar sendo um imaturo e um bundão?

Published in: Technology

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
469
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Teste seu código! não seja imaturo e nem bundão @lucasrenansábado, 24 de março de 2012
  • 2. http://nudesign.com.br/sábado, 24 de março de 2012
  • 3. guru sorocaba http://gurusorocaba.com.br/sábado, 24 de março de 2012
  • 4. Como você garante que seu código funciona?sábado, 24 de março de 2012
  • 5. sábado, 24 de março de 2012
  • 6. Você confia no seu código?sábado, 24 de março de 2012
  • 7. sábado, 24 de março de 2012
  • 8. Muitos bugs no sistema?sábado, 24 de março de 2012
  • 9. Seu chefe fica furioso!sábado, 24 de março de 2012
  • 10. Você fica frustradosábado, 24 de março de 2012
  • 11. Programar se torna chatosábado, 24 de março de 2012
  • 12. Inspirações da palestrasábado, 24 de março de 2012
  • 13. Por que eu sou fanático por testes e você é um bundão? Sylvestre Mergulhão http://mergulhao.info/2009/10/29/por-que-eu-sou-fan-tico- por-testes-e-voc-um-bund-osábado, 24 de março de 2012
  • 14. Só os imaturos não testam Carlos Brando http://nomedojogo.com/2009/04/06/so-os-imaturos-nao- testam/sábado, 24 de março de 2012
  • 15. Você é um imaturo!sábado, 24 de março de 2012
  • 16. Colar post-its na parede todo mundo quer, mas escrever testes automatizados ninguém quer. Rodrigo Yoshima http://blog.aspercom.com.br/2010/01/12/incrementos/sábado, 24 de março de 2012
  • 17. E os testes?sábado, 24 de março de 2012
  • 18. Se você não tem segurança, você tem medo!sábado, 24 de março de 2012
  • 19. Kent Beck sobre o medo • o medo te faz inseguro • o medo te faz querer comunicar-se menos • o medo te faz afastar-se de feedback • o medo te faz mal humoradosábado, 24 de março de 2012
  • 20. Calma!sábado, 24 de março de 2012
  • 21. sábado, 24 de março de 2012
  • 22. Manifesto ÁgilIndivíduos e interações mais que processos eferramentasSoftware em funcionamento mais quedocumentação abrangenteColaboração com o cliente mais que negociação decontratosResponder a mudanças mais que seguir um planosábado, 24 de março de 2012
  • 23. Extreme Programming Kent Becksábado, 24 de março de 2012
  • 24. Coragemsábado, 24 de março de 2012
  • 25. Testes • fazem você se setir confiante • fazem você acreditar no seu código • fazem você adicionar novas features sem medo • fazem você dormir tranquilosábado, 24 de março de 2012
  • 26. Ritmo sustentávelsábado, 24 de março de 2012
  • 27. TDD test driven developmentsábado, 24 de março de 2012
  • 28. Desenvolvimento guiados por testes é uma forma de administrar o medo durante a programação! Kent Becksábado, 24 de março de 2012
  • 29. sábado, 24 de março de 2012
  • 30. 3 fasessábado, 24 de março de 2012
  • 31. BDD behaviour driven developmentsábado, 24 de março de 2012
  • 32. Desenvolvimento orientado a comportamento • testar o comportamento da sua aplicação • mais sobre escrever especificações • escrever testes também é documentarsábado, 24 de março de 2012
  • 33. Show me the code :)sábado, 24 de março de 2012
  • 34. Ruby Test Unitsábado, 24 de março de 2012
  • 35. Baby stepssábado, 24 de março de 2012
  • 36. require "minitest/autorun" class PostTest < MiniTest::Unit::TestCase def test_should_initialize_a_post post = Post.new assert(post) end end ERROR test_should_initialize_a_post (0:00:00.000) uninitialized constant PostTest::Postsábado, 24 de março de 2012
  • 37. class Post end PASS test_should_initialize_a_postsábado, 24 de março de 2012
  • 38. Eu poderia dar passos mais largos caso me sentisse confiante!sábado, 24 de março de 2012
  • 39. def test_should_have_a_title_if_is_setted post = Post.new assert_equal(post.title, "post title") end ERROR test_should_have_a_title_if_is_setted undefined method `title for #<Post: 0x0000010091dc90>sábado, 24 de março de 2012
  • 40. class Post def title "my post" end end PASS test_should_have_a_title_if_is_settedsábado, 24 de março de 2012
  • 41. def test_should_have_a_title_if_is_setted post = Post.new post.title = "my post" assert_equal(post.title, "my post") end ERROR test_should_have_a_title_if_is_setted undefined method `title= for #<Post: 0x0000010107ca90>sábado, 24 de março de 2012
  • 42. class Post def title "my post" end def title=(title) end end PASS test_should_have_a_title_if_is_settedsábado, 24 de março de 2012
  • 43. def test_should_have_a_blank_title_if_none_is_setted post = Post.new assert_equal(post.title, nil) end FAIL test_should_have_a_blank_title_if_none_is_setted Expected: "my post" Actual: nilsábado, 24 de março de 2012
  • 44. class Post def title @title end def title=(title) @title = title end end PASS test_should_have_a_blank_title_if_none_is_settedsábado, 24 de março de 2012
  • 45. Refatorarsábado, 24 de março de 2012
  • 46. class Post attr_accessor :title end PASS test_should_have_a_blank_title_if_none_is_setted PASS test_should_initialize_a_post PASS test_should_have_a_title_if_is_settedsábado, 24 de março de 2012
  • 47. Exemplo meio idiota porém, ilustra bem o ciclo do TDD :)sábado, 24 de março de 2012
  • 48. RSpecsábado, 24 de março de 2012
  • 49. describe User do describe "authentication" do it "should be active to authentication" do user = Factory.build(:user, :loggable => true) user.active_for_authentication?.should be_true end it "should not be active to authentication" do user = Factory.build(:user, :loggable => false) user.active_for_authentication?.should be_false end end endsábado, 24 de março de 2012
  • 50. RSpec + Capybarasábado, 24 de março de 2012
  • 51. describe "authentication" do let(:user) { Factory.create(:user, :password => "123456", :password_confirmation => "123456") } describe "logging" do it "should login with valid credentials" do visit root_path fill_in "user_email", :with => user.email fill_in "user_password", :with => "123456" click_button "Login" page.should have_content("successfully logged" ) end end ...sábado, 24 de março de 2012
  • 52. Cucumbersábado, 24 de março de 2012
  • 53. Funcionalidade: Adição Para evitar erros bobos Como um péssimo matemático Eu quero saber como somar dois números Cenário: Adicionar dois números Dado que eu digitei 50 na calculadora E que eu digitei 70 na calculadora Quando eu aperto o botão de soma Então o resultado na calculadora deve ser 120sábado, 24 de março de 2012
  • 54. Before do @calc = Calculadora.new end Dado /que eu digitei (d+) na calculadora/ do |n| @calc.push n.to_i end Quando eu aperto o botão de soma do @result = @calc.soma end Então /o resultado na calculadora deve ser (d*)/ do |result| @result.should == result.to_i endsábado, 24 de março de 2012
  • 55. Você ainda vai continuar sendo um bundão???sábado, 24 de março de 2012
  • 56. Obrigado http://lucasrenan.comsábado, 24 de março de 2012