Agile Test Automation Anti-patterns and Rescue Strategies
-
Upload
karthik-sirasanagandla -
Category
Technology
-
view
1.555 -
download
0
description
Transcript of Agile Test Automation Anti-patterns and Rescue Strategies
![Page 1: Agile Test Automation Anti-patterns and Rescue Strategies](https://reader031.fdocuments.net/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.fdocuments.net/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.fdocuments.net/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.fdocuments.net/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.fdocuments.net/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.fdocuments.net/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.fdocuments.net/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.fdocuments.net/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.fdocuments.net/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.fdocuments.net/reader031/viewer/2022020122/5479961cb4795995098b47ab/html5/thumbnails/10.jpg)
Discontinuous Integration
10
![Page 11: Agile Test Automation Anti-patterns and Rescue Strategies](https://reader031.fdocuments.net/reader031/viewer/2022020122/5479961cb4795995098b47ab/html5/thumbnails/11.jpg)
CI in Progress
11
![Page 12: Agile Test Automation Anti-patterns and Rescue Strategies](https://reader031.fdocuments.net/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.fdocuments.net/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.fdocuments.net/reader031/viewer/2022020122/5479961cb4795995098b47ab/html5/thumbnails/14.jpg)
14
![Page 15: Agile Test Automation Anti-patterns and Rescue Strategies](https://reader031.fdocuments.net/reader031/viewer/2022020122/5479961cb4795995098b47ab/html5/thumbnails/15.jpg)
15
![Page 16: Agile Test Automation Anti-patterns and Rescue Strategies](https://reader031.fdocuments.net/reader031/viewer/2022020122/5479961cb4795995098b47ab/html5/thumbnails/16.jpg)
16
![Page 17: Agile Test Automation Anti-patterns and Rescue Strategies](https://reader031.fdocuments.net/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.fdocuments.net/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.fdocuments.net/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.fdocuments.net/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.fdocuments.net/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.fdocuments.net/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.fdocuments.net/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.fdocuments.net/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.fdocuments.net/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.fdocuments.net/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.fdocuments.net/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.fdocuments.net/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.fdocuments.net/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.fdocuments.net/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.fdocuments.net/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.fdocuments.net/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.fdocuments.net/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.fdocuments.net/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.fdocuments.net/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