agile test automation anti-patterns and rescue strategies

Post on 29-Nov-2014

1.555 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

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

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

What do you expect out of this session?

Is anyone having a painful story to share?

2

The Big Things That Go Wrong..

The Details That Go Awry...

The Rescue Strategies..

3

www.unicomlearning.com

The Big Things That Go Wrong!

4

It’s So SCARY!!!

www.unicomlearning.com

5

• 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

Silos

www.unicomlearning.com

Scrum MasterManager DeveloperQA

...

7

Results Over Reasoning

www.unicomlearning.com

8

• Cost: Manual Versus Automation• Business Value of Deliverable• Automate Everything That Is Repeatable

9

Discontinuous Integration

10

CI in Progress

11

What’s Your Test Architecture?

www.unicomlearning.com

12

Skewed Test Architecture

www.unicomlearning.com

13

14

15

16

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

Old Is Gold

www.unicomlearning.com

18

One Huge Monolithic Test Suite

19

The Details That Go Awry!

www.unicomlearning.com

20

I Love Se IDE

www.unicomlearning.com

21

X-Path Rocks

www.unicomlearning.com

22

Where’re The Page Objects?

www.unicomlearning.com

23

Page-Object Littered With Assertions

www.unicomlearning.com

24

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

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

I love to sleep

www.unicomlearning.com

27

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

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

Duplication makes life easy

30

Long live dead code!!!

31

Rescue Strategies

www.unicomlearning.com

32

Didn’t we discuss about it all the way?...Do you want to know anything more?

33

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

Thank You

World Conference – Next Generation Testing

UNICOM Trainings & Seminars Pvt. Ltd.

contact@unicomlearning.com

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

top related