agile test automation anti-patterns and rescue strategies
DESCRIPTION
A lot of them going by the catchy buzz-words adopt practices and end-up paying a lot of price either in terms of un-sustainability or cost-heavy maintenance. This talk is all about learning the things that go wrong in automation testing strategies. We'll then go on to learn how to go the right way about automation testing. Lastly, how do we recover from the elephantine automation test-suite that is killing the team. We'll learn theory. Reflect on our practices to see where we stand. Finally walk away with techniques for theory meeting practice.TRANSCRIPT
![Page 1: Agile Test Automation Anti-patterns and Rescue Strategies](https://reader031.vdocuments.mx/reader031/viewer/2022020122/5479961cb4795995098b47ab/html5/thumbnails/1.jpg)
World Conference – Next Generation Testing
08 – 12 July, Le-Meridien, Bangalore
Agile Test Automation Anti-patterns & Rescue Strategies
www.unicomlearning.com
Speaker:Karthik SirasanagandlaAgile/Lean CoachIndustrial Logic
1
![Page 2: Agile Test Automation Anti-patterns and Rescue Strategies](https://reader031.vdocuments.mx/reader031/viewer/2022020122/5479961cb4795995098b47ab/html5/thumbnails/2.jpg)
What do you expect out of this session?
Is anyone having a painful story to share?
2
![Page 3: Agile Test Automation Anti-patterns and Rescue Strategies](https://reader031.vdocuments.mx/reader031/viewer/2022020122/5479961cb4795995098b47ab/html5/thumbnails/3.jpg)
The Big Things That Go Wrong..
The Details That Go Awry...
The Rescue Strategies..
3
![Page 4: Agile Test Automation Anti-patterns and Rescue Strategies](https://reader031.vdocuments.mx/reader031/viewer/2022020122/5479961cb4795995098b47ab/html5/thumbnails/4.jpg)
www.unicomlearning.com
The Big Things That Go Wrong!
4
![Page 5: Agile Test Automation Anti-patterns and Rescue Strategies](https://reader031.vdocuments.mx/reader031/viewer/2022020122/5479961cb4795995098b47ab/html5/thumbnails/5.jpg)
It’s So SCARY!!!
www.unicomlearning.com
5
![Page 6: Agile Test Automation Anti-patterns and Rescue Strategies](https://reader031.vdocuments.mx/reader031/viewer/2022020122/5479961cb4795995098b47ab/html5/thumbnails/6.jpg)
• 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
6
![Page 7: Agile Test Automation Anti-patterns and Rescue Strategies](https://reader031.vdocuments.mx/reader031/viewer/2022020122/5479961cb4795995098b47ab/html5/thumbnails/7.jpg)
Silos
www.unicomlearning.com
Scrum MasterManager DeveloperQA
...
7
![Page 8: Agile Test Automation Anti-patterns and Rescue Strategies](https://reader031.vdocuments.mx/reader031/viewer/2022020122/5479961cb4795995098b47ab/html5/thumbnails/8.jpg)
Results Over Reasoning
www.unicomlearning.com
8
![Page 9: Agile Test Automation Anti-patterns and Rescue Strategies](https://reader031.vdocuments.mx/reader031/viewer/2022020122/5479961cb4795995098b47ab/html5/thumbnails/9.jpg)
• Cost: Manual Versus Automation• Business Value of Deliverable• Automate Everything That Is Repeatable
9
![Page 10: Agile Test Automation Anti-patterns and Rescue Strategies](https://reader031.vdocuments.mx/reader031/viewer/2022020122/5479961cb4795995098b47ab/html5/thumbnails/10.jpg)
Discontinuous Integration
10
![Page 11: Agile Test Automation Anti-patterns and Rescue Strategies](https://reader031.vdocuments.mx/reader031/viewer/2022020122/5479961cb4795995098b47ab/html5/thumbnails/11.jpg)
CI in Progress
11
![Page 12: Agile Test Automation Anti-patterns and Rescue Strategies](https://reader031.vdocuments.mx/reader031/viewer/2022020122/5479961cb4795995098b47ab/html5/thumbnails/12.jpg)
What’s Your Test Architecture?
www.unicomlearning.com
12
![Page 13: Agile Test Automation Anti-patterns and Rescue Strategies](https://reader031.vdocuments.mx/reader031/viewer/2022020122/5479961cb4795995098b47ab/html5/thumbnails/13.jpg)
Skewed Test Architecture
www.unicomlearning.com
13
![Page 14: Agile Test Automation Anti-patterns and Rescue Strategies](https://reader031.vdocuments.mx/reader031/viewer/2022020122/5479961cb4795995098b47ab/html5/thumbnails/14.jpg)
14
![Page 15: Agile Test Automation Anti-patterns and Rescue Strategies](https://reader031.vdocuments.mx/reader031/viewer/2022020122/5479961cb4795995098b47ab/html5/thumbnails/15.jpg)
15
![Page 16: Agile Test Automation Anti-patterns and Rescue Strategies](https://reader031.vdocuments.mx/reader031/viewer/2022020122/5479961cb4795995098b47ab/html5/thumbnails/16.jpg)
16
![Page 17: Agile Test Automation Anti-patterns and Rescue Strategies](https://reader031.vdocuments.mx/reader031/viewer/2022020122/5479961cb4795995098b47ab/html5/thumbnails/17.jpg)
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???
17
![Page 18: Agile Test Automation Anti-patterns and Rescue Strategies](https://reader031.vdocuments.mx/reader031/viewer/2022020122/5479961cb4795995098b47ab/html5/thumbnails/18.jpg)
Old Is Gold
www.unicomlearning.com
18
![Page 19: Agile Test Automation Anti-patterns and Rescue Strategies](https://reader031.vdocuments.mx/reader031/viewer/2022020122/5479961cb4795995098b47ab/html5/thumbnails/19.jpg)
One Huge Monolithic Test Suite
19
![Page 20: Agile Test Automation Anti-patterns and Rescue Strategies](https://reader031.vdocuments.mx/reader031/viewer/2022020122/5479961cb4795995098b47ab/html5/thumbnails/20.jpg)
The Details That Go Awry!
www.unicomlearning.com
20
![Page 21: Agile Test Automation Anti-patterns and Rescue Strategies](https://reader031.vdocuments.mx/reader031/viewer/2022020122/5479961cb4795995098b47ab/html5/thumbnails/21.jpg)
I Love Se IDE
www.unicomlearning.com
21
![Page 22: Agile Test Automation Anti-patterns and Rescue Strategies](https://reader031.vdocuments.mx/reader031/viewer/2022020122/5479961cb4795995098b47ab/html5/thumbnails/22.jpg)
X-Path Rocks
www.unicomlearning.com
22
![Page 23: Agile Test Automation Anti-patterns and Rescue Strategies](https://reader031.vdocuments.mx/reader031/viewer/2022020122/5479961cb4795995098b47ab/html5/thumbnails/23.jpg)
Where’re The Page Objects?
www.unicomlearning.com
23
![Page 24: Agile Test Automation Anti-patterns and Rescue Strategies](https://reader031.vdocuments.mx/reader031/viewer/2022020122/5479961cb4795995098b47ab/html5/thumbnails/24.jpg)
Page-Object Littered With Assertions
www.unicomlearning.com
24
![Page 25: Agile Test Automation Anti-patterns and Rescue Strategies](https://reader031.vdocuments.mx/reader031/viewer/2022020122/5479961cb4795995098b47ab/html5/thumbnails/25.jpg)
Bad Code#my_target_page.rbdef verify_edit_link_presence //BAD: Assertion in Page-Object has_link?("Edit").should be_true end
#my_target_specit "blah blah blah" @my_target_page.do_some_action @my_target_page.verify_edit_link_presenceend
25
![Page 26: Agile Test Automation Anti-patterns and Rescue Strategies](https://reader031.vdocuments.mx/reader031/viewer/2022020122/5479961cb4795995098b47ab/html5/thumbnails/26.jpg)
Good Code#my_target_page.rbdef has_edit_link? has_link?("Edit")end
#my_target_specit "blah blah blah" @my_target_page.do_some_action @my_target_page.has_edit_link?.should be_trueend
26
![Page 27: Agile Test Automation Anti-patterns and Rescue Strategies](https://reader031.vdocuments.mx/reader031/viewer/2022020122/5479961cb4795995098b47ab/html5/thumbnails/27.jpg)
I love to sleep
www.unicomlearning.com
27
![Page 28: Agile Test Automation Anti-patterns and Rescue Strategies](https://reader031.vdocuments.mx/reader031/viewer/2022020122/5479961cb4795995098b47ab/html5/thumbnails/28.jpg)
Scenario To Code: Good Versus BadAs a userI should be able to add notes to the tableso 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 resultsend
28
![Page 29: Agile Test Automation Anti-patterns and Rescue Strategies](https://reader031.vdocuments.mx/reader031/viewer/2022020122/5479961cb4795995098b47ab/html5/thumbnails/29.jpg)
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 endend
Why measure exactness???
29
![Page 30: Agile Test Automation Anti-patterns and Rescue Strategies](https://reader031.vdocuments.mx/reader031/viewer/2022020122/5479961cb4795995098b47ab/html5/thumbnails/30.jpg)
Duplication makes life easy
30
![Page 31: Agile Test Automation Anti-patterns and Rescue Strategies](https://reader031.vdocuments.mx/reader031/viewer/2022020122/5479961cb4795995098b47ab/html5/thumbnails/31.jpg)
Long live dead code!!!
31
![Page 32: Agile Test Automation Anti-patterns and Rescue Strategies](https://reader031.vdocuments.mx/reader031/viewer/2022020122/5479961cb4795995098b47ab/html5/thumbnails/32.jpg)
Rescue Strategies
www.unicomlearning.com
32
![Page 33: Agile Test Automation Anti-patterns and Rescue Strategies](https://reader031.vdocuments.mx/reader031/viewer/2022020122/5479961cb4795995098b47ab/html5/thumbnails/33.jpg)
Didn’t we discuss about it all the way?...Do you want to know anything more?
33
![Page 34: Agile Test Automation Anti-patterns and Rescue Strategies](https://reader031.vdocuments.mx/reader031/viewer/2022020122/5479961cb4795995098b47ab/html5/thumbnails/34.jpg)
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.
34
![Page 35: Agile Test Automation Anti-patterns and Rescue Strategies](https://reader031.vdocuments.mx/reader031/viewer/2022020122/5479961cb4795995098b47ab/html5/thumbnails/35.jpg)
Thank You
World Conference – Next Generation Testing
UNICOM Trainings & Seminars Pvt. Ltd.
Images Source:http://www.geograph.org.uk/photo/122440http://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-Businesshttp://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-skyhttp://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.pnghttp://commons.wikimedia.org/wiki/File:XPath_example.svghttp://www.flickr.com/photos/betobaibich/266557188/http://commons.wikimedia.org/wiki/File:Littering_in_Stockholm.jpghttp://commons.wikimedia.org/wiki/File:Gray_paper_bag_with_sad_smiley_over_head.jpghttp://www.flickr.com/photos/byronpeebles/3337412761/in/photostream/http://www.fotopedia.com/items/flickr-24930799http://www.flickr.com/photos/asterix611/5120445522/in/photostream/http://philby.deviantart.com/art/Threatening-Behaviour-lines-72724012http://martinfowler.com/bliki/TestPyramid.html
35