requirements are king – better requirements = better software
TRANSCRIPT
![Page 1: Requirements are King – Better Requirements = Better Software](https://reader031.vdocuments.site/reader031/viewer/2022030317/586fd83e1a28ab18428b551b/html5/thumbnails/1.jpg)
World®’16
RequirementsareKing– BetterRequirements=BetterSoftwareBenjaminJohnson-Ward– SeniorConsultant,Presales– CATechnologies
DO5X23E
DEVOPS
![Page 2: Requirements are King – Better Requirements = Better Software](https://reader031.vdocuments.site/reader031/viewer/2022030317/586fd83e1a28ab18428b551b/html5/thumbnails/2.jpg)
2 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
ForInformationalPurposesOnlyTermsofthisPresentation
©2016CA.Allrightsreserved.Alltrademarksreferencedhereinbelongtotheirrespectivecompanies.
Thecontentprovidedinthis CAWorld2016presentationisintendedforinformationalpurposesonlyanddoesnotformanytypeofwarranty. The informationprovidedbyaCApartnerand/orCAcustomerhasnotbeenreviewedforaccuracybyCA.
![Page 3: Requirements are King – Better Requirements = Better Software](https://reader031.vdocuments.site/reader031/viewer/2022030317/586fd83e1a28ab18428b551b/html5/thumbnails/3.jpg)
3 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
Abstract
Countlessresearchandcasestudieshavelongpointedtoacold,hardtruth:therequirements,notdevelopersortesters,introducethevastmajorityofdefectsthatwreakhavocinproduction.Ratherthansolvethisissue,thedevelopmentpracticesthathavearisenaround“Agile”haveintroducedanewchallenge,astestershavetopiecetogetherandreacttoaconstantbarrageofdisparateuserstoriesandchangerequests.What’smore,therequirementsremainstatic,sothattestershavetomanuallyconvertthemintotests.Thisisaslow,unsystematicprocess,whichcreatesdefectswhentheambiguousrequirementsaremisinterpreted.Inorderfortestinganddevelopmenttokeepupwithconstantlychanginguserneeds,requirementsmustbecapturedinaformatwhichminimizesmiscommunication,canreacttochange,andenablessubsequenttestassetstobederivedautomatically.§ Thissessionwillsetouthow“active”flowchartmodellingcan:§ Provideaformatalreadyfamiliartobusinessanalyststocaptureuserneeds§ Provideaformatfortesterstogenerateoptimizedtestcases,testscripts,dataandexpectedresults
automatically.§ AutomaticallyreflectchangesmadetotherequirementsinthetestsassetsInthisrequirements-drivenapproach,testingtherebybecomesalargelyautomatedcomparisonofhowasystemshouldfunctiontothesystemthathasbeendelivered.
BenjaminJohnson-WardCATechnologiesSeniorConsultant,Presales
![Page 4: Requirements are King – Better Requirements = Better Software](https://reader031.vdocuments.site/reader031/viewer/2022030317/586fd83e1a28ab18428b551b/html5/thumbnails/4.jpg)
4 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
Agenda
WHATISAREQUIREMENT?
WHYFOCUSONREQUIREMENTS?
Q&A
HOWABOUTSOFTWAREENGINEERING?
HOWABOUTREQUIREMENTSENGINEERING?
INTRODUCINGTHEREQUIREMENT-DRIVENAPPROACH
1
2
3
4
5
6
![Page 5: Requirements are King – Better Requirements = Better Software](https://reader031.vdocuments.site/reader031/viewer/2022030317/586fd83e1a28ab18428b551b/html5/thumbnails/5.jpg)
5 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
WhatisaRequirement?
![Page 6: Requirements are King – Better Requirements = Better Software](https://reader031.vdocuments.site/reader031/viewer/2022030317/586fd83e1a28ab18428b551b/html5/thumbnails/6.jpg)
6 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
Definition:Requirement
Requirement:singulardocumentedphysicalandfunctionalneed thataparticulardesign,product
orprocessmustbeabletoperform.
ISO/IEC/IEEE29148:2011
Wikipedia
Requirement:statementwhichtranslatesorexpressesaneed anditsassociatedconstraintsand
conditions.
![Page 7: Requirements are King – Better Requirements = Better Software](https://reader031.vdocuments.site/reader031/viewer/2022030317/586fd83e1a28ab18428b551b/html5/thumbnails/7.jpg)
7 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
WhatisaRequirement?
ErikSimmons,nuCognitive,“21st CenturyRequirements”,11/08/11
Arequirementisastatementof:
1. Whatasystemmustdo(functionalrequirement)
2. Howwellthesystemmustdowhatitdoes(qualityorperformancerequirement)
3. Aknownresourceordesignlimitation (constraint)
Moregenerally,
Arequirementisanythingthatdrivesadesign choice
![Page 8: Requirements are King – Better Requirements = Better Software](https://reader031.vdocuments.site/reader031/viewer/2022030317/586fd83e1a28ab18428b551b/html5/thumbnails/8.jpg)
8 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
ThePurposeofRequirements
Thepurposeofrequirementsistohelpestablishaclear,common,andcoherentunderstandingofwhatthesystemmustaccomplish.
Sowhyfocusonrequirements?ErikSimmons,nuCognitive,“21stCenturyRequirements”,11/08/11
Clear
Allstatementsareunambiguous,complete,
andconcise
Common
Allstakeholderssharethesameunderstanding
Coherent
Allstatementsareconsistentandforma
logicalwhole
![Page 9: Requirements are King – Better Requirements = Better Software](https://reader031.vdocuments.site/reader031/viewer/2022030317/586fd83e1a28ab18428b551b/html5/thumbnails/9.jpg)
9 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
WhyFocusonRequirements?
![Page 10: Requirements are King – Better Requirements = Better Software](https://reader031.vdocuments.site/reader031/viewer/2022030317/586fd83e1a28ab18428b551b/html5/thumbnails/10.jpg)
10 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
WhataretheMainSoftwareChallengesYouareFacing?
Pre-webinarsurvey,“TestingImperativesintheWorldofAgileDevelopmentandContinuousDelivery”,HuwPrice&JonathonWright,28/07/15
0% 10% 20% 30% 40% 50% 60% 70%
Time/resourcesintestdatacompliance(PII)
Defectsstemmingfromambiguousrequirements
Testinginnefficienciesleadingtohighercost
Lackoftestcoveragecreatingdefects/rework
Difficultyfindingtherightdataforaparticulartest
Manualtestingleadingtoprojectdelays
![Page 11: Requirements are King – Better Requirements = Better Software](https://reader031.vdocuments.site/reader031/viewer/2022030317/586fd83e1a28ab18428b551b/html5/thumbnails/11.jpg)
11 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
VAGUENESS
ExamplesofAmbiguityandIncompleteness
Poor ScopingAmbiguous Reference
Omission Acronyms
Aliasing
Sentence Structure
DanglingElse
Incomplete Glossary
Implicit Constraints
I.E. or E.g.?
LexicalAmbiguity
Polysemy
Passive Sentences
![Page 12: Requirements are King – Better Requirements = Better Software](https://reader031.vdocuments.site/reader031/viewer/2022030317/586fd83e1a28ab18428b551b/html5/thumbnails/12.jpg)
12 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
WhatMakesaGoodRequirement?
§ complete§ consistent§ correct§ modifiable§ ranked§ traceable§ unambiguous§ understandable§ testableNASA,AutomatedRequirementsMeasurementTool,1999,http://satc.gsfc.nasa.gov/tools/arm (archive.org)
![Page 13: Requirements are King – Better Requirements = Better Software](https://reader031.vdocuments.site/reader031/viewer/2022030317/586fd83e1a28ab18428b551b/html5/thumbnails/13.jpg)
13 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
WhatistheProblemwithRequirements?
§ Thoughaplethoraoftechniquesexist,mostarewritteninambiguousnaturallanguage
§ Therequirementsare“static”–theyoffernowaytoderivetestsdirectlyfromthem…
§ …nowaytoupdatetestswhentherequirementschange– thishastobedonemanually
BenderRBT,2009
![Page 14: Requirements are King – Better Requirements = Better Software](https://reader031.vdocuments.site/reader031/viewer/2022030317/586fd83e1a28ab18428b551b/html5/thumbnails/14.jpg)
14 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
UserTheenduserknowswhattheywant
TheSDC:What’sSupposedtoHappen
BusinessAnalystTheanalystspecifieswhatthatis
DeveloperTheprogrammerwritesthecode
TesterThetesterteststheprogram
![Page 15: Requirements are King – Better Requirements = Better Software](https://reader031.vdocuments.site/reader031/viewer/2022030317/586fd83e1a28ab18428b551b/html5/thumbnails/15.jpg)
15 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
TheFundamentalIssueWithThisModel
§ Ateachstagethatinformationispassedonandtransformedtoanotherform,thereisanaturaldegradationinquality
§ ThetypicalSDLChasseveralofthese“hops”:1. Requirementsareconvertedtocode2. Requirementsareconvertedtotestcases,tobeappliedtothecode3. Testcasesareconvertedintoautomatedtests4. Datahastobefoundorcreated,basedontherequirements,for
developmentandtesting
InformationHops:Enterprise-Wide“ChineseWhispers”
Theimpactonqualityiscreatedbyuncertainty.Some(inherent)uncertaintyisunavoidable.Someisavoidable,andshouldbeavoided.
![Page 16: Requirements are King – Better Requirements = Better Software](https://reader031.vdocuments.site/reader031/viewer/2022030317/586fd83e1a28ab18428b551b/html5/thumbnails/16.jpg)
16 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
“RumsfeldMatrix”– AvoidablevsUnavoidableUncertainty§ InformationintheSDLCcanbebrokendowninto:
– KnownKnowns– UnknownKnowns– KnownUnknowns– UnknownUnknowns
Knowns Unknowns
Known Information AvoidableUncertaintyàObservableDefects
Unknown AvoidableUncertaintyàObservableDefects
Unavoidable Uncertainty
Inanidealworld,testerswillbeprovidedwithalltheinformationtodiscoverobservabledefects.Whateverpreviouslyunknowableinformationtheydiscoverwilladdtothe“knownknowns”
![Page 17: Requirements are King – Better Requirements = Better Software](https://reader031.vdocuments.site/reader031/viewer/2022030317/586fd83e1a28ab18428b551b/html5/thumbnails/17.jpg)
17 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
Unambiguous,IncompleteRequirements
§ Poorqualityrequirementsintroduceuncertaintyatthebeginning,whichisthenperpetuatedthroughouttheSDLC
§ Asystemcanbebuildaroundmisunderstanding,sothat:– Atleast56%ofdefectsstemfromambiguityinrequirements1 – some
placethisashighas59%2 oreven65%3
– 64%oftotaldefectcost3originateintherequirementsanalysisanddesignphase– someplacethisashighas80%1
– 40-50%ofprojectcosts areexpendedinrework4
– Onaverage,only69%ofdesiredfunctionalityisactuallydelivered5
Introduceavoidableuncertaintyattheverybeginning
1– BenderRBT,2009
2– ITUniveristy,Copenhagen,2001
3- HyderabadBusinessSchool,20124– Critical-Logic,20145– StandishGroup’sChaosManifesto2014
![Page 18: Requirements are King – Better Requirements = Better Software](https://reader031.vdocuments.site/reader031/viewer/2022030317/586fd83e1a28ab18428b551b/html5/thumbnails/18.jpg)
18 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
Unambiguous,IncompleteRequirementsAnexampleambiguityreview:
![Page 19: Requirements are King – Better Requirements = Better Software](https://reader031.vdocuments.site/reader031/viewer/2022030317/586fd83e1a28ab18428b551b/html5/thumbnails/19.jpg)
19 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
AmbiguousNaturalLanguage
§ “Timeflieslikeanarrow;fruitflieslikeanapple”
§ “BuffalobuffaloBuffalobuffalobuffalobuffaloBuffalobuffalo”– Agrammaticallycorrectsentence,whichmeans“InthecityofBuffalo,
bisonwhoarebulliedbybison,arethemselvesbullyingbison”
§ Wesawherduck
Sentencestructure,homonyms,polysemy,lexicalambiguity,etc.
![Page 20: Requirements are King – Better Requirements = Better Software](https://reader031.vdocuments.site/reader031/viewer/2022030317/586fd83e1a28ab18428b551b/html5/thumbnails/20.jpg)
20 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
TheDanglingElse
§ IFATHENIFBTHENCELSED– IFATHEN(IFBTHEN(C)ELSED)– IFATHEN(IFBTHEN(C))ELSED
§ IFRAINTHENIFWINDYTHENCOATELSET-Shirt– Ifitisraining,thenwearacoatifitisalsowindy.Ifitisrainingbutnot
alsowindy,wearaT-Shirt.– Ifitisraining,andifitiswindy,thenwearacoat.OtherwisewearaT-
Shirt
Incompletesystemlogicstemmingfromsyntacticalambiguity
![Page 21: Requirements are King – Better Requirements = Better Software](https://reader031.vdocuments.site/reader031/viewer/2022030317/586fd83e1a28ab18428b551b/html5/thumbnails/21.jpg)
21 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
ThoughaPlethoraofTechniquesExist,MostAreWritteninAmbiguousNaturalLanguage
![Page 22: Requirements are King – Better Requirements = Better Software](https://reader031.vdocuments.site/reader031/viewer/2022030317/586fd83e1a28ab18428b551b/html5/thumbnails/22.jpg)
22 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
WhatAretheChallengesWithRequirements?
1– BenderRBT,20092– ITUniversity,Copenhagen,20013- HyderabadBusinessSchool,20124– Critical-Logic,20145– StandishGroup’sChaosManifesto2014
§ Asystemcanbebuildaroundmisunderstanding,sothat:– Atleast56%ofdefectsstemfromambiguityinrequirements1 – some
placethisashighas59%2 oreven65%3
– 64%oftotaldefectcost3originateintherequirementsanalysisanddesignphase– someplacethisashighas80%1
– 40-50%ofprojectcosts areexpendedinrework4
– Onaverage,only69%ofdesiredfunctionalityisactuallydelivered5
![Page 23: Requirements are King – Better Requirements = Better Software](https://reader031.vdocuments.site/reader031/viewer/2022030317/586fd83e1a28ab18428b551b/html5/thumbnails/23.jpg)
23 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
TheDanglingElse
§ IFATHENIFBTHENCELSED– IFATHEN(IFBTHEN(C)ELSED)– IFATHEN(IFBTHEN(C))ELSED
§ IFRAINTHENIFWINDYTHENCOATELSET-Shirt– Ifitisraining,thenwearacoatifitisalsowindy.Ifitisrainingbut
notalsowindy,wearaT-Shirt.– Ifitisraining,andifitiswindy,thenwearacoat.Otherwisewear
aT-Shirt
Incompletesystemlogicstemmingfromsyntacticalambiguity
![Page 24: Requirements are King – Better Requirements = Better Software](https://reader031.vdocuments.site/reader031/viewer/2022030317/586fd83e1a28ab18428b551b/html5/thumbnails/24.jpg)
24 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
TheMissingElseAcommonmenacewhenusingBehaviour-DrivenDevelopment,GherkinandRSPEC
GIVENCurrentAccount
AndGIVENnegativebalance
WHENcustomerattemptspayment
THENgointooverdraft
![Page 25: Requirements are King – Better Requirements = Better Software](https://reader031.vdocuments.site/reader031/viewer/2022030317/586fd83e1a28ab18428b551b/html5/thumbnails/25.jpg)
25 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
Requirements
Asmanyas56%ofdefectsareavoidedindevelopment
§ TestcasescanbeAuto-generatedandre-generatedfromrequirements
§ Theyareoptimizedtoprovide100%coverageinfewertests
§ Changescanbequicklyandeasilymade
§ Requirementsandtestcasesarelinkedtodatawith100%coverage,includingnegativeandfuturescenarios § Automatedtests
aregeneratedfromtestcases
§ Areupdatedifrequirementschange
§ Exhaustivelytestapplication
§ Pallet-basedUIAutomation
Requirementsaremodelledtoacomplete,unambiguous,“Active”Flowchart
ReduceUncertainty– ClearRequirementsandFewer“Hops”Code TestCases TestData Automation
![Page 26: Requirements are King – Better Requirements = Better Software](https://reader031.vdocuments.site/reader031/viewer/2022030317/586fd83e1a28ab18428b551b/html5/thumbnails/26.jpg)
26 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
APossibleSolution:Model-BasedTesting
1. Mappingrequirementstoanunambiguous,activeflowchart– Codersknowwhatneedstobecoded
2. Auto-generatetestcasesandAutomatedtests–nomore“Hops”– Executethesetestsagainstthecode,testingthatitmatches
thefunctionalityspecifiedintherequirements
3. Updatethemodelastherequirementschange,orastestinguncoversfurther,previously“unknown”information
Testasystemagainstanagreedupon,cleardefinitionofwhatthefunctionalityshouldbe
![Page 27: Requirements are King – Better Requirements = Better Software](https://reader031.vdocuments.site/reader031/viewer/2022030317/586fd83e1a28ab18428b551b/html5/thumbnails/27.jpg)
27 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
HowAboutSoftwareEngineering?
![Page 28: Requirements are King – Better Requirements = Better Software](https://reader031.vdocuments.site/reader031/viewer/2022030317/586fd83e1a28ab18428b551b/html5/thumbnails/28.jpg)
28 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
WhatisEngineering?
Engineeringistheapplicationofheuristicsunderuncertaintytocausethebestpossiblechangewithintheavailableresources(BillyVaughnKoen*)§ Aheuristicisanythingthatprovidesaplausibleaidordirectioninthe
solutionofaproblem§ Useofheuristicsdoesnotguaranteeasolutiontoaproblem,anddifferent
heuristicscanofferconflictingadviceforanygivensituation§ Heuristicsworkbyexploitingthestructureofanenvironmenttosimply
decisionmakingandnarrowthesolutionsearchspace
ErikSimmons,nuCognitive,11/09/16adaptedfrom“adiscussionofthemethod”,BillyVaughnKoenOxfordUniversityPress2003
![Page 29: Requirements are King – Better Requirements = Better Software](https://reader031.vdocuments.site/reader031/viewer/2022030317/586fd83e1a28ab18428b551b/html5/thumbnails/29.jpg)
29 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
HowDoesThisApplytoSoftwareEngineering(SDLC)?Simpleexampleoflackofclarityandvisionwithinthesoftwaredevelopmentlifecycle
BusinessAnalyst Programmer TesterUser
TheUserKnowswhattheywantTheAnalystspecifieswhatthatis
TheProgrammerwritesthecode
TheTesterteststheprogram
Clarity&Vision
![Page 30: Requirements are King – Better Requirements = Better Software](https://reader031.vdocuments.site/reader031/viewer/2022030317/586fd83e1a28ab18428b551b/html5/thumbnails/30.jpg)
30 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
HowAboutWithinLean&Agile?
DeanLeffingwell,ScaledAgileFrameworkFoundations(v4.0.6),“EmbracingLean-Agilevalues”,2016
HouseofLean AgileManifesto
LEADERSHIP
Res
pect
for
peop
le a
nd c
ultu
re
Flow
Inno
vatio
n
Rel
entle
ssim
prov
emen
t
VALUE
Valueinthesustainablyshortestleadtime
Thatis,whilethereisvalueintheitemsontheright,wevaluetheitemsontheleftmore.
Weareuncoveringbetterwaysofdevelopingsoftwarebydoingitandhelpingothersdoit.Throughthisworkwehavecometovalue:
Individualsandinteractionsoverprocessesandtools
Workingsoftwareovercomprehensivedocumentation
Customercollaborationovercontractnegotiation
Respondingtochangeoverfollowingaplan
![Page 31: Requirements are King – Better Requirements = Better Software](https://reader031.vdocuments.site/reader031/viewer/2022030317/586fd83e1a28ab18428b551b/html5/thumbnails/31.jpg)
31 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
HowAboutRequirementsEngineering?
![Page 32: Requirements are King – Better Requirements = Better Software](https://reader031.vdocuments.site/reader031/viewer/2022030317/586fd83e1a28ab18428b551b/html5/thumbnails/32.jpg)
32 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
Definition:RequirementEngineeringISO/IEC/IEEE29148:2011
Wikipedia
Referstotheprocessofdefining,documentingandmaintainingrequirementstothesub-fieldsof
systemsengineeringandsoftwareengineeringconcernedwiththisprocess.
Interdisciplinaryfunctionthatmediatesbetweenthedomainsoftheacquirerandsuppliertoestablishand
maintaintherequirementstobemetbythesystem,softwareorserviceofinterest.Requirementsengineering
isconcernedwithdiscovering,eliciting,developing,analysing,determiningverificationmethods,validating,
communicating,documenting,andmanagingrequirements.
![Page 33: Requirements are King – Better Requirements = Better Software](https://reader031.vdocuments.site/reader031/viewer/2022030317/586fd83e1a28ab18428b551b/html5/thumbnails/33.jpg)
33 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
WhatisRequirementsEngineering?
Requirementsengineeringistheuseofheuristicsfordiscovering,documenting,andmaintaining asetofrequirementsforasystemorserviceAtthehighestlevel,requirementsengineeringseeksto:§ Definethenecessaryandsufficientsystemscopeandfeaturesto
enablesystemdevelopmentatanacceptablelevelofrisk§ Enablerequirements-drivenarchitecture,design,construction,
andverificationactivities§ Provideinformationaboutsystemdevelopmentprogressandstatus§ Provideinformationtoorganizationallearningandcontinuous
improvementeffortsErikSimmons,nuCognitive,11/09/16adaptedfrom“adiscussionofthemethod”,BillyVaughnKoen,OxfordUniversityPress2003
![Page 34: Requirements are King – Better Requirements = Better Software](https://reader031.vdocuments.site/reader031/viewer/2022030317/586fd83e1a28ab18428b551b/html5/thumbnails/34.jpg)
34 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
HowtoManageRequirementsEngineering?
ToGenerateTestCases
DesignandprovisionTestDataVirtualisation
ToManageChangeinTestCases
ToGenerateAutomation
Tests
ToEstimateComplexity
PopulateStoryBoards&Backlogs
ToBuildBetterRequirements
ToImproveExisting
TestCases DesignandprovisionServiceVirtualization
ImpactandDifferences
built by
CAAgileRequirementsDesigner
NativeSupport
![Page 35: Requirements are King – Better Requirements = Better Software](https://reader031.vdocuments.site/reader031/viewer/2022030317/586fd83e1a28ab18428b551b/html5/thumbnails/35.jpg)
35 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
IntroducingtheRequirement-drivenApproach
![Page 36: Requirements are King – Better Requirements = Better Software](https://reader031.vdocuments.site/reader031/viewer/2022030317/586fd83e1a28ab18428b551b/html5/thumbnails/36.jpg)
36 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
DesignOpsistheNewDeliveryParadigm:FromIdeationtoDesign,DevelopmentandTesting
![Page 37: Requirements are King – Better Requirements = Better Software](https://reader031.vdocuments.site/reader031/viewer/2022030317/586fd83e1a28ab18428b551b/html5/thumbnails/37.jpg)
37 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
ModelRequirementsasan“Active”Flowchart
§ AformalmodelthatisaccessibletothebusinesswhoalreadyuseVISIO,BPM,etc.
§ Whichisalsoamathematicallyprecisemodelofasystem,sothatiteliminatesambiguityandincompleteness
§ Itcanbeusedbytestersanddevelopers–itbringstheend-user,businessandITintoclosealignment
![Page 38: Requirements are King – Better Requirements = Better Software](https://reader031.vdocuments.site/reader031/viewer/2022030317/586fd83e1a28ab18428b551b/html5/thumbnails/38.jpg)
38 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
TestingWiththe“Active”Flowchart
§ Testerscanoverlaytheflowchartwithallthefunctionallogicanddatainvolvedinasystem
§ Testscanthereforebeautomaticallyderivedfromit
![Page 39: Requirements are King – Better Requirements = Better Software](https://reader031.vdocuments.site/reader031/viewer/2022030317/586fd83e1a28ab18428b551b/html5/thumbnails/39.jpg)
39 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
GeneratingTestCases
§ Exhaustivelytestamodel– extractallpossibleroutesfromstart->end
§ Eachroute/pathbecomesatestcase
§ Numberofroutesgrowsexponentiallywitheveryaddeddecision32nodes+62edges=1,073,741,824possibleroutes
2145Paths
![Page 40: Requirements are King – Better Requirements = Better Software](https://reader031.vdocuments.site/reader031/viewer/2022030317/586fd83e1a28ab18428b551b/html5/thumbnails/40.jpg)
40 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
Optimization/Coverage
§ Coverage,inmostcases,isrelatedtohowmuchfunctionalityisbeingcoveredinatestcase.
§ Traversethemodelbysatisfyingcoverageconstraints:19PathsEdgePairs
9PathsInOutEdges
5PathsEdges
3PathsNodes
![Page 41: Requirements are King – Better Requirements = Better Software](https://reader031.vdocuments.site/reader031/viewer/2022030317/586fd83e1a28ab18428b551b/html5/thumbnails/41.jpg)
41 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
GenerateTestData
NotReadyforTesting!
CATestDataManager+Requireddatacharacteristics
Provisionfitforpurpose dataanytimeandeverytimeProvisiondatawithorwithoutaccesstoproductionsystems
ReadyforTesting!
§ Automaticallyprofiledata,modelit,andaccuratelymeasureitscoverage§ Generaterichsyntheticdatawhichprovides100%coverage§ Covereveryoutlier,unexpectedresult,boundaryconditionandnegativepath
![Page 42: Requirements are King – Better Requirements = Better Software](https://reader031.vdocuments.site/reader031/viewer/2022030317/586fd83e1a28ab18428b551b/html5/thumbnails/42.jpg)
42 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
ProvideFullTraceabilitywithRequirements
§ Knowwhatneedstobere-testedandwhentheintegrityofasystemisatrisk…“IfIchangethis,whatwillIbreak?”
§ Theimpactofachangemadetoanindividualcomponentisidentifiedsystemwide
§ Theimpactontestcasesanduserstoriesupanddownasystemcanalsobeidentifiedautomatically
![Page 43: Requirements are King – Better Requirements = Better Software](https://reader031.vdocuments.site/reader031/viewer/2022030317/586fd83e1a28ab18428b551b/html5/thumbnails/43.jpg)
43 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
ButAllofThisStillDependsontheRequirementsBeingRight!§ Yes,youcanreaphugerewardsfrommaintainingonevery
highqualityartefact,ratherthanthousands.
§ No,nosilverbullet,modelscanbewrong,peoplecanstillmakemistakes
§ TheideabehindMBTandARDistomakethosepotentialmistakesmoreobviousandeasiertofixoncediscovered
§ Andofcourseleveragethemodel,whilstacknowledgingtheresidualrisk.
![Page 44: Requirements are King – Better Requirements = Better Software](https://reader031.vdocuments.site/reader031/viewer/2022030317/586fd83e1a28ab18428b551b/html5/thumbnails/44.jpg)
44 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
Demo
![Page 45: Requirements are King – Better Requirements = Better Software](https://reader031.vdocuments.site/reader031/viewer/2022030317/586fd83e1a28ab18428b551b/html5/thumbnails/45.jpg)
45 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
FunExample:PokémonGo
PokémonGo,HuwPrice,22/07/16,(www.grid-tools-downloads.com/huw/POKEMONGO.zip)
![Page 46: Requirements are King – Better Requirements = Better Software](https://reader031.vdocuments.site/reader031/viewer/2022030317/586fd83e1a28ab18428b551b/html5/thumbnails/46.jpg)
46 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
Summary:Heuristics,RiskandRequirementsEngineering§ Valueiskeytodeliveringsoftwarewhichmatterstousers:
– asolutionmustbefrequentlyanditerativelymeasuredforvalue
§ PoorRequirementsdegradequalitybutalsointerruptthevaluestream:– Testerscannottestrigorouslyorquicklyagainstcustomerneeds
§ Requirementscanalsothereforebekeytoimprovingthedeliveryrateofvaluablesoftware
§ Enablingrequirements-drivendesign,constructionandverification:– Modelrequirementsas“active”flowcharts– Testfromtheflowchartwithauto-generationoftests/scripts– Generatetestdatatomatchthetestcases– Updatetestswhentherequirementschange
![Page 47: Requirements are King – Better Requirements = Better Software](https://reader031.vdocuments.site/reader031/viewer/2022030317/586fd83e1a28ab18428b551b/html5/thumbnails/47.jpg)
47 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
Questions?
![Page 48: Requirements are King – Better Requirements = Better Software](https://reader031.vdocuments.site/reader031/viewer/2022030317/586fd83e1a28ab18428b551b/html5/thumbnails/48.jpg)
48 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
RecommendedSessions
SESSION# TITLE DATE/TIME
DO5T05TTechTalk:GoingFullCircle- LinkingCodetoTeststoRequirementsandBackAroundAgain
11/16/2016at12:45pm
DO5X27S What'sNewinCAAgileRequirementsDesigner? 11/17/2016at12:45pm
DO5X40S CaseStudy:WhyRabobankWasInspired 11/17/2016at3:45pm
![Page 49: Requirements are King – Better Requirements = Better Software](https://reader031.vdocuments.site/reader031/viewer/2022030317/586fd83e1a28ab18428b551b/html5/thumbnails/49.jpg)
49 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
MustSeeDemos
UseModelBasedTesting
CAARDDevOpsTheatre5
DevOps5Theatre
AchieveMaxTestCoverage
CAARDDevOpsTheatre5
ImproveDataCompliance
CATestDataManagerDevOpsTheatre5
DeliverTestDataFaster
CATestDataManagerDevOpsTheatre5
![Page 50: Requirements are King – Better Requirements = Better Software](https://reader031.vdocuments.site/reader031/viewer/2022030317/586fd83e1a28ab18428b551b/html5/thumbnails/50.jpg)
50 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD
Stayconnectedatcommunities.ca.com
Thankyou.
![Page 51: Requirements are King – Better Requirements = Better Software](https://reader031.vdocuments.site/reader031/viewer/2022030317/586fd83e1a28ab18428b551b/html5/thumbnails/51.jpg)
@CAWORLD#CAWORLD ©2016CA.AllRIGHTSRESERVED.51 @CAWORLD#CAWORLD
DevOps– ContinuousDelivery
FormoreinformationonDevOps– ContinuousDelivery,pleasevisit:http://cainc.to/PiTFpu