Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Agile Testing - Anti-patterns and Rescue Strate...

Agile Testing - Anti-patterns and Rescue Strategies

When Agile Testing goes wrong, it is important to retrospect and understand what and why things have gone wrong. This presentation is an experience sharing that the author/speaker has observed during his stints in Technology Consulting as part of Coaching/Training Assessment.

Karthik Sirasanagandla

July 27, 2013
Tweet

More Decks by Karthik Sirasanagandla

Other Decks in Technology

Transcript

  1. Next Generation Testing Conference (c) Agile Testing Anti-Patterns & Rescue

    Strategies by Karthik Sirasanagandla Agile | Lean Coach Industrial Logic
  2. What do you expect out of this session? Is anyone

    having a painful story to share?
  3. The Big Things That Go Wrong.. The Details That Go

    Awry... The Rescue Strategies..
  4. • Nothing in life is to be feared, it is

    only to be understood. -- Marie Curie – You’re not afraid to try again, you’re just afraid of getting hurt. • In Everyday Scripting with Ruby, Brian Marick advises to learn to program by writing one. #FailProof • Learn By Doing
  5. Quiz Time • What is the wolf that can huff

    and puff your hay stack in your test pyramid? • What is the wolf that can break your wooden stack in your test pyramid? • Who is the wolf that can break you brick stack in your test pyramid? • What is the moral of the story? Just build unit tests???
  6. Bad Code #my_target_page.rb def verify_edit_link_presence //BAD: Assertion in Page-Object has_link?("Edit").should

    be_true end #my_target_spec it "blah blah blah" @my_target_page.do_some_action @my_target_page.verify_edit_link_presence end
  7. Good Code #my_target_page.rb def has_edit_link? has_link?("Edit") end #my_target_spec it "blah

    blah blah" @my_target_page.do_some_action @my_target_page.has_edit_link?.should be_true end
  8. Scenario To Code: Good Versus Bad As a user I

    should be able to add notes to the table so that the information is recorded for future reference. def add_and_save_notes notes fill_in("my_target_text_box", :with => notes) click_button "Save" # This makes an AJAX request and adds new row to the table upon successfully saving sleep(3) #<-- This is BAD code. end def add_and_save_notes notes ... wait_until { has_text?(notes) } #<-- This is GOOD practice that enables test stability and hence faith in test results end
  9. Asserting message for exactness • #my_target_spec.rb describe "save notes" do

    it "should add notes as new row to table upon successful save" do notes = "sample notes" expected_update_message = "Your note is added successfully!" @my_target_page. add_and_save_notes notes @my_target_page.update_message.should == expected_update_message end end Why measure exactness???
  10. References Resources • Agile Testing by Lisa Crispin and Janet

    Gregory – Driving Selenium Safely from http:// elearning.industriallogic.com • http://patrickwilsonwelsh.com/ • http://kartzontech.blogspot.in/ • Everyday scripting with Ruby for Teams, Testers and You.
  11. Karthik Sirasanagandla Agile | Lean Coach Images Sources: http://www.geograph.org.uk/photo/122440 http://www.flickr.com/photos/philipbitnar/3194364095/

    http://www.flickr.com/photos/un_photo/3331240051/in/photostream/ http://www.synnovatia.com/business-coaching-blog/bid/132417/Getting-Past-Your-Fears-and-Growing-a-Successful-Business http://www.global-integration.com/cartoons/silos/ http://www.kent.ac.uk/secl/philosophy/jw/reasoning/club/ http://www.freefoto.com/preview/904-22-3505/White-clouds-and-blue-sky http://www.flickr.com/photos/nagesh_kamath/4714936714/ http://blogs.agilefaqs.com/2011/02/01/inverting-the-testing-pyramid/ http://www.flickr.com/photos/w9ned/3958782404/ http://commons.wikimedia.org/wiki/File:Selenium_IDE.png http://commons.wikimedia.org/wiki/File:XPath_example.svg http://www.flickr.com/photos/betobaibich/266557188/ http://commons.wikimedia.org/wiki/File:Littering_in_Stockholm.jpg http://commons.wikimedia.org/wiki/File:Gray_paper_bag_with_sad_smiley_over_head.jpg http://www.flickr.com/photos/byronpeebles/3337412761/in/photostream/ http://www.fotopedia.com/items/flickr-24930799 http://www.flickr.com/photos/asterix611/5120445522/in/photostream/ http://philby.deviantart.com/art/Threatening-Behaviour-lines-72724012 http://martinfowler.com/bliki/TestPyramid.html @kartzontech