Top Banner
Practical Test Automation Lessons Learned Test Automation Day 2015 Alan Richardson CompendiumDev.co.uk @eviltester
55

Test Automation Day 2015 Keynote Alan Richardson - Practical Lessons Learned in Test Automation

Aug 04, 2015

Download

Software

Alan Richardson
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Test Automation Day 2015 Keynote Alan Richardson - Practical Lessons Learned in Test Automation

Practical Test Automation Lessons Learned

Test Automation Day 2015Alan Richardson

CompendiumDev.co.uk@eviltester

Page 2: Test Automation Day 2015 Keynote Alan Richardson - Practical Lessons Learned in Test Automation

Expect controversy when we automate in software testing. Automation has long been controversial.

@eviltester2

Page 3: Test Automation Day 2015 Keynote Alan Richardson - Practical Lessons Learned in Test Automation

A Little History...

@eviltester3

Page 4: Test Automation Day 2015 Keynote Alan Richardson - Practical Lessons Learned in Test Automation

1957

@eviltester4

Page 5: Test Automation Day 2015 Keynote Alan Richardson - Practical Lessons Learned in Test Automation

“What we need is more automation.”

Ford Motor company VP, Delmar S. Harder,

Coined “automation” in 1948

1948

@eviltester5

Page 6: Test Automation Day 2015 Keynote Alan Richardson - Practical Lessons Learned in Test Automation

Automation is not a ‘thing’

@eviltester6

Page 7: Test Automation Day 2015 Keynote Alan Richardson - Practical Lessons Learned in Test Automation

Automation is a ‘process’ (automatization)

@eviltester7

Page 8: Test Automation Day 2015 Keynote Alan Richardson - Practical Lessons Learned in Test Automation

1952

@eviltester8

Page 9: Test Automation Day 2015 Keynote Alan Richardson - Practical Lessons Learned in Test Automation

Automatization was hard to spell

"...the author found automatization both awkward and - from the standpoint of his weak spelling - hazardous ... it was the ease of spelling that finally overcame the author's reticence to coin a new word"

John Diebold, “Automation”, 1952

@eviltester9

Page 10: Test Automation Day 2015 Keynote Alan Richardson - Practical Lessons Learned in Test Automation

The word “Automation” is...

Norbert Wiener

“hideous”

Sir Anthony Eden

“barbarous”

@eviltester10

Page 11: Test Automation Day 2015 Keynote Alan Richardson - Practical Lessons Learned in Test Automation

“Science”, May 6th, 1960

@eviltester11

Page 12: Test Automation Day 2015 Keynote Alan Richardson - Practical Lessons Learned in Test Automation

“Science”, May 6th, 1960

'automatization', 'automata', 'strategy', 'machine', 'automatic', 'automated', 'programming'

@eviltester12

Page 13: Test Automation Day 2015 Keynote Alan Richardson - Practical Lessons Learned in Test Automation

Watch your language

@eviltester13

Page 14: Test Automation Day 2015 Keynote Alan Richardson - Practical Lessons Learned in Test Automation

“Testers don’t need to learn to program to create automation”

Controversy. Argument. Conflict.

Leads To

@eviltester14

Page 15: Test Automation Day 2015 Keynote Alan Richardson - Practical Lessons Learned in Test Automation

“Testers don’t need to learn to program, to program automata”

You do need to learn to program to program

Leads To

@eviltester15

Page 16: Test Automation Day 2015 Keynote Alan Richardson - Practical Lessons Learned in Test Automation

“Testers don’t need to learn to program, to define test data” (etc.)

A clear strategy for automating against

Leads To

@eviltester16

Page 17: Test Automation Day 2015 Keynote Alan Richardson - Practical Lessons Learned in Test Automation

Automating requires a change to your test process.Describe your process with the correct words.

@eviltester17

Page 18: Test Automation Day 2015 Keynote Alan Richardson - Practical Lessons Learned in Test Automation

When we tagged ‘automation’ on● No time to automate● Less ‘testing’ done● No Maintenance of automata● ‘automation’ justified by ROI● ‘automation’ didn’t fit the metrics and tools

@eviltester18

Page 19: Test Automation Day 2015 Keynote Alan Richardson - Practical Lessons Learned in Test Automation

Natural to tag it on when...

● Requirements (xref to)● Test Cases (lead to)● Test Scripts (automated by)● Automation

@eviltester19

Page 20: Test Automation Day 2015 Keynote Alan Richardson - Practical Lessons Learned in Test Automation

“Automate all the test scripts”

“But we don’t have any test scripts”

20

Page 21: Test Automation Day 2015 Keynote Alan Richardson - Practical Lessons Learned in Test Automation

1964

@eviltester21

Page 22: Test Automation Day 2015 Keynote Alan Richardson - Practical Lessons Learned in Test Automation

"...automation makes it possible to do many things that could not be done without it..."

John Diebold, Beyond Automation,

1964, pg 191@eviltester22

Page 23: Test Automation Day 2015 Keynote Alan Richardson - Practical Lessons Learned in Test Automation

How to start automating?

@eviltester23

Page 24: Test Automation Day 2015 Keynote Alan Richardson - Practical Lessons Learned in Test Automation

Start by figuring out ‘Why?’, then ‘Doing’ and ‘Learning’

@eviltester24

Page 25: Test Automation Day 2015 Keynote Alan Richardson - Practical Lessons Learned in Test Automation

1956

@eviltester25

Page 26: Test Automation Day 2015 Keynote Alan Richardson - Practical Lessons Learned in Test Automation

How to start automating?

A structured approach for vendor procurement?

@eviltester26

Page 27: Test Automation Day 2015 Keynote Alan Richardson - Practical Lessons Learned in Test Automation

How not to start automating?

A structured approach for vendor procurement

@eviltester27

Page 28: Test Automation Day 2015 Keynote Alan Richardson - Practical Lessons Learned in Test Automation

How not to start automating?● Identify a set of tools● Create objective feature assessment lists● Add weightings to each objective● Create RFx for tool vendors● Await RFx Replies● Review replies● Choose Tool● Evaluate and figure out how to use the tool

@eviltester28

Page 29: Test Automation Day 2015 Keynote Alan Richardson - Practical Lessons Learned in Test Automation

“Many managements genuinely seem to be looking at this subject as if they were walking around the edge of an ice cold swimming pool...”

John Diebold, Beyond Automation,

1964, pg 66@eviltester29

Page 30: Test Automation Day 2015 Keynote Alan Richardson - Practical Lessons Learned in Test Automation

“...They realize that sooner or later they are going to have to jump in, but they try to postpone the leap with as much rationalization and fact-gathering as possible”

John Diebold, Beyond Automation,

1964, pg 66@eviltester30

Page 31: Test Automation Day 2015 Keynote Alan Richardson - Practical Lessons Learned in Test Automation

Evaluate everything for a long time and end up with nothing

@eviltester31

Page 32: Test Automation Day 2015 Keynote Alan Richardson - Practical Lessons Learned in Test Automation

Evaluate everything for a long time and end up with nothing

@eviltester32

Page 33: Test Automation Day 2015 Keynote Alan Richardson - Practical Lessons Learned in Test Automation

How to start automating

● Why?○ Because?

■ How?● Experiment

@eviltester33

Page 34: Test Automation Day 2015 Keynote Alan Richardson - Practical Lessons Learned in Test Automation

Avoid the Danger of Ratholes. Understand your objectives

@eviltester34

Page 35: Test Automation Day 2015 Keynote Alan Richardson - Practical Lessons Learned in Test Automation

As a:

● Tester: ○ identify the areas to improve

● Manager: ○ prioritise and approve, ○ have a vision, ○ check in frequently

● Automator:○ build small, solve fast, try multiple approaches

@eviltester35

Page 36: Test Automation Day 2015 Keynote Alan Richardson - Practical Lessons Learned in Test Automation

My First Automation...

@eviltester36

Page 37: Test Automation Day 2015 Keynote Alan Richardson - Practical Lessons Learned in Test Automation

Ignore the Tools & Demos

● SSADM Test Tool● Generic Test Case Management Tool● Test Case Xrefer● Metrics Collator● Test Data Generator * 2● Keyword driven terminal emu automator● Demos to ‘sell’ automation to clients

@eviltester37

Page 38: Test Automation Day 2015 Keynote Alan Richardson - Practical Lessons Learned in Test Automation

My First Automation was tools and frameworks

@eviltester38

Page 39: Test Automation Day 2015 Keynote Alan Richardson - Practical Lessons Learned in Test Automation

My First Automation was tools and frameworks

@eviltester39

Page 40: Test Automation Day 2015 Keynote Alan Richardson - Practical Lessons Learned in Test Automation

My first ‘good’ automation

Automate the generation of ‘Scripts’ from ‘Paths’ to support interactive testing

@eviltester40

Page 41: Test Automation Day 2015 Keynote Alan Richardson - Practical Lessons Learned in Test Automation

Do start by solving problems

@eviltester41

Page 42: Test Automation Day 2015 Keynote Alan Richardson - Practical Lessons Learned in Test Automation

Don’t start by building tools or frameworks

@eviltester42

Page 43: Test Automation Day 2015 Keynote Alan Richardson - Practical Lessons Learned in Test Automation

Refactor to Flexible Abstraction Layers

@eviltester43

Page 44: Test Automation Day 2015 Keynote Alan Richardson - Practical Lessons Learned in Test Automation

Automate the easy stuff first

● start small● the better you get, the easier things

become, so start simple● 80/20 : automate the 20%, gain 80%

value

@eviltester44

Page 45: Test Automation Day 2015 Keynote Alan Richardson - Practical Lessons Learned in Test Automation

Do start with proof of concepts

@eviltester45

Page 46: Test Automation Day 2015 Keynote Alan Richardson - Practical Lessons Learned in Test Automation

Can we automate this system?

● can you execute some basic paths?● check results where?● individual control mechanisms?● synchronisation methods?

46

Page 47: Test Automation Day 2015 Keynote Alan Richardson - Practical Lessons Learned in Test Automation

Automate that which can be automated. Prioritize by value and ease.

@eviltester47

Page 48: Test Automation Day 2015 Keynote Alan Richardson - Practical Lessons Learned in Test Automation

How do you manage that which you do not know how to do?

@eviltester48

Page 49: Test Automation Day 2015 Keynote Alan Richardson - Practical Lessons Learned in Test Automation

@eviltester

1860

194749

Page 50: Test Automation Day 2015 Keynote Alan Richardson - Practical Lessons Learned in Test Automation

“He must, as in the past, be so complete a master of the technical aspects of his profession that his subordinates will recognise his mastery, and be prepared to learn from him.”

The Art of Leadership, Captain S.W. Roskill,

1964, pg 30

Page 51: Test Automation Day 2015 Keynote Alan Richardson - Practical Lessons Learned in Test Automation

“The capability of a superintendent is eminently conspicuous in the selection of his attendants…”

The Philosophy of Insanity, 1860

51

Page 52: Test Automation Day 2015 Keynote Alan Richardson - Practical Lessons Learned in Test Automation

Lessons learned in recruitment

● Phone screen○ cv, experience & philosophy○ portfolio

● Face to face○ pairing○ review, fix, create, speculate

Technical Knowledge Required

@eviltester52

Page 53: Test Automation Day 2015 Keynote Alan Richardson - Practical Lessons Learned in Test Automation

“Automation has turned out to be a much more complex and difficult problem than was originally thought.”

John Diebold, Beyond Automation,

1964, pg 5153

Page 54: Test Automation Day 2015 Keynote Alan Richardson - Practical Lessons Learned in Test Automation

Lessons Learned: Do Stuff● Automation is not a thing, it is a process● Watch your language● Solve problems quickly and maximize value● Build abstractions, not tools and frameworks● Experiment small and fast● Hire well, based on a portfolio and demo

@eviltester54