© Dorothy Graham 2013
www.DorothyGraham.co.uk
1
Intelligent Mistakes
in Test Automation
(or: it seemed a good idea at the time)
Prepared and presented by
Dorothy Graham
Twitter: @DorothyGraham
www.DorothyGraham.co.uk
© Dorothy Graham 2013
2
Intelligent mistakes?
mistake:
an action resulting from defective judgment,
deficient knowledge or carelessness, a
misconception or misunderstanding
intelligent
exercising good judgment, showing mental
resourcefulness, being well-informed
intelligent mistake
action based on a faulty premise, with the best of
intentions, but with adverse consequences
© Dorothy Graham 2013
www.DorothyGraham.co.uk
3
Contents
Automation should find lots of bugs
Automation comes out of a box (or download)
Let’s automate all of our manual tests
ROI is essential for automation
Testing tools are testers’ tools
Twitter: @DorothyGraham
4
Good idea?
Automation should find lots of bugs
Seems very sensible
we are automating tests
tests find bugs
automation is more thorough and faster
therefore, automation should find more bugs
- and quicker
Problems
what tests are we automating?
what does automation actually give us?
© Dorothy Graham 2013
www.DorothyGraham.co.uk
5
What finds most bugs?
regression tests
exploratory testing
likelihood of
finding bugs
most often
automated
What is usually automated?
6
Automation success = find lots of bugs?
tests find bugs, not automation
automation is a mechanism for running tests
the bug-finding ability of a test is not affected
by the manner in which it is executed
this can be a dangerous objective
especially for regression automation!
Automated tests Manual Scripted Exploratory Fix Verification
9.3% 24.0%
58.2%
8.4%
Experiences of Test Automation, Ch 27, p 503, Ed Allen & Brian Newman
© Dorothy Graham 2013
www.DorothyGraham.co.uk
7
fast
testing
slow
testing
Effectiveness
Low
High
Efficiency
Manual testing
Automated
Efficiency and effectiveness
poor
fast
testing
poor
slow
testing
good
good
greatest
benefit
not good but
common
worst
better
8
When do automated tests find bugs?
when the first run of a given test is automated
Test-Driven Design in Agile (& BTDD)
Model-Based Testing (MBT), automated test design,
monkey testing, exploratory test automation
keyword-driven (e.g. users populate spreadsheet)
find bugs in parts we wouldn’t have tested?
indirect result of automation
direct result of running more tests
© Dorothy Graham 2013
www.DorothyGraham.co.uk
9
Contents
Automation should find lots of bugs
Automation comes out of a box (or download)
Let’s automate all of our manual tests
ROI is essential for automation
Testing tools are testers’ tools
Twitter: @DorothyGraham
10
Good idea? Automation comes out of the
box (or download)
Seems very sensible
automation gives great benefit, success stories
spending a lot on the tool must guarantee great
benefits
all we need to do is “get the right tool”
Problems
technical issue: what testware architecture is right
for your organisation? (hint: not the tool’s)
management issues: staffing, support, resources
© Dorothy Graham 2013
www.DorothyGraham.co.uk
11
Automation should fit your organisation
your own testware architecture is critical
a poor architecture gives
high maintenance cost
most frequent cause of
abandoned automation/
shelfware
two layers of abstraction
technical: for long life
human: for wide use
using the tool’s architecture
ties you to that tool [version]
Testers&&
Test&Execu+on&Tool&
runs&scripts&
HL Keywords
Structured
Scripts
testware&
architecture&
write&tests&(i n&D STL)&
12
It’s not about the tool
no such thing as “the right tool” or “best tool”
what’s “the best car”?
poor benefits
low cost
good benefits
high cost
good benefits
low cost
poor benefits
high cost
benefits
tool cost
commercial tools?
open source tools?
budget
investment in
good automation
good benefits
moderate cost
© Dorothy Graham 2013
www.DorothyGraham.co.uk
13
It takes time and effort to succeed
management support is critical
high level managers need to understand
automation capability & limitations, and have
realistic expectations
building good automation is a learning process
“people issues” – people use the automation,
people develop the automation
14
Automated tests/automated testing
Select / identify test cases to run
Set-up test environment:
create test environment
load test data
Repeat for each test case:
set-up test pre-requisites
execute
compare results
log results
analyse test failures
report defect(s)
clear-up after test case
Clear-up test environment:
delete unwanted data
save important data
Summarise results
Automated tests
Select / identify test cases to run
Set-up test environment:
create test environment
load test data
Repeat for each test case:
set-up test pre-requisites
execute
compare results
log results
clear-up after test case
Clear-up test environment:
delete unwanted data
save important data
Summarise results
Analyse test failures
Report defects
Automated testing
Automated process Manual process
© Dorothy Graham 2013
www.DorothyGraham.co.uk
15
Contents
Automation should find lots of bugs
Automation comes out of a box (or download)
Let’s automate all of our manual tests
ROI is essential for automation
Testing tools are testers’ tools
Twitter: @DorothyGraham
16
Good idea?
Let’s automate all of our tests
Seems very sensible
we already have lots of tests being done manually
automation would be much quicker
we can be completely automated, no need for
manual tests [testers?!]
Problems
what tests are you automating?
what are you missing by automating [only]
existing tests?
© Dorothy Graham 2013
www.DorothyGraham.co.uk
17
Automate manual tests?
manual
tests
automated
tests
tests not
worth
automating
new ways of
automating, e.g.
exploratory test
automation
manual tests
automated
(% manual)
tests (&
verification)
not possible to
do manually
tests not
automated
yet
18
Tools will replace testers?
“we can reduce the number of testers once we
have the tool”
what are your testers like?
mindless morons, or
intelligent investigators?
need more skills, not fewer
automation can free testers to do more test
design, exploratory testing
and find more bugs
tools don’t replace testers, they support them
© Dorothy Graham 2013
www.DorothyGraham.co.uk
19
Contents
Automation should find lots of bugs
Automation comes out of a box (or download)
Let’s automate all of our manual tests
ROI is essential for automation
Testing tools are testers’ tools
Twitter: @DorothyGraham
20
Good idea?
ROI is essential for automation
Seems very sensible
we will be spending time and possibly lots of
money on tools – need to be sure it will be worth it
a “water-tight” business case will convince our
managers to invest in automation
Problems
ROI is not the whole story
people are not convinced by numbers
calculating ROI is difficult and can be dangerous
© Dorothy Graham 2013
www.DorothyGraham.co.uk
21
Is this Return on Investment (ROI)?
tests are run more often
tests take less time to run
it takes less human effort to run tests
we can test (cover) more of the system
we can run the equivalent of days / weeks of
manual testing in a few minutes / hours
faster time to market
these are (good) benefits
but are not ROI
ROI =
(benefit – cost)
cost
22
How important is ROI?
ROI can be dangerous
may give impression that people are replaced by
tools (see http://dorothygraham.blogspot.co.uk/)
“automation is an enabler for success, not a
cost reduction tool” – Yoram Mizrachi
many achieve lasting success without
measuring ROI (depends on your context)
need to be aware of benefits (and publicize them)
© Dorothy Graham 2013
www.DorothyGraham.co.uk
23
An example comparative benefits chart
0
10
20
30
40
50
60
70
80
exec speed
times run
data variety
tester work
man
ROI spreadsheet – email me for a copy
14 x faster 5 x more often 4 x more data 12 x less effort
24
Contents
Automation should find lots of bugs
Automation comes out of a box (or download)
Let’s automate all of our manual tests
ROI is essential for automation
Testing tools are testers’ tools
Twitter: @DorothyGraham
© Dorothy Graham 2013
www.DorothyGraham.co.uk
25
Good idea?
Testing tools are testers’ tools
Seems very sensible
testers do testing – testing tools help with testing
tools will make them better testers, because they
will be able to run more tests, faster
Problems
tools are software packages using programming
languages; tester skills are different to
development skills
spending time on / with tools means less testing,
not more testing (initially at least)
26
Is it the tester’s job to automate tests?
test execution automation is software development
needs programming skills
not all testers want to become developers
or would be good at it
do automators need testing skills?
helpful but not essential
if testers are automators a conflict of interest
do you run tests or do you automate tests?
automation is better long-term, BUT
deadline pressure pushes you back into manual testing
© Dorothy Graham 2013
www.DorothyGraham.co.uk
27
Current thinking?
“Testers, if you want to have a job, you need to
learn to write code”
so testers who don’t write code are now worthless?
the only good tester is a developer-tester?
I see serious consequences (and I don’t agree!)
for every context? (user/business testers)
fine for those who want to, in agile team, dev level
pure testing skills are no longer valued?
not right to force good testers out of our industry!
28
Why are these intelligent mistakes?
Automation should find bugs?
tests find bugs; automated tests are still tests
Automation comes “out of the box”
you think you buy a solution that will just work
Automate all manual tests?
a starting point for tests to be automated
Automation has to achieve ROI?
can’t expect investment without showing some return
Testing tools are tools for testers?
testers write and run tests; tools run tests
© Dorothy Graham 2013
www.DorothyGraham.co.uk
29
Why are these intelligent mistakes?
Automation should find bugs?
tests find bugs, automation runs tests
Automation comes “out of the box”
effort and time, e.g. tailor your testware architecture
Automate all manual tests?
not all should be, automate more than manual
Automation has to achieve ROI?
may be dangerous, need to show benefits
Testing tools are tools for testers?
different skills, not all testers should code
30
Summary
Many ideas seem sensible at first / on the
surface, but have serious problems
automation should find lots of bugs
automation comes out of a box (or download)
let’s automate all of our manual tests
ROI is essential for automation
testing tools are testers’ tools
Recognise these “intelligent mistakes” and
avoid them
© Dorothy Graham 2013
www.DorothyGraham.co.uk
31
More information
downloads www.DorothyGraham.co.uk
articles and papers
email [email protected] for
list of test execution & framework tools
automation ROI calculator spreadsheet
an invitation to join the new Test Automation Patterns wiki
my random newsletter
blog http://dorothygraham.blogspot.com
including automation, DDP, certification
twitter
@DorothyGraham
with Seretta
Gamba –
we are
looking for
feedback!