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

Preview:

Citation preview

World®’16

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

DO5X29L

DEVOPS

2 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

ForInformationalPurposesOnly

©2016CA.Allrightsreserved.Alltrademarksreferencedhereinbelongtotheirrespectivecompanies.

Thecontentprovidedinthis CAWorld2016presentationisintendedforinformationalpurposesonlyanddoesnotformanytypeofwarranty. The informationprovidedbyaCApartnerand/orCAcustomerhasnotbeenreviewedforaccuracybyCA.

TermsofthisPresentation

3 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

Abstract

Thislabwillprovideanin-depthoverviewofCAAgileRequirementsDesignerandthefundamentalconceptsthatunderpinitsapproachtosoftwaredesignandtesting.

CAAgileRequirementsDesignerisaflowchart-modellingtoolusedbyBusinessAnalysts,Programmers,TestersandAutomationSpecialiststodefineandautomaticallytestcomplexsystems.

BenRiley

CATechnologiesPrincipalConsultant,Presales

4 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

Agenda

2HOURS

SOMELOVELYINFORMATION

HANDSONWITHTHETOOL

LETSSEEWHATYOUGOT….

1

2

3

4

5 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

WhatDoWeWanttoAchieveFromThis?

1. Deepunderstandingofthetoolandwhatitcando

2. Afullerunderstandingofwhyitisimportanttoitsusers!

3. LargerawarenessoftypicalDesign-Dev-TestChallenges

4. Let’sPlay…

6 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

AFewValuePropositionSlides…

Nottoomany,don’tpanic.

7 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

QuicklyandsimplyintroduceagileprocessesintoyourexistingWaterfallLifecycles

AgileRequirementsDesigner

8 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

CommonChallengesPart1

§ 56%ofsoftwaredefectscanbetracedbacktoambiguitiesinrequirements1

§ Detectingandresolvingproductiondefectsisover40xmoreexpensivethaninrequirements2

§ Industrystandardformanualtestcasedesigncoverageisbetween10-20%

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

9 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

CommonChallengesPart2

§ Over-testingofsomefunctionsbyfactorsof40isnotuncommon

§ Changerequeststoexistingsoftwarerequirementscantakeuptoasmuchas60%oftheSDLC

§ IfImakeachangeIhavenoideatheeffectthiswillhaveonupstreamordownstreamsystems

10 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

ContinuousDevelopment

§ ContinuousIntegration

§ IterativeDevelopment

§ DevOps

§ IsmostlyOps

§ Itstartswhendevelopmentandtestingarecomplete

§ Itshouldstartwhentheuserhasanidea!

11 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

CAAgileRequirementsDesigner

§ Thereareplentyoftoolstomanagerequirements§ Thereareplentyoftoolstomanagetestcases§ Thesecanbeconsideredlogisticalsupport

CAAgileRequirementsDesignerisanacceleratortoimprovetheinputtothesetools§ IsaTestCaseDesignandTestCaseOptimizationtool§ IsaRequirementsDefinitiontool§ Cancalculatecomplexityveryaccurately§ CanidentifychangeacrosstheentireSDLC

CAAgileRequirementsDesignergivesyoumultipleoutputsforoneinput

12 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

WhatisCoverage?

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

Itisactually:– DesigningSufficientTestsToVERIFYThatTheDesignandCode

CorrectlyImplementTheRequirements– Didyougettherightanswerfortherightreason?Twoormoredefects

maysometimescanceleachotherout– Observability

13 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

ASimpleForm EasytoTest?

14 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

TheUserKnowswhattheywantTheAnalystspecifieswhatthatis

TheProgrammerwritesthecode

TheTesterteststheprogram

Thefurtherthevisionsdiverge Thegreatertheproblems

ClarityandVisionDuringDevelopmentBusinessAnalyst Programmer TesterUser

15 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

Therearelessbugsandtheproductisdeliveredfaster

Thecloserthevisionmeanstheusergetsaqualityproduct

ClarityandVisionDuringDevelopmentBusinessAnalyst Programmer TesterUser

16 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

ClarityandVisionDuringDevelopmentBusinessAnalyst Programmer TesterUser

Verify&Clarify ClearLogic TestCases

Thescopeforambiguityismuchless

Theproductisofhigherqualityandisdeliveredfaster

CAAgileRequirementsDesigner:§ DesignTests- Minimum- Optimal

§ DesignData- Findit- Makeit

17 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

TheResultsareOftenPoor

18 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

“Everythingshouldbemadeassimpleaspossible,butnotsimpler.”

–AlbertEinstein

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

19 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

TesterProjectManager/DevelopmentManager

BusinessAnalyst/RequirementsManager TestManager

TheRequirementsareconceivedandcreatedinCAAgileRequirementsDesigner.

Relevantprojectmanagersfilloutdetail.ThiscanbepassedbackupthechaintoBas,etc.

TestManagersensureimplementationissuesaretackled.Alsocanbepassedupthechainforverification.

Testersreceivecomprehensive,logicaltestplansandtestcases.

Requirements-BasedTestingModelofTestPlanDelivery– FullTraceability

20 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

WhoWouldUseCAAgileRequirementsDesigner?

§ Icanseeanyprocessflowandpredicthowlongthedevelopmentandtestingprocesswilltake

§ MyUserscanclearlydefineaprocessastheythinkofit§ MyBusinessAnalystcandefinetheprocess,whichwillbeverifiedby

theuser,createlogicflowsforprogrammersandtestcasesfortesters§ MyProgrammerscanverifytheprocesswiththeBusinessAnalystbefore

codingandTesterswithtestcases§ MyTesterscanquicklydefinefunctionallogicflowsandverifythemwith

theProgrammer,aswelldefinethesmallestsetoftestcasestoverifytheprogram

§ MyOutsourcingPartnerscangetstablerequirementsandclearlydefinedworkpackages,whichresultinlowerongoingcosts

21 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

§ Generatetestscriptsthatprovidemaximumfunctionalitydirectlyfromrequirements

§ Quicklyandeasilyrespondtochange,andavoiddelaysandbudgetover-runs

§ Fullytestsoftwareinthesmallestnumberofrunsrequired,deliveringqualitysoftwareontimeandunderbudget

AgileRequirementsDesigner

22 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

JustaQuickTouroftheGUI…

Afewthingshavechanged…

23 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

BacktoBasics

SettingupSimpleFlows

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.

25 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

DecisionBlocks

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

§ Baseduponthesedecisions,decisionoutputmayendupindifferentpartsofthediagram,buttheydoesn’thaveto

§ Adecisioncanhaveasmanyoutputsasrequired,andcanhaveasmanyinputsasrequired

§ Alldecisionblockoptionsinthetoolbarcanbeeditedafterthefacttoresembletheothers,theyarejustdefaults

§ TestData,Automation,andmanyotherusefulpiecesofsupportingdatacanbeattachedtoadecisionblock,unlikeprocessblocksmuchofthisisdoneperoutputaswe’llseelater.

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.

27 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

EditingBlocks

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

§ Thenumberoftabscanbeintimidating.Mostofthemareforadvanceuseandyou’llneverhavetoknowwhattheydo.

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

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

29 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

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

10 5 0

30 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

Exercise1.GototheShop?Getsomethinglikethis?

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?

32 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

Exercise2.SuperCoffee andSuperHealth – TickTock…20minutes…

20 15 10

10 5 0

33 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

Exercise2.SuperCoffee andSuperHealthGetanythinglikethis?

Ifnot,whynot?Comparewithyourneighbours!

34 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

Generation,Storing,Options,Coverage

§ Pathsaregeneratedtospecificcoveragetargets

§ Theoptimiserwillalwayschoosetheminimumnumberofpathstocoverwhatithasbeenaskedtocover

§ Withtheexception,of‘Allpossiblepaths’

§ Therearemanyoptionsforthepathoptimiser,fromfilters,toconstraints.Typicallythedefaultsarefine.

§ Letshavealookthrough…

35 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

Coverage

§ OneofthemainfeaturesofCAAgileRequirementsDesigneristheabilitytomeasurecoverageatalltimes,foranyparticularsetofpathsforanyparticularcoverageoption.

§ Typicallycoverageachievedbyhumansispoor.

§ We’regoingtoletthecomputerplaychessforus.

§ Letshavealookatthecoveragewindows…

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…

37 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

ChangeImpact,theHeartoftheTool

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

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

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.

39 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

ARealWorldScenario?

§ Therealworldisn’tsoeasy.

§ Goalistohaveafeasiblemodel,notaperfectone.

§ Presentationmatters.

§ Logicallyimplementwhatitcouldmean,somedefensibleinterpretation.

40 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

TestDatainCAAgileRequirementsDesigner

§ Howdoesitwork?

§ Ingeneral,theideaistosetdatabasedonwherewegointhediagram,ratherthanworkingitalloutafterwards.

§ Thereasoningisthis:It’seasiertomake40dataassignmentson20blocks,ratherthanmaintainmillionsofdatapointsmanually!

§ Theotheradvantage,asalludedtobefore,isofcoursethatnow,whenwechangeourdiagram,ourdatacanautomaticallyreacttoo!

§ Letmeshowyou…!

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?

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.

43 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

Exercise6.Let’sSetUpaLoan

§ Again,generatesomepaths,andhavealookatyourlovelydata!

§ Butthereareissues…howdowedealwithranges?Howdowemakedatareferentiallyintact?Howdowemakeitmoredynamicandrealistic?

§ …Dataexpressions!

44 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

TheDataPainterwindow

§ TheDataPainterwindow

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. Anemailaddressbasedonfirst.lastname@gmail.com (useseedlists)

46 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

Let’sGenerate

§ Butwhataboutthiscolumn?

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.

48 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

Exercise8.ReferentialandRandom?

1. Here’soneImadeearlier…

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

3. Thiswillbeapartofourkillerdemo(ofcourse,notinasmuchdetail).

49 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

Filters

§ Forthemostpart,filtersareusedtoeasilyselectorseepartsofthediagram

§ Intheverylatestversion,wecanalsoapplyfilterspriortoandpostoptimisation

§ Letsconstructsomefilters!

50 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

Exercise9.Filters

1. Constructafiltertoonlyseetheblockswhichhavetestdatadefinedforthem

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

3. Storeafilterforlateruse.

51 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

Exercise9.Filters

1. Constructafiltertoonlyseetheblockswhichhavetestdatadefinedforthem

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

3. Storeafilterforlateruse.4. Whywouldwebotherwiththese?

52 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

ImportandDeduplication

CAAgileRequirementsDesignercanimporttestcasesfrommanydifferentsources!Including…

§ HPEALM

§ JIRA

§ CAAgileCentral

§ VERSIONONE

§ EXCEL

53 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

ImportandDeduplication

§ Sowecanimporttestcases?What’sthepoint?

§ Webringineachtestcaseonastepbystepbasis,typicallythiswillmeanthereduplicatestepssharedacrossmanytests.

§ InCAAgileRequirementsDesigner,youcanhavethetoolsuggestduplicateblockstoyou,suggestionsyoucantheneitheracceptorrejectonacasebycasebasis.

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

§ Thisisanimportantaccelerator,butnotperfect!

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?

55 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

Constraints

§ Constraintsallowyoutolayer‘rules’ontopofthediagraminordertoachievespecificfunctionalitywithoutanunreasonablylargeflow

§ Imagineadecisionnearthetopofalargediagram,whichcanbetrueorfalse,butmuchlaterinthediagramwemakethesamedecision– iftheyhavetolineuphowwouldwedothiswithoutconstraints?Wouldwedoublethesizeofthediagram?

§ Cananyonethinkofwhythesemaybenecessary§ Letshavealookatthemforreal…§ Ingeneral,youshouldonlyuseconstraintswhenthesamelogiccannot

(easily)beachievedbyflowlogicalone,andthereisusuallyawaytodothat.

56 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

Exercise11.BuildaUsefulConstraint

§ Openour‘loan’flow,createaconstraintsuchthatwhenevertheproductisCT50,thebackdatemustbe360

§ Ifyougeneratepathsnow,youwillnoticetherewillbeless

§ Youcanoptionallyhavethepathexplorerignoreconstraints

§ Feelfreetobuildupmorecomplicatedconstraintsinthe‘pathhints’dialogue.

57 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

Extras

§ Versioncomparison

§ Richtextimporter

§ Worddocbuilder

§ Clonescopiesandduplicates

§ Customexcelexport

§ Propertieswindow

§ Flowvalidation

§ Diagramexports

§ Accelerators

§ Shapes

§ Loops

58 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

Questions?

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

60 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

MustSeeDemos

DataComplianceandTesting

CATDMTheater5

DeliverTestDataFaster

CATDMTheater5

UseModelBasedTesting

CAARDTheater5

AchieveMaximumTestCoverage

CAARDTheater5

61 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

Stayconnectedatcommunities.ca.com

Thankyou.

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

DevOps– ContinuousDelivery

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

Recommended