test automation is dead code copenhagen 2016
TRANSCRIPT
@sebrose h)p://cucumber.io
Seb Rose Cucumber Limited
Test automa*on is dead. Long live test automa*on!
@sebrose h)p://cucumber.io
Agenda
• Introduction • Traditional test automation • A new hope • Long live test automation!
@sebrose h)p://cucumber.io
“a process of gathering informa1on about [so5ware] with the intent that the
informa1on could be used for some purpose”
What is testing?
Gerry Weinberg Perfect So5ware and Other Illusions About Tes1ng
@sebrose h)p://cucumber.io
What is automation?
• the technique of making an apparatus, a process, or a system operate automatically
• the state of being operated automatically
• automatically controlled operation of an apparatus, process, or system by mechanical or electronic devices that take the place of human labor
h)p://www.merriam-webster.com/dicIonary/automaIon
@sebrose h)p://cucumber.io
Agenda
• Introduction • Traditional test automation • A new hope • Long live test automation!
@sebrose h)p://cucumber.io
Test automaIon
• Take one manual test script • Automate it • Repeat
@sebrose h)p://cucumber.io
Traditional rationale
• Saves time and money • Increases coverage • Improves accuracy • Decreases drudgery
@sebrose h)p://cucumber.io
“Let’s make toast the american way…
You burn it; I’ll scrape it”
W. Edwards Deming
@sebrose h)p://cucumber.io
@sebrose h)p://cucumber.io
h)p:
//cla
ysno
w.c
o.uk
/arc
hite
ctur
al-a
lignm
ent-
and-
test
-indu
ced-
desig
n-da
mag
e-fa
llacy
/
Test automation pyramid
@sebrose h)p://cucumber.io
Traditional rationale
• Saves time and money • Increases coverage • Improves accuracy • Decreases drudgery
@sebrose h)p://cucumber.io
Actual outcomes
• Takes longer, costs more • Limits coverage • Promotes confusion • Increases maintenance
@sebrose h)p://cucumber.io
Agenda
• Introduction • Traditional test automation • A new hope • Long live test automation!
@sebrose h)p://cucumber.io
That is not the test automa=on you
are looking for.
@sebrose h)p://cucumber.io
h)p:
//lis
acris
pin.
com
/201
1/11
/08/
usin
g-th
e-ag
ile-t
esIn
g-qu
adra
nts/Agile testing quadrants
@sebrose h)p://cucumber.io
More than just testing …
Tes$ng proposi$ons. Is tesIng proposiIons more important than having examples as exemplars?
h)ps://accu.org/index.php/journals/c364/
@sebrose h)p://cucumber.io
“Much of the essence of building a program is in fact the debugging of the specifica=on.”
Fred Brooks
@sebrose h)p://cucumber.io
Don’t test - specify collaboratively
h)p:
//pro
ject
cart
oon.
com
/
@sebrose h)p://cucumber.io
Example mapping
h)ps
://cu
cum
ber.i
o/bl
og/2
015/
12/0
8/ex
ampl
e-m
appi
ng-in
trod
ucIo
n
@sebrose h)p://cucumber.io
Living documentation
h)ps
://re
lisha
pp.c
om/G
DS/
whi
teha
ll/do
cs/h
istor
ical
-acc
ount
s
@sebrose h)p://cucumber.io
Bene
fit (R
isk)
Cost
Invest in infrastructure
Pointless
Highvalue
Bread & bu)er
Costs and benefits
P y r a m i d
h)ps
://w
ww
.ibm
.com
/dev
elop
erw
orks
/lib
rary
/j-a
opw
ork1
1/Te
sIng
Pyra
mid
.jpg
h)p:
//cla
ysno
w.c
o.uk
/the
-tes
Ing-
iceb
erg/
I c e b e r g
@sebrose h)p://cucumber.io
Be)er communicaIon
(Ubiquitous language)Reduced risk (Faster feedback)
Increased trust
(CollaboraIon)Living documentaIon
Long live test
automaAon!
Seb Rose Twi$er: @sebrose Blog: h$p://cucumber.io E-mail: [email protected]