Top Banner
Copyright 2016 : Lisa Crispin and Raji Bhamidipa9 With material from Janet Gregory, and from Discover to Deliver by Ellen Go6esdiener and Mary Gorman
81

Agile Requirements Exploration: How Testers Add Value

Feb 08, 2017

Download

Technology

lisacrispin
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: Agile Requirements Exploration: How Testers Add Value

Copyright2016:LisaCrispinandRajiBhamidipa9

WithmaterialfromJanetGregory,andfromDiscovertoDeliverbyEllenGo6esdienerandMaryGorman

Page 2: Agile Requirements Exploration: How Testers Add Value

Lisa(withJanetGregory):AgileTes/ng2009

MoreAgileTes/ng:2014@lisacrispin

www.lisacrispin.comwww.agiletester.ca

RajiBhamidipaJ

Soyouwanttobeascrummaster?2016www.raji.me@raji_bh

2

Page 3: Agile Requirements Exploration: How Testers Add Value

Whoaretesters?Whoarebusinessanalysts?Whoareprogrammers?Whoaremanagersofsomekind?AgileexperienceNew(lessthan6months)>6months>1year>5years>10years?

3

Page 4: Agile Requirements Exploration: How Testers Add Value

• Coffeebreak11–11:30•  Lunch13:00–14:15• Coffeebreak16:15–16:30•  Finishat18:00

4

Page 5: Agile Requirements Exploration: How Testers Add Value

•  Shareexperiences•  PracJcetechniquestoelicit,explore

specificaJons,buildsharedunderstanding•  Perhapssomebrandnewideas!•  Inspectandadaptaswego•  You’llleavewithsomeexperimentstotry

5

Page 6: Agile Requirements Exploration: How Testers Add Value

• TechniquesthatyourteamcanusetohelpyourcustomersidenJfytherightfeaturestobuild• Waystoenablesharedunderstandingoffeaturesandstories,andtesJngconsideraJons.

6

Page 7: Agile Requirements Exploration: How Testers Add Value

•  SmalldifferencescancausebigmispercepJons

• Theclassic“Jreswing”metaphor-eachstakeholderhasownviewpoint,agenda

Page 8: Agile Requirements Exploration: How Testers Add Value

8

What’sslowingyoudown?Gehnginthewayofsharedunderstanding?• WriteoneproblempersJckynote.•  Sharewithyourtablegroup.•  Postonyourwallchartbytheparachute.Grouprelatedproblems.

Page 9: Agile Requirements Exploration: How Testers Add Value

9

IntroReq’ts&TesJng

EssenJals

BigPictureRelease&

FeatureLevels

ExplorewithExamples

IteraJonLevelStories

-7dimensions-  funcJonal-  non-func’l-  quadrants

-  mindset-  levelsof

detail

-  Using7dimensions

-  Toolstohelp

-  ATDD-  Example

mapping

-  usingacceptancetests

Wrap-up

Wrap-UP

Page 10: Agile Requirements Exploration: How Testers Add Value

10Copyright2016:JanetGregory–DragonFireInc.

Page 11: Agile Requirements Exploration: How Testers Add Value

11Copyright2016:JanetGregory–DragonFireInc.

Page 12: Agile Requirements Exploration: How Testers Add Value

12

LevelsofPrecision

Page 13: Agile Requirements Exploration: How Testers Add Value

13

IntroReq’ts&TesJng

EssenJals

BigPictureRelease&

FeatureLevels

ExplorewithExamples

IteraJonLevelStories

-7dimensions-  funcJonal-  non-func’l-  quadrants

-  mindset-  levelsof

detail

-  Using7dimensions

-  Toolstohelp

-  ATDD-  Example

mapping

-  usingacceptancetests

Wrap-up

Wrap-UP

Page 14: Agile Requirements Exploration: How Testers Add Value

14

Page 15: Agile Requirements Exploration: How Testers Add Value

15

Meaning Descrip9on

I Independent Self-contained,sonoinherentdependencyonanotheruserstory

N NegoJable Canbechangedandrewri6enunJltheyareacceptedintoaniteraJon

V Valuable Relevantandnecessary;linkedtoabusinessgoal

E EsJmable Mustbeabletosize(oresJmate)thestory

S Small Smallenoughtohaveacertainlevelofcertainty

T Testable Mustbeabletotestit

Origins:BillWake,2003

Page 16: Agile Requirements Exploration: How Testers Add Value

func9onal

nonfunc9onal

www.DiscoverToDeliver.com/visual-language.php

Source: Discover To Deliver, Gottesdiener & Gorman, 2012

Page 17: Agile Requirements Exploration: How Testers Add Value

“anaspectofaproductthatexpressesproductcapabiliJesorthingstheproductmustdoforitsusers.”

-includesusers,acJons,dataandcontrolproductdimensions

EllenGo6esdiener,MaryGorman

17

Page 18: Agile Requirements Exploration: How Testers Add Value

agiletesJngquadrants(basedonBrianMarick’smatrix)

Page 19: Agile Requirements Exploration: How Testers Add Value

AmabléAutobustourbuscompany--seehandoutChooseafeature:1.  AbilitytoassignandschedulesubsJtutebuses

anddriversfortransporJngtourgroupsaroundMadrid

2.  AbilitytonoJfystaffatdesJnaJonwhenbusisbrokendown,alongwithaplanofacJon

19

Page 20: Agile Requirements Exploration: How Testers Add Value

20

As the scheduler,

I need to schedule regular ho

urs as

well as add additional hours f

or

overtime hours to the payroll system

So that the drivers get paid

correctly.

Page 21: Agile Requirements Exploration: How Testers Add Value

21

Dimension Ques9ons

User Isthescheduleranadministratorofthesystem?Orissheadataentrypersononly?

Data IsJmemeasuredinhoursorminutes?

AcJon Canthedriversaddtheirhoursinmanually,ordotheysubmitJmesheets?Howdoesshefindoutaboutextrahours?

Control DotheJmesheetshavetobeapprovedbyasupervisororsomebody?

Page 22: Agile Requirements Exploration: How Testers Add Value

Inyourgroup,usingyourfeature:1.  AskquesJonsaboutfuncJonal

requirementsforthedimensionyouhavebeengiven.

2.  WriteeachindividualquesJononasJckynoteandputontheDimensionswallchart.

22

Page 23: Agile Requirements Exploration: How Testers Add Value

“aspectsofaproductthatexpressproperJesthattheproductmusthave”-  includesenvironmentandinterface

dimensions-  Alsoknownas“non-funcJonal

requirements”or“para-funcJonalrequirements”

Go6esdiener,TheSoswareRequirementsMemoryJogger23

Page 24: Agile Requirements Exploration: How Testers Add Value

24

Page 25: Agile Requirements Exploration: How Testers Add Value

agiletesJngquadrants

Page 26: Agile Requirements Exploration: How Testers Add Value

26

As the scheduler,

I need to schedule regular ho

urs as

well as add additional hours f

or

overtime hours to the payroll system

So that the drivers get paid

correctly.

Page 27: Agile Requirements Exploration: How Testers Add Value

27

Dimension Ques9ons

Interface Who/whatelsehasaccesstotheschedulingsystem?

Environment Canitbeenteredremotelyorisitdesktoponly?

QualityA6ributes Arethereperformancerequirements?CanIassumethereisonlyonepersonaccessingataJme?Whatlevelofsecuritydoweneedforthescheduler?

Page 28: Agile Requirements Exploration: How Testers Add Value

Inyourgroup,usingthesamefeature…1.  AskquesJonsaboutqualitya6ributesfor

thedimensionyouhavebeengiven.2.  WriteeachindividualquesJononasJcky

noteandputwiththeDimensionwallchart.

28

Page 29: Agile Requirements Exploration: How Testers Add Value

29

IntroReq’ts&TesJng

EssenJals

BigPictureRelease&

FeatureLevels

ExplorewithExamples

IteraJonLevelStories

-7dimensions-  funcJonal-  non-func’l-  quadrants

-  mindset-  levelsof

detail

-  Using7dimensions

-  Toolstohelp

-  ATDD-  Example

mapping

-  usingacceptancetests

Wrap-up

Wrap-UP

Page 30: Agile Requirements Exploration: How Testers Add Value

30

LevelsofPrecision

Page 31: Agile Requirements Exploration: How Testers Add Value

Canbeusedatproductbackloglevelaswellasatstorylevel

• Helpsvisualiseausersjourneythroughtheproduct• Usefultoolforvisualisingproductbacklog

31

Page 32: Agile Requirements Exploration: How Testers Add Value

32

Page 33: Agile Requirements Exploration: How Testers Add Value

Wewillcreatea‘nowmap’.

Howdidyoustartyourdayandgetherethis

morning?

33

Page 34: Agile Requirements Exploration: How Testers Add Value

User Interface Action Data Control persona

user role map

context diagram

prototype

relationship map

business process diagram

capability map

dependency graph

story, story map

use case

value stream map

data model

state diagram

business policy, rule

decision table

decision tree

Source: Discover To Deliver, Gottesdiener & Gorman, 2012

Page 35: Agile Requirements Exploration: How Testers Add Value

35

As the scheduler,

I need to schedule regular ho

urs as

well as add additional hours f

or

overtime hours to the payroll system

So that the drivers get paid

correctly.

Page 36: Agile Requirements Exploration: How Testers Add Value

36

Page 37: Agile Requirements Exploration: How Testers Add Value

37

Name:SaritatheScheduler

SchedulesbusesSchedulesbusdriversMatchesbusdriverstobusesArrangesemergencybusesanddriversEnsureshoursgetloggedLiaiseswiththebusmaintenance

DetailedorientedLikesworkingwithnumbersLikestryingnewideas

Likestheoutdoors,campingIntrovertDoesn’tlikeconflict

DescripJon Values

Likes

Page 38: Agile Requirements Exploration: How Testers Add Value

38

Scheduleregularshiss

Scheduler

Driver

Payroll

Acceptsshiss

Reportshours

(includingoverJme)

Validateshours

Submitstopayroll

Createspayment

Drivergetspaid

Page 39: Agile Requirements Exploration: How Testers Add Value

39

Page 40: Agile Requirements Exploration: How Testers Add Value

Scenariosforpaymentofhours1.  Regularhoursonly2.  Regular,plusoverJme3.  Regular,plusaddiJoncall-outduetobus

breakdown4.  Call-outonlyduetobusbreakdown

40

Page 41: Agile Requirements Exploration: How Testers Add Value

41

Scenarios BusinessPoliciesRegularhoursonly Seasonalpart-JmehourspaidRegularplusoverJme OverJmeispaidat1.5xregularCall-outforbusbreakdown

AddiJonalcompensaJonforextracall

Page 42: Agile Requirements Exploration: How Testers Add Value

Considerpersonas,processflow,contextandstatediagramsforyourfeature,whatscenariosandbusinesspoliciescanyoufind.Pairup,eachpairtryatoolandreporttothegroup.Whatqualitya6ributesmightbeapplicableatthefeaturelevel?Considerall7dimensions.

42

Page 43: Agile Requirements Exploration: How Testers Add Value

43

• WriteoneitempersJckynote.•  Sharewithyourtablegroup.• Postonyourwallchartbytheracecar.

HowcanyouexplorefuncJonalrequirementsandqualitya6ributestoimprovequality?

Page 44: Agile Requirements Exploration: How Testers Add Value

44

IntroReq’ts&TesJng

EssenJals

BigPictureRelease&

FeatureLevels

ExplorewithExamples

IteraJonLevelStories

-7dimensions-  funcJonal-  non-func’l-  quadrants

-  mindset-  levelsof

detail

-  Using7dimensions

-  Toolstohelp

-  ATDD-  Example

mapping

-  usingacceptancetests

Wrap-up

Wrap-UP

Page 45: Agile Requirements Exploration: How Testers Add Value

Feature(with

examples) UserStory

High-LevelAT

FixDefects

Code,test&automatestory

ATDDAcceptanceTestDrivenDevelopment

AcceptStory Explore

Examples

45

Page 46: Agile Requirements Exploration: How Testers Add Value

•  Toelicitrequirements

•  Toreduceuncertainty•  Totestpeople’sunderstandingoftherequirement

46

CreditandthankstoBrianMarick

“That’snotright”canbemusictoyourears

• Canbecometheactualtests• AreaformofspecificaJon

Page 47: Agile Requirements Exploration: How Testers Add Value

47

As a user, I want guidelines to create a strong password, so that I have limited risk for identity theft

Page 48: Agile Requirements Exploration: How Testers Add Value

48

Copyright2016:JanetGregory–DragonFireInc.

1.  Pickapartnertablegroup2.  Usingtheblueindexcards,invent3secret

businessrulesfor“Createastrongpassword”story

3.  Write3(andonly3)examplesonthewhitecardstoexpressthoserules<2min>

4.  Nowpassthemtoyourpartnertable.5.  Guesstherulesbasedontheexamples–write

themonthesJckynotes,andpassthemback6.  Let’sstopandreflect

Page 49: Agile Requirements Exploration: How Testers Add Value

49

• Writemoreexamplestoclarifytherules–sJllnoconversaJonexceptyesorno.•  TwomoreiteraJons:Passexamplestoyour

partnertableandhavethemguesstherules.

Now:HaveaconversaJonaboutthestory.

Page 50: Agile Requirements Exploration: How Testers Add Value

50

Whatdidthisexerciseshowyou?

Whatdidyoulearn?

Arerulesorexamplesbe6er?Whyorwhynot?

Page 51: Agile Requirements Exploration: How Testers Add Value

51FromMaRWynne

Page 52: Agile Requirements Exploration: How Testers Add Value

Asauser,Iwantguidelinestocreateastrongpassword,sothatIhavelimitedriskforiden/tytheC

52

Story

Rules

Examples

QuesJons

1.  Minimum8,maximum32characters2.  Oneormoreofeach:lower-casele6er,

upper-casele6er,number,punctuaJonmark

Valid:p4ssW0rd!,paSSw.rDpInvalid:p4ssword1,p4ssw@d,Pa%swd.

Whatwordingtousefortheerrormessages?Shouldwehaveapasswordstrengthmeter?

Page 53: Agile Requirements Exploration: How Testers Add Value

53

Create a story from your feature,

write it on a yellow card.For example:•  Send email to hotel staff …•  Select an alternate bus …

Page 54: Agile Requirements Exploration: How Testers Add Value

Foryourstory,1.  IdenJfyacoupleofobviousbusinessrules

(bluecards)2.  Exploreexamplesforatleastonerule

(greencards)3.  AretherequesJons(pinkcards)

54

Page 55: Agile Requirements Exploration: How Testers Add Value

55

• WriteoneitempersJckynote.•  Sharewithyourtablegroup.• Postonyourwallchartbytheabyss.

Whatpizallsdoyouwanttohelpyourteamavoid?

Page 56: Agile Requirements Exploration: How Testers Add Value

56

IntroReq’ts&TesJng

EssenJals

BigPictureRelease&

FeatureLevels

ExplorewithExamples

IteraJonLevelStories

-7dimensions-  funcJonal-  non-func’l-  quadrants

-  mindset-  levelsof

detail

-  Using7dimensions

-  Toolstohelp

-  ATDD-  Example

mapping

-  usingacceptancetests

Wrap-up

Wrap-UP

Page 57: Agile Requirements Exploration: How Testers Add Value

57

LevelsofPrecision

Page 58: Agile Requirements Exploration: How Testers Add Value

Define,constrainorenablebehaviourofthesosware,businessprocesses,datastructure

58

Businessgoals

Businesspolicies

Businessrules

Page 59: Agile Requirements Exploration: How Testers Add Value

Itmayhelppriori/zestoriesExample:ScheduleadistributedteammeeJnginourschedulingapp.1.  MeeJngswith>2Madrida6endeesneeda

meeJngroom2.  Remotea6endeesmusthavevideolink3.  MeeJngsareduringnormalworkhoursfor

alla6endees(employeeslocatedacrossEurope).

59

Page 60: Agile Requirements Exploration: How Testers Add Value

• Wherecanyougetthedata?◦ DatadicJonary,model,fixtures• Whatkindofdatamightyouneed?•  Isthereappropriatetestdata?

60

Page 61: Agile Requirements Exploration: How Testers Add Value

• Meanstoevaluatecapabilityfromauser’sperspecJve• Providethescopeofthestory(orfeature)• Resultsareacceptedornotaccepted◦  Ifnot–revisit!

61

Page 62: Agile Requirements Exploration: How Testers Add Value

Scenarioexample:AsauserwithvalidlogincredenJals,Icanloginandseethelandingpage.Testmightlooklike:• GivenJanethasavalidlogin,• Whensheentershervalidusernameandpassword,•  Thensheseesthelandingpage.

62

User Email Password ExpectedResult

Comments

Jara [email protected] Passw0rd22 Loggedin Validloginscenario

Page 63: Agile Requirements Exploration: How Testers Add Value

63

As a driver called in as a

replacement,When I submit hours

including overtime, I

receive the correct pay

amount.

Rule:1.5xregularpayifmorethan1houroverscheduleddrivingJmeRule:1hourextrapayinaddiJontooverJmehoursifcall-inreplacement

Page 64: Agile Requirements Exploration: How Testers Add Value

BDD–BehaviourdrivendevelopmentCapturessharedunderstanding,guides

development.Given-precondiJonWhen–trigger,acJonThen–consequences,results

64

Page 65: Agile Requirements Exploration: How Testers Add Value

Story Asadrivercalledinasareplacement,WhenIsubmithoursincludingoverJme,Ireceivethecorrectpayamount.

Scenario RegularhoursplusoverJmepluscall-inreplacementpay

business rule(s) OverJmeiscalculatedas:(TotaldrivingJmeminusregularhours)*overJme

Given

pre-condition(s), state

Driverexistsanddrovehisbus

fixed data

Driver:José,worked40hours,including4overJmehourswhencalledinasareplacementRegularwage:20euros/hourOverJmepercentage:150%(1.5xregularpay)

When action Driversubmitshours

input data Hourssubmi6ed:36regular,4overJmecall-inreplacement

Then observable outcome: message, output

Totalwages:860

post-condition Paycheckcut

Page 66: Agile Requirements Exploration: How Testers Add Value

Given40hourshasbeenworkedinoneweekWhenthedriversubmitsoverJmehoursThenthedrivergetspaidforregularhoursplustheoverJmehours

Given40hourshasbeenworkedinoneweekWhenthedriversubmitsoverJmehoursThentheschedulersubmitstheregularhoursplustheoverJmehoursforpaymenttopayroll

Page 67: Agile Requirements Exploration: How Testers Add Value

Driver RegularWage

Regularhours

Over9mehours

Totalpaid

José 20.00 36.0 4.0 840.00

José 20.00 36.0 2.0 780.00

José 20.00 30.0 0.0 600.00

67

Page 68: Agile Requirements Exploration: How Testers Add Value

1.  Usethestoryfromyourexamplemapping2.  CreateBDDacceptancetestsusingGiven/

When/Thenformat3.  ThenidenJfypossibleexamples(testdata)

thatcouldbeinputinatabularformat4.  Showyourteststoanothertablegroup.Do

theyunderstandthecapabilitytobedelivered?

68

Page 69: Agile Requirements Exploration: How Testers Add Value

•  Interfaces◦  tesJngdesign–howdoesitinterfacewithotherapps?◦ Differentplazorms,consistency,howdoesitreact?

• Qualitya6ributes◦ Constraintstobeconsideredwitheverystory•  ImplementaJonenvironments◦ RequirementsthatlimitbuildanddeployopJons

69

Page 70: Agile Requirements Exploration: How Testers Add Value

• Considerthequalitya6ributes–arethereanythatareapplicabletoyourstory?• Arethereanyinterfacesyouneedtoconsider?• Whataboutyourenvironments?Anythingspecifictoworryabout?

Discussinyourteams

70

Page 71: Agile Requirements Exploration: How Testers Add Value

•  StoriesarearemindertohaveaconversaJon• Acceptancetestsagreeduponwiththecustomer◦ withexamplestoexpressbusinessrules• ConversaJon–examples,clarificaJons

RequirementStoryAcceptanceTestswithexamples

Conversa9on+ + =

71

Page 72: Agile Requirements Exploration: How Testers Add Value

72

• WriteoneitempersJckynote.•  Sharewithyourtablegroup.• Postonyourwallchartbytheabyss.

Whatexperimentscanyourteamtry?

Page 73: Agile Requirements Exploration: How Testers Add Value

73

IntroReq’ts&TesJng

EssenJals

BigPictureRelease&

FeatureLevels

ExplorewithExamples

IteraJonLevelStories

-7dimensions-  funcJonal-  non-func’l-  quadrants

-  mindset-  levelsof

detail

-  Using7dimensions

-  Toolstohelp

-  ATDD-  Example

mapping

-  usingacceptancetests

Wrap-up

Wrap-UP

Page 74: Agile Requirements Exploration: How Testers Add Value

74

Examples

Tests

Adaptedfrom:AgileAllianceFuncJonalTesJngToolsOpenSpaceWorkshop2007,&EBGConsulJng2012

Page 75: Agile Requirements Exploration: How Testers Add Value

75

LevelsofPrecision

Page 76: Agile Requirements Exploration: How Testers Add Value

Assembleop9ons

Source: Discover To Deliver, Gottesdiener & Gorman, 2012 76

Page 77: Agile Requirements Exploration: How Testers Add Value

77

Page 78: Agile Requirements Exploration: How Testers Add Value

Andalways,striveforquality!

photoshd.wordpress.com/2008/04/24/13/

Page 79: Agile Requirements Exploration: How Testers Add Value

AgileTes/ng:APrac/calGuideforTestersandAgileTeamsMoreAgileTes/ng:LearningJourneysfortheWholeTeamwww.agiletester.ca,www.lisacrispin.comEmail:[email protected]

79

Save35%:h6p://informit.com/swtesJngorh6p://informit.com/agiletestUsecodeAGILETESTING

Page 80: Agile Requirements Exploration: How Testers Add Value

Ques9ons?

Page 81: Agile Requirements Exploration: How Testers Add Value

• Go6esdiener,EllenandGorman,Mary,DiscovertoDeliver,2012• Wynne,Ma6,"IntroducingExampleMapping",h6p://bit.ly/1iw19w4• Wynne,Ma6andAslakHellesoy,TheCucumberBook:Behavior-DrivenDevelopmentforTestersandDevelopers,PragmaJcProgrammers,201• Adzic,Gojko,Specifica/onbyExample:HowSuccessfulTeamsDelivertheRightSoCware,Manning,2011• Adzic,Gojko,BridgingtheCommunica/onGap,NeuriLimited,2009

•  Gärtner,Markus,ATDDByExample:APrac/calGuidetoAcceptanceTest-DrivenDevelopment,Addison-Wesley,2012a•  Keogh,Liz,h6p://lunivore.com-lookforherpostsonBDD,RealOpJons

81