CA Agile Requirements Designer 101 - an introduction to the general premise of Model-Based Testing.

62
World ® ’1 6 Pre-Con Lab: ARD 101 or “So How Does Any of This Work Then?” Ben Riley – Principal Consultant Presales – CA Technologies DO5X29L DEVOPS

Transcript of CA Agile Requirements Designer 101 - an introduction to the general premise of Model-Based Testing.

Page 1: CA Agile Requirements Designer 101 - an introduction to the general premise of Model-Based Testing.

World®’16

Pre-ConLab:ARD101or“SoHowDoesAnyofThisWorkThen?”BenRiley– PrincipalConsultantPresales– CATechnologies

DO5X29L

DEVOPS

Page 2: CA Agile Requirements Designer 101 - an introduction to the general premise of Model-Based Testing.

2 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

ForInformationalPurposesOnly

©2016CA.Allrightsreserved.Alltrademarksreferencedhereinbelongtotheirrespectivecompanies.

Thecontentprovidedinthis CAWorld2016presentationisintendedforinformationalpurposesonlyanddoesnotformanytypeofwarranty. The informationprovidedbyaCApartnerand/orCAcustomerhasnotbeenreviewedforaccuracybyCA.

TermsofthisPresentation

Page 3: CA Agile Requirements Designer 101 - an introduction to the general premise of Model-Based Testing.

3 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

Abstract

Thislabwillprovideanin-depthoverviewofCAAgileRequirementsDesignerandthefundamentalconceptsthatunderpinitsapproachtosoftwaredesignandtesting.

CAAgileRequirementsDesignerisaflowchart-modellingtoolusedbyBusinessAnalysts,Programmers,TestersandAutomationSpecialiststodefineandautomaticallytestcomplexsystems.

BenRiley

CATechnologiesPrincipalConsultant,Presales

Page 4: CA Agile Requirements Designer 101 - an introduction to the general premise of Model-Based Testing.

4 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

Agenda

2HOURS

SOMELOVELYINFORMATION

HANDSONWITHTHETOOL

LETSSEEWHATYOUGOT….

1

2

3

4

Page 5: CA Agile Requirements Designer 101 - an introduction to the general premise of Model-Based Testing.

5 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

WhatDoWeWanttoAchieveFromThis?

1. Deepunderstandingofthetoolandwhatitcando

2. Afullerunderstandingofwhyitisimportanttoitsusers!

3. LargerawarenessoftypicalDesign-Dev-TestChallenges

4. Let’sPlay…

Page 6: CA Agile Requirements Designer 101 - an introduction to the general premise of Model-Based Testing.

6 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

AFewValuePropositionSlides…

Nottoomany,don’tpanic.

Page 7: CA Agile Requirements Designer 101 - an introduction to the general premise of Model-Based Testing.

7 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

QuicklyandsimplyintroduceagileprocessesintoyourexistingWaterfallLifecycles

AgileRequirementsDesigner

Page 8: CA Agile Requirements Designer 101 - an introduction to the general premise of Model-Based Testing.

8 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

CommonChallengesPart1

§ 56%ofsoftwaredefectscanbetracedbacktoambiguitiesinrequirements1

§ Detectingandresolvingproductiondefectsisover40xmoreexpensivethaninrequirements2

§ Industrystandardformanualtestcasedesigncoverageisbetween10-20%

Stats:1and2- BenderRBT,2009.Others:basedonCATechnologies’audits

Page 9: CA Agile Requirements Designer 101 - an introduction to the general premise of Model-Based Testing.

9 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

CommonChallengesPart2

§ Over-testingofsomefunctionsbyfactorsof40isnotuncommon

§ Changerequeststoexistingsoftwarerequirementscantakeuptoasmuchas60%oftheSDLC

§ IfImakeachangeIhavenoideatheeffectthiswillhaveonupstreamordownstreamsystems

Page 10: CA Agile Requirements Designer 101 - an introduction to the general premise of Model-Based Testing.

10 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

ContinuousDevelopment

§ ContinuousIntegration

§ IterativeDevelopment

§ DevOps

§ IsmostlyOps

§ Itstartswhendevelopmentandtestingarecomplete

§ Itshouldstartwhentheuserhasanidea!

Page 11: CA Agile Requirements Designer 101 - an introduction to the general premise of Model-Based Testing.

11 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

CAAgileRequirementsDesigner

§ Thereareplentyoftoolstomanagerequirements§ Thereareplentyoftoolstomanagetestcases§ Thesecanbeconsideredlogisticalsupport

CAAgileRequirementsDesignerisanacceleratortoimprovetheinputtothesetools§ IsaTestCaseDesignandTestCaseOptimizationtool§ IsaRequirementsDefinitiontool§ Cancalculatecomplexityveryaccurately§ CanidentifychangeacrosstheentireSDLC

CAAgileRequirementsDesignergivesyoumultipleoutputsforoneinput

Page 12: CA Agile Requirements Designer 101 - an introduction to the general premise of Model-Based Testing.

12 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

WhatisCoverage?

TheBusinessthinksit’s:– CodeCovered– NumberofTestCovered– TestsRun– Percentageofusecases– AllPairedCombinations

Itisactually:– DesigningSufficientTestsToVERIFYThatTheDesignandCode

CorrectlyImplementTheRequirements– Didyougettherightanswerfortherightreason?Twoormoredefects

maysometimescanceleachotherout– Observability

Page 13: CA Agile Requirements Designer 101 - an introduction to the general premise of Model-Based Testing.

13 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

ASimpleForm EasytoTest?

Page 14: CA Agile Requirements Designer 101 - an introduction to the general premise of Model-Based Testing.

14 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

TheUserKnowswhattheywantTheAnalystspecifieswhatthatis

TheProgrammerwritesthecode

TheTesterteststheprogram

Thefurtherthevisionsdiverge Thegreatertheproblems

ClarityandVisionDuringDevelopmentBusinessAnalyst Programmer TesterUser

Page 15: CA Agile Requirements Designer 101 - an introduction to the general premise of Model-Based Testing.

15 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

Therearelessbugsandtheproductisdeliveredfaster

Thecloserthevisionmeanstheusergetsaqualityproduct

ClarityandVisionDuringDevelopmentBusinessAnalyst Programmer TesterUser

Page 16: CA Agile Requirements Designer 101 - an introduction to the general premise of Model-Based Testing.

16 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

ClarityandVisionDuringDevelopmentBusinessAnalyst Programmer TesterUser

Verify&Clarify ClearLogic TestCases

Thescopeforambiguityismuchless

Theproductisofhigherqualityandisdeliveredfaster

CAAgileRequirementsDesigner:§ DesignTests- Minimum- Optimal

§ DesignData- Findit- Makeit

Page 17: CA Agile Requirements Designer 101 - an introduction to the general premise of Model-Based Testing.

17 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

TheResultsareOftenPoor

Page 18: CA Agile Requirements Designer 101 - an introduction to the general premise of Model-Based Testing.

18 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

“Everythingshouldbemadeassimpleaspossible,butnotsimpler.”

–AlbertEinstein

Wedo knowthatwhenoureyesareopen,ourvisionaccountsfortwo-thirdsoftheelectricalactivityofthebrain—afull2billionofthe3billionfiringspersecond—whichwasthefindingofneuroanatomistR.S.Fixot inapaperpublishedin1957.

Page 19: CA Agile Requirements Designer 101 - an introduction to the general premise of Model-Based Testing.

19 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

TesterProjectManager/DevelopmentManager

BusinessAnalyst/RequirementsManager TestManager

TheRequirementsareconceivedandcreatedinCAAgileRequirementsDesigner.

Relevantprojectmanagersfilloutdetail.ThiscanbepassedbackupthechaintoBas,etc.

TestManagersensureimplementationissuesaretackled.Alsocanbepassedupthechainforverification.

Testersreceivecomprehensive,logicaltestplansandtestcases.

Requirements-BasedTestingModelofTestPlanDelivery– FullTraceability

Page 20: CA Agile Requirements Designer 101 - an introduction to the general premise of Model-Based Testing.

20 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

WhoWouldUseCAAgileRequirementsDesigner?

§ Icanseeanyprocessflowandpredicthowlongthedevelopmentandtestingprocesswilltake

§ MyUserscanclearlydefineaprocessastheythinkofit§ MyBusinessAnalystcandefinetheprocess,whichwillbeverifiedby

theuser,createlogicflowsforprogrammersandtestcasesfortesters§ MyProgrammerscanverifytheprocesswiththeBusinessAnalystbefore

codingandTesterswithtestcases§ MyTesterscanquicklydefinefunctionallogicflowsandverifythemwith

theProgrammer,aswelldefinethesmallestsetoftestcasestoverifytheprogram

§ MyOutsourcingPartnerscangetstablerequirementsandclearlydefinedworkpackages,whichresultinlowerongoingcosts

Page 21: CA Agile Requirements Designer 101 - an introduction to the general premise of Model-Based Testing.

21 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

§ Generatetestscriptsthatprovidemaximumfunctionalitydirectlyfromrequirements

§ Quicklyandeasilyrespondtochange,andavoiddelaysandbudgetover-runs

§ Fullytestsoftwareinthesmallestnumberofrunsrequired,deliveringqualitysoftwareontimeandunderbudget

AgileRequirementsDesigner

Page 22: CA Agile Requirements Designer 101 - an introduction to the general premise of Model-Based Testing.

22 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

JustaQuickTouroftheGUI…

Afewthingshavechanged…

Page 23: CA Agile Requirements Designer 101 - an introduction to the general premise of Model-Based Testing.

23 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

BacktoBasics

SettingupSimpleFlows

Page 24: CA Agile Requirements Designer 101 - an introduction to the general premise of Model-Based Testing.

24 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

ProcessBlocks

§ Processblocksrepresent‘doingsomething’i.e.notadecision,butsomethinghappening– forexample‘MakeTea’or‘RejectLoan’–theydon’thavetoberesultsthough,anotherexampleprocesscouldbe‘LookupCandidate’

§ Processblocksmayonlyhaveoneoutput,astheyarenotmakingadecision

§ Processblockscanhaveunlimitedinputsfromotherblocks(twodepictedhere)

§ TestData,Automation,andmanyotherusefulpiecesofsupportingdatacanbeattachedtoaprocessblock,aswe’llseelater.

Page 25: CA Agile Requirements Designer 101 - an introduction to the general premise of Model-Based Testing.

25 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

DecisionBlocks

§ Decisionblocksrepresentachoiceordecisionmadeintheflowchart,forexample‘Havewater?’or‘Amountofloan?’

§ Baseduponthesedecisions,decisionoutputmayendupindifferentpartsofthediagram,buttheydoesn’thaveto

§ Adecisioncanhaveasmanyoutputsasrequired,andcanhaveasmanyinputsasrequired

§ Alldecisionblockoptionsinthetoolbarcanbeeditedafterthefacttoresembletheothers,theyarejustdefaults

§ TestData,Automation,andmanyotherusefulpiecesofsupportingdatacanbeattachedtoadecisionblock,unlikeprocessblocksmuchofthisisdoneperoutputaswe’llseelater.

Page 26: CA Agile Requirements Designer 101 - an introduction to the general premise of Model-Based Testing.

26 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

AddingBlocks

§ Tocreatenewblocks,simplydragthemontothecanvas(righthandside)fromthetoolbox.

§ Youcanalsoaddnewblocksbyclickingonasymbolontheleft,andclickingsomewhereonthediagramforittoappear.

§ Formostsetups,thethreeblocksyouwillbeusingthemostarelistedhereontheright:(Start/End,Process,True/False).

§ Anydecisionblockcanbeeditedtohaveasmanyoutputsasnecessary(thinkYellow,Red,BlueratherthanTrue/False)sodon’tworryaboutthatfornow.

Page 27: CA Agile Requirements Designer 101 - an introduction to the general premise of Model-Based Testing.

27 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

EditingBlocks

§ Toeditanexistingblock,double-clickit(orright-clickà Edit)

§ Thenumberoftabscanbeintimidating.Mostofthemareforadvanceuseandyou’llneverhavetoknowwhattheydo.

§ Differentblocktypeshavedifferentsetsoftabs(process,decision,subflow,etc.)

Page 28: CA Agile Requirements Designer 101 - an introduction to the general premise of Model-Based Testing.

28 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

Exercise1.GototheShop?

§ Aneasyonetostart,openMakeTeafromtheexamplesfolder§ RefamiliarizeyourselfwithmanipulatingtheUI,doubleclickon

blockstoopenthemup,dragtomoveblocksandarrows,dragnewitemsfromthepallettocreatenewblocks

§ Whenready,makethefollowingchange:“WhenIwantmilk,butdonothaveit,Imaygototheshop,theshopmayormaynothavemilk– forwhateverreason,ifIdon’tcomebackwithmilk,Iwillstillnotmaketea,ifIdogetmilkIwillmaketea.”tothediagram,adjustingthediagramtotakeyourchangesintoaccount

Page 29: CA Agile Requirements Designer 101 - an introduction to the general premise of Model-Based Testing.

29 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

Exercise1.GototheShop?– TickTock theclock’srunning…10minutes…

10 5 0

Page 30: CA Agile Requirements Designer 101 - an introduction to the general premise of Model-Based Testing.

30 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

Exercise1.GototheShop?Getsomethinglikethis?

Page 31: CA Agile Requirements Designer 101 - an introduction to the general premise of Model-Based Testing.

31 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

Exercise2.SuperCoffee andSuperHealth

We’regoingtocreateanewflow,baseduponafreedrinksschemeforcustomersofSuperCoffee ifthey’vedoneenoughrunningatSuperHealthHere’showtheschemeworks:1. IfIhaverunover10milesintheweek,Iearnafreedrink2. IfIhaverun>0milesintheweek,andIamaGoldmemberofSuperCoffee,Iearn

afreedrink3. IfIhaverun5-10milesintheweek,andIamaHealthPlus memberof

SuperHealth Iearnafreedrink,unlessitisaweekend.Ofcoursebyrunning5-10milesIalsoqualifyforNo.2potentially.

4. Ihaverun0miles,Igetnothing.5. Youcanonlyqualifyforonefreedrink,ifyouearnoneforanyreason,youcan

neverinvalidateit.Howmanypossiblepathsdoyouget?

Page 32: CA Agile Requirements Designer 101 - an introduction to the general premise of Model-Based Testing.

32 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

Exercise2.SuperCoffee andSuperHealth – TickTock…20minutes…

20 15 10

10 5 0

Page 33: CA Agile Requirements Designer 101 - an introduction to the general premise of Model-Based Testing.

33 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

Exercise2.SuperCoffee andSuperHealthGetanythinglikethis?

Ifnot,whynot?Comparewithyourneighbours!

Page 34: CA Agile Requirements Designer 101 - an introduction to the general premise of Model-Based Testing.

34 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

Generation,Storing,Options,Coverage

§ Pathsaregeneratedtospecificcoveragetargets

§ Theoptimiserwillalwayschoosetheminimumnumberofpathstocoverwhatithasbeenaskedtocover

§ Withtheexception,of‘Allpossiblepaths’

§ Therearemanyoptionsforthepathoptimiser,fromfilters,toconstraints.Typicallythedefaultsarefine.

§ Letshavealookthrough…

Page 35: CA Agile Requirements Designer 101 - an introduction to the general premise of Model-Based Testing.

35 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

Coverage

§ OneofthemainfeaturesofCAAgileRequirementsDesigneristheabilitytomeasurecoverageatalltimes,foranyparticularsetofpathsforanyparticularcoverageoption.

§ Typicallycoverageachievedbyhumansispoor.

§ We’regoingtoletthecomputerplaychessforus.

§ Letshavealookatthecoveragewindows…

Page 36: CA Agile Requirements Designer 101 - an introduction to the general premise of Model-Based Testing.

36 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

StoringPaths,etc.

§ Gobacktomaketea,oroneoftheflowsyouhavecreated.

§ Generatetargetingthe‘allnodes’coverageoption,storethepaths,andopenthecoveragewindow,whatisthe%?Openthe‘more’sectiontoseewhat’sactuallybeingcoveredandwhatisnot.Now,finishyourcoverageforAllin/out,usingthe‘addtoexistingpaths’option.

§ Now,we’llhavealookatmanagingstoredpathtypes…

Page 37: CA Agile Requirements Designer 101 - an introduction to the general premise of Model-Based Testing.

37 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

ChangeImpact,theHeartoftheTool

§ TheprincipleofCAAgileRequirementsDesigneris,“Letsmaintaina40-blockdiagram,ratherthanmaintain1000softests/datapoints/scripts”

§ WhenyoumakeachangetothediagraminCAAgileRequirementsDesigner,theImpactanalyserwillallowyoutomaintainthetestcases,andthusthedataandscripts- itwillcalculatewhatpathsnolongermakesense,andgiveyouoptionsastowhatyou’dliketodowiththem,including,repairthem.Foranyonewhohasexperiencedmanuallymaintainingtests,youmightrecognisehavingthetooldothisisamuchbetteridea!

Page 38: CA Agile Requirements Designer 101 - an introduction to the general premise of Model-Based Testing.

38 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

Exercise4.Let’sMakeaChange

1. Openuptheflow‘SongStreaming’2. Cleardownthetestcasesinthestoredpathtype‘testcases’3. Storetheoptimal‘allpairs’pathsforthisflow.Makesurethe“Trytofindpathsin

previousversion”isUnchecked4. Now,implementthechange“WhenIamnotconnectedto3g,orthe3gisnot

fastenough,Ishouldcheck(beforefailingasbefore)ifIamconnectedto2g,IfIam,Ishouldwaitforthebuffer– else,errorasbefore”

5. Gobacktoviewyourstoredpaths,examinewhatthepathimpactanalysersays,deletetheeffectedpaths

6. Nowgoandlookatthecoverage,you’llnoticeit’sdropped!7. GeneratebothA)thenewoptimalsetofpathsandB)justtheadditionalpaths

requiredtofinishthecoverage.

Page 39: CA Agile Requirements Designer 101 - an introduction to the general premise of Model-Based Testing.

39 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

ARealWorldScenario?

§ Therealworldisn’tsoeasy.

§ Goalistohaveafeasiblemodel,notaperfectone.

§ Presentationmatters.

§ Logicallyimplementwhatitcouldmean,somedefensibleinterpretation.

Page 40: CA Agile Requirements Designer 101 - an introduction to the general premise of Model-Based Testing.

40 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

TestDatainCAAgileRequirementsDesigner

§ Howdoesitwork?

§ Ingeneral,theideaistosetdatabasedonwherewegointhediagram,ratherthanworkingitalloutafterwards.

§ Thereasoningisthis:It’seasiertomake40dataassignmentson20blocks,ratherthanmaintainmillionsofdatapointsmanually!

§ Theotheradvantage,asalludedtobefore,isofcoursethatnow,whenwechangeourdiagram,ourdatacanautomaticallyreacttoo!

§ Letmeshowyou…!

Page 41: CA Agile Requirements Designer 101 - an introduction to the general premise of Model-Based Testing.

41 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

Exercise5.Let’sSetUpSomeData

1. Openup‘Maketea’,ateachdecisionpoint,addthenecessarydataassignmentsforeachoutput!

2. Now,generateandstoresomepaths.3. Gotothetestdatatableandexamineallofthedatathatresults.4. Nowthisisallboring,hardcoded(toanextent)data,butwe’llfix

thatlater.5. Playaround,addmorevariablestosomeofthedecisionoutputs,

changetheirvalues,andhavealookattheeffectinthetable.6. Now,changethediagraminsomeway,andreactaswedidbefore,

nowconsideryournewdata,neat,right?

Page 42: CA Agile Requirements Designer 101 - an introduction to the general premise of Model-Based Testing.

42 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

Exercise6.Let’sSetUpaLoan

1. Soletsmakesomething(mildly)morerealistic.2. Setupaflowwherewearegoingtobegeneratingmanydifferent

typesofloan.3. Weneedadecisiontodecidetheproductcode:CT50,CT33,CT48,CT49,

wemustalsodecidetheamount(fornow,wewillhavetheoptions<1,000,1,000-10,000,10,000-100,000,>100,000)

4. Wewillalsoneedadecisiontosetthetermoftheloan,(1yr,3yr,5yr)5. Wewillneedadecisiontosettheinterestrate(<1%,1-5%,>5%)6. Allofthedecisionsuptonowjustflowintothenext,butfromhere,we

needatruefalsedecision‘backdate’,ifitistrue,wemusthaveadecisiontochooseabackdateTime (1days,2-359days,360days)elsedonot.Nowbothpathsgointoa‘calculateresult’block.

Page 43: CA Agile Requirements Designer 101 - an introduction to the general premise of Model-Based Testing.

43 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

Exercise6.Let’sSetUpaLoan

§ Again,generatesomepaths,andhavealookatyourlovelydata!

§ Butthereareissues…howdowedealwithranges?Howdowemakedatareferentiallyintact?Howdowemakeitmoredynamicandrealistic?

§ …Dataexpressions!

Page 44: CA Agile Requirements Designer 101 - an introduction to the general premise of Model-Based Testing.

44 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

TheDataPainterwindow

§ TheDataPainterwindow

Page 45: CA Agile Requirements Designer 101 - an introduction to the general premise of Model-Based Testing.

45 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

Exercise7.Let’sGenerate:

1. Arandomnumberbetween1and20002. ARandomnumberofdigitsbetween3and7inlength,

paddedtotheleftwith0stoalengthof73. Multiplytworandomnumberstogether4. Addarandomnumberofdaystothe~CDATE~01/01/2009if

cdate misbehaves5. Randomlychooseafirstnamefromaseedlist6. A@percval@ofanytwostrings,or,ifyouwanttobefancy,

twofunctions!7. [email protected] (useseedlists)

Page 46: CA Agile Requirements Designer 101 - an introduction to the general premise of Model-Based Testing.

46 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

Let’sGenerate

§ Butwhataboutthiscolumn?

Page 47: CA Agile Requirements Designer 101 - an introduction to the general premise of Model-Based Testing.

47 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

Exercise8.ReferentialandRandom?

1. Usingtheknowledgeofthefunctionswe’vejustbeenusing,goandfixoutloanflow,sothateverythingisparameterised (i.e.therangesallhavearandomexpressionforthembetweenthatrangeetc.)

2. Storepaths,resolvethetestdata3. Now,gobacktoourblock‘calculateresult’4. UsingtheformulaPayment =(Interest rate*amount )/(12*100)+(amount /(

term*12))setupthevariableandexpressionfor‘MonthlyPayment’remembertoreferencethecolumnsforamount,term,interestrateetc.

5. Makesurethisresolvesproperly!6. Examineyourdatainthetable7. Wewon’t,butifwemadeachangetothiskindofflow,thechangeswouldreflect

uptoourdatatoo.

Page 48: CA Agile Requirements Designer 101 - an introduction to the general premise of Model-Based Testing.

48 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

Exercise8.ReferentialandRandom?

1. Here’soneImadeearlier…

2. Testerssometimesspenduptohalftheirtimesearchingorcreatingappropriatedatafortheirtests!Nowwecanagainmaintainafewblocks,ratherthan10000sofdatapoints,andrefreshourdataondemand!Neateh?

3. Thiswillbeapartofourkillerdemo(ofcourse,notinasmuchdetail).

Page 49: CA Agile Requirements Designer 101 - an introduction to the general premise of Model-Based Testing.

49 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

Filters

§ Forthemostpart,filtersareusedtoeasilyselectorseepartsofthediagram

§ Intheverylatestversion,wecanalsoapplyfilterspriortoandpostoptimisation

§ Letsconstructsomefilters!

Page 50: CA Agile Requirements Designer 101 - an introduction to the general premise of Model-Based Testing.

50 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

Exercise9.Filters

1. Constructafiltertoonlyseetheblockswhichhavetestdatadefinedforthem

2. Changetheimportanceofthe‘don’tmaketea’blocktocritical,thencombinethefilterabove(settono)withafilterwhichselectsonlycriticallyimportantblocks

3. Storeafilterforlateruse.

Page 51: CA Agile Requirements Designer 101 - an introduction to the general premise of Model-Based Testing.

51 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

Exercise9.Filters

1. Constructafiltertoonlyseetheblockswhichhavetestdatadefinedforthem

2. Changetheimportanceofthe‘don’tmaketea’blocktocritical,thencombinethefilterabove(settono)withafilterwhichselectsonlycriticallyimportantblocks

3. Storeafilterforlateruse.4. Whywouldwebotherwiththese?

Page 52: CA Agile Requirements Designer 101 - an introduction to the general premise of Model-Based Testing.

52 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

ImportandDeduplication

CAAgileRequirementsDesignercanimporttestcasesfrommanydifferentsources!Including…

§ HPEALM

§ JIRA

§ CAAgileCentral

§ VERSIONONE

§ EXCEL

Page 53: CA Agile Requirements Designer 101 - an introduction to the general premise of Model-Based Testing.

53 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

ImportandDeduplication

§ Sowecanimporttestcases?What’sthepoint?

§ Webringineachtestcaseonastepbystepbasis,typicallythiswillmeanthereduplicatestepssharedacrossmanytests.

§ InCAAgileRequirementsDesigner,youcanhavethetoolsuggestduplicateblockstoyou,suggestionsyoucantheneitheracceptorrejectonacasebycasebasis.

§ Onceyou’vemarkedtheduplicates,thetoolcandeduplicate theblocksforyou,butkeepingeverypathintact– thisleavesyouwithaflowthatithasinferredfromthetestcasesyougiveit!

§ Thisisanimportantaccelerator,butnotperfect!

Page 54: CA Agile Requirements Designer 101 - an introduction to the general premise of Model-Based Testing.

54 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

Exercise10.BringinSomeTestsandDedupe!

§ Inanewflow,gototheimporttab,click‘excel/generaltestcases’– selectthe.docx ‘Doc_procedure_testcases’

§ MaptherelevantfieldstofieldsinCAAgileRequirementsDesigner

§ HitImport!

§ Openthededupewindowunderneathtestfactory

§ Haveaplaywiththesensitivitysettings

§ Markalltheduplicates,thenhitde-dupeinthemainAgD window.

§ Re-layouttheresultingdiagram,makeanyfixes/additions– measurethecoverageofthestoredpaths,canwedoitwithlesstestcases?

Page 55: CA Agile Requirements Designer 101 - an introduction to the general premise of Model-Based Testing.

55 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

Constraints

§ Constraintsallowyoutolayer‘rules’ontopofthediagraminordertoachievespecificfunctionalitywithoutanunreasonablylargeflow

§ Imagineadecisionnearthetopofalargediagram,whichcanbetrueorfalse,butmuchlaterinthediagramwemakethesamedecision– iftheyhavetolineuphowwouldwedothiswithoutconstraints?Wouldwedoublethesizeofthediagram?

§ Cananyonethinkofwhythesemaybenecessary§ Letshavealookatthemforreal…§ Ingeneral,youshouldonlyuseconstraintswhenthesamelogiccannot

(easily)beachievedbyflowlogicalone,andthereisusuallyawaytodothat.

Page 56: CA Agile Requirements Designer 101 - an introduction to the general premise of Model-Based Testing.

56 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

Exercise11.BuildaUsefulConstraint

§ Openour‘loan’flow,createaconstraintsuchthatwhenevertheproductisCT50,thebackdatemustbe360

§ Ifyougeneratepathsnow,youwillnoticetherewillbeless

§ Youcanoptionallyhavethepathexplorerignoreconstraints

§ Feelfreetobuildupmorecomplicatedconstraintsinthe‘pathhints’dialogue.

Page 57: CA Agile Requirements Designer 101 - an introduction to the general premise of Model-Based Testing.

57 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

Extras

§ Versioncomparison

§ Richtextimporter

§ Worddocbuilder

§ Clonescopiesandduplicates

§ Customexcelexport

§ Propertieswindow

§ Flowvalidation

§ Diagramexports

§ Accelerators

§ Shapes

§ Loops

Page 58: CA Agile Requirements Designer 101 - an introduction to the general premise of Model-Based Testing.

58 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

Questions?

Page 59: CA Agile Requirements Designer 101 - an introduction to the general premise of Model-Based Testing.

59 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

RecommendedSessions

SESSION# TITLE DATE/TIME

DO5X23EPre-ConEducation:RequirementsareKing– BetterRequirements=BetterSoftware

11/15/2016at11:00am

DO5X27S What'sNewinCAAgileRequirementsDesigner? 11/17/2016at12:45pm

DO5X40S CaseStudy:WhyRabobankWasInspired 11/17/2016at3:45pm

Page 60: CA Agile Requirements Designer 101 - an introduction to the general premise of Model-Based Testing.

60 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

MustSeeDemos

DataComplianceandTesting

CATDMTheater5

DeliverTestDataFaster

CATDMTheater5

UseModelBasedTesting

CAARDTheater5

AchieveMaximumTestCoverage

CAARDTheater5

Page 61: CA Agile Requirements Designer 101 - an introduction to the general premise of Model-Based Testing.

61 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

Stayconnectedatcommunities.ca.com

Thankyou.

Page 62: CA Agile Requirements Designer 101 - an introduction to the general premise of Model-Based Testing.

@CAWORLD#CAWORLD ©2016CA.AllRIGHTSRESERVED.62 @CAWORLD#CAWORLD

DevOps– ContinuousDelivery

FormoreinformationonDevOps– ContinuousDelivery,pleasevisit:http://cainc.to/PiTFpu