Table Of ContentPride and Paradev
a collection of agile software testing
contradictions
Alister Scott
Thisbookisforsaleathttp://leanpub.com/pride-and-paradev
Thisversionwaspublishedon2015-03-02
ThisisaLeanpubbook.Leanpubempowersauthorsand
publisherswiththeLeanPublishingprocess.LeanPublishingis
theactofpublishinganin-progressebookusinglightweight
toolsandmanyiterationstogetreaderfeedback,pivotuntil
youhavetherightbookandbuildtractiononceyoudo.
ThisworkislicensedunderaCreativeCommonsAttribution
3.0UnportedLicense
Contents
Acknowledgments . . . . . . . . . . . . . . . . . . . . . i
Aboutthisbook . . . . . . . . . . . . . . . . . . . . . . ii
Beforewestart:what’saparadev? . . . . . . . . . . . v
Allaboutagilesoftwaredevelopment. . . . . . . . . . vii
Atypicalagilesoftwaredevelopmentprocess . . . . . x
Acollectionofsoftwaretestingcontradictions . . 1
Yourroleasanagilesoftwaretester . . . . . . . . 2
Doagileteamsevenneedasoftwaretester? . . . . . . 3
Doagilesoftwaretestersneedtechnicalskills? . . . . 6
Are software testers the gatekeepers or guardians of
quality? . . . . . . . . . . . . . . . . . . . . . . . . . 11
Shouldagiletestersfixthebugstheyfind? . . . . . . . 13
CONTENTS
Shouldtesterswritetheacceptancecriteria? . . . . . . 15
Softwaretestingasacareerchoice . . . . . . . . . 17
Issoftwaretestingagoodcareerchoice? . . . . . . . . 18
Isitbeneficialtoattendsoftwaretestingconferences? 21
Shouldtestersgetatestingcertification? . . . . . . . . 24
DefiningAcceptanceCriteriaforuserstories . . . 25
Shouldacceptancecriteriabeimplicitorexplicit? . . . 26
ShouldyouracceptancecriteriabespecifiedasGiven/When/Then
orchecklists? . . . . . . . . . . . . . . . . . . . . . . 29
Arephysicalorvirtualstorywallsbetter? . . . . . . . 32
TestingTechniques . . . . . . . . . . . . . . . . . . . 34
Whichisbetter:manualorautomatedtesting? . . . . 35
Canwejusttestitinproduction? . . . . . . . . . . . . 37
Whattypeoftestenvironmentshouldwetestin? . . 40
Shouldyouusetestcontrollersfortesting? . . . . . . 42
Should you use production data or generate test data
fortesting? . . . . . . . . . . . . . . . . . . . . . . . 45
CONTENTS
ShouldyoutestinoldversionsofInternetExplorer? . 48
Shouldyouuseatooltotrackbugs? . . . . . . . . . . 50
Shouldyouraisetrivialbugs? . . . . . . . . . . . . . . 55
Shouldyouinvolverealusersintesting? . . . . . . . . 57
AutomatedAcceptanceTesting . . . . . . . . . . . . 59
Do you need an automated acceptance testing frame-
work? . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Whoshouldwriteyourautomatedacceptancetests? . 62
What language should you use for your automated
acceptancetests? . . . . . . . . . . . . . . . . . . . . 64
ShouldyouusetheGiven/When/Thenformattospec-
ifyautomatedacceptancetests? . . . . . . . . . . . 66
Shouldyourelementselectorsbetextorvaluebased? 69
Threenon-contradictions . . . . . . . . . . . . . . . 72
Acknowledgments
This book began as a series of blog posts on my WatirMelon¹
blog.
Thiswasgreat,asIwasabletogetfeedbackoneacharticleasI
wroteit.Iwouldliketothankmyblogreadersfortheplentiful
feedback I received; it has no doubt shaped the final release of
thisbook.
IwouldalsoliketothankmywonderfulwifeClarewhoreviewed
thisbookand,despitehavingnopriorknowledgeofthesubject
matter,wasabletoprovidealotofexcellentfeedbackandpolish.
Finally, I’d like to thank² my family: Clare, Finley, Orson and
Winston:youguysmeantheworldtome.
¹http://watirmelon.com
²orretroactivelyapologizeforspendingallmytimewritingthis,butatleastIwrote
yournamesatthestartofmybook!
About this book
Who is it for?
This book for anyone who does or wants to do software testing
onanagile³team.
Full of Quotes
“One must never miss an opportunity of quoting
thingsbyotherswhicharealwaysmoreinteresting
thanthoseonethinksuponeself.”
(cid:24)MarcelProust
“Quotationswhenengraveduponthememorygive
yougoodthoughts.”
(cid:24)WinstonChurchill
Why contradictions?
“The test of a first rate intelligence is the ability to
hold two opposed ideas in the mind at the same
time,andstillretaintheabilitytofunction.”
(cid:24)F.ScottFitzgerald,TheCrackUp⁴
³http://en.wikipedia.org/wiki/Agile_software_development
⁴http://www.esquire.com/features/the-crack-up
Aboutthisbook iii
Most software testing books are a verbose collection of best
practices: what you should do as tester to be successful, often
inatraditional‘lessonslearned’format.
Bestpracticesareoftensold,particularlybyconsultants,assilver
bullets⁵. I have particular disdain for best practices, they’re not
contextualandtooblackandwhiteforme.Itendtoseetheworld
inshadesofgray,abestpracticeinonecontextmakesnosense
inanother.
“Thecoloroftruthisgray.”
(cid:24)AndréGide
Writing books in shades of gray isn’t easy: it’s much easier to
writeabestpracticesbookwithstronglyheldviewsaboutwhat
you consider to be the right approach, and dispel ideas that
contradictyourown.
Inthinkingofbooksinthemiddleoftwoviews,oneapproachis
to write a book sufficiently nebulous or generalist that it could
appeartoworkinvariouscontexts.Buttheoutcomeisweakas
peoplepreferreadingstrongerviews.
InsteadI’vedecidedtowriteacollectionofcontradictoryclaims
aboutsoftwaretesting;thepracticalimplicationsliesomewhere
inbetween.
I see this book as a bit of an experiment: I’ve certainly never
seen a book following this format before, but who knows, it
maycreateawholecollectionofbookswithcontradictionsabout
softwaredevelopment.
⁵Asilverbulletisametaphorforanysolutionofextremeeffectiveness.
Aboutthisbook iv
ThebiggestbenefitIhavefoundinthisapproachisthatit’spar-
ticularlydifficultforareadertoarguewithmeaboutsomething,
becauseIamessentiallyarguingwithmyself!
So,whatliesaheadisessentiallyabookofwhatGeorgeOrwell
dubbed doublethink, the act of simultaneously accepting two
mutuallycontradictorybeliefsascorrect.
“To know and not to know, to be conscious of
complete truthfulness while telling carefully con-
structed lies, to hold simultaneously two opinions
which canceled out, knowing them to be contra-
dictory and believing in both of them, to use logic
against logic, to repudiate morality while laying
claim to it, to believe that democracy was impos-
sible… to apply the same process to the process
itself – that was the ultimate subtlety; consciously
to induce unconsciousness, and then, once again,
to become unconscious of the act of hypnosis you
had just performed. Even to understand the word
‘doublethink’involvedtheuseofdoublethink.”
(cid:24)GeorgeOrwell,1984
Enjoy.
Before we start: what’s a
paradev?
Whatdoyouthinkofwhenyouhearthewordparadev?
I’lltrytoexplainmy meaningofthetermwithatruestory.
Acoupleofyearsagonow,justafterIstartedatThoughtWorks⁶,
IreadatweetfromafellowprogrammerhereinBrisbanealong
thelinesof“theparadevsatworkenjoyedmylunchtimesession
on networking”. My ears pricked: “what’s a paradev?” I asked.
“It’s someone who helps the developers develop” she replied.
“Oh”Ithought.
Iadmitmyinitialreactionwasshock,whatdoesthattermeven
mean? The first things that came to mind when thinking ‘para’
wereparasites,paraplegics,paralysis,paranoia,buttheseweren’t
related at all to software development. She told me she came
up with the term to describe non-programmers who work in
software from professions such as paramedics and paralegals,
basicallyjobsthatfunctiontosupportahigherpaid,higherlevel
professionsuchasdoctorsandlawyers.Iwasoffended,howdare
shecallmethat.
Butthatwasthenandthisisnow.I’vesincereappropriated⁷the
term,muchlikethetermQueer⁸wasreappropriatedtwodecades
⁶http://thoughtworks.com
⁷http://en.wikipedia.org/wiki/Reappropriation
⁸http://en.wikipedia.org/wiki/Queer