Professional Documents
Culture Documents
Iconixprocessroadmaps Appendixa PDF
Iconixprocessroadmaps Appendixa PDF
Iconixprocessroadmaps Appendixa PDF
DOUG ROSENBERG
FINGERPRESSLTD
LONDON
Findmoregreatbooksat:
www.fingerpress.co.uk
APPENDIX A
Bonus Roadmap: Design Driven Testing for Systems
ByDougRosenbergmanythankstoMichaelSieversattheJetPropulsionLaboratory
(Pasadena,CA)forhisvaluableinputs.
DesignDrivenTesting(DDT)wasfirstoutlinedinthebookUseCaseDrivenObjectModelingwith
UML:TheoryandPractice(byDougRosenbergandMattStephens),andthendescribedindetail
inDesignDrivenTesting:TestSmarter,NotHarderbythesameauthors.AlthoughDDTcanbe
successfullyusedinconjunctionwithTestDrivenDevelopment(TDD),itreallyfollowsthe
oppositedevelopmentphilosophy:startingwithadesign(andrequirementsandusecases)and
drivingtestsfromthem.
DDTisahighlymethodicalapproachtotesting,allowingyoutoknowwhenyouvefinished
i.e.whenyouvewrittenenoughteststocoverthedesignandtherequirements.Ithelpsyouto
zoominandwritealgorithmicteststocoverintensiveormissioncriticalsectionsofcode,and
toknowwhenitssafetozoomoutandwritefewertestsforboilerplateorlesscriticalcode.
ConsequentlyyoutendtoendupwithfewertestsoverallthanwithTDDbutcomparatively
moretestscenariospertestcase.
InthisAppendix,DougextendstheconceptofDDTforhardware/softwaresystems,allowing
SysMLbaseddesignstobetestedinahighlyrigorous,systematicway.ItsstillDesignDriven
Testing,butnowthedesignelementsthatneedtobetestedincludeallofthefourpillarsof
SysML,whereasDDTforsoftwarefocusesontestingbehavior.
Doug(notbeinganactualrocketscientist)wouldliketoacknowledgesomeinformalbutvery
valuableandentertainingdiscussionswithDr.MichaelSieversofNASAsJetPropulsion
Laboratory(JPL)regardinghowrealrocketscientistswouldapproachtheproblemofdetecting
potholesfromouterspaceandhowtheywouldtesttheirdesigns.
APPENDIXA
Introduction
ThisAppendixdiscussesanintegrated,modelbaseddesignapproachbasedonanextensionof
DesignDrivenTesting(DDT)54thatiscompatiblewithValidation&Verification(V&V)activitiesat
alldesignlevels.(WedefineV&VinthesidebaronPage216).Modelsarevalidatedateachstep
andthevalidatedmodelsarethenusedforverificationtests.Essentiallythedesignisthemodel
andthemodelisthedesign.Atsomelevelofdetailthemodelisphysicalhardwareand
executablesoftwareandtheV&Vprocessusesfamiliarunit,bench,andintegrationtests.
WhileDDTisrelatedtosoftwaresimulationscurrentlyusedintheindustry,itdiffersinat
leastonekeyaspect:typicallysoftwaresimulationsarebuiltbyindependentteamsfrom
independentrequirements.Thereisalwaysaquestionofhowclosethesoftwaresimulationis
totherealsystem.Inourapproach,thereisonesystemmodelwhichmaybeviewedindifferent
waysandatdifferentlevelsofdetailassuitsausersneeds.Moreover,aswillbeseeninthe
DesignDrivenTestingsection,ourapproachguidessmartselectionoftestcaseswhichsaves
costandschedule.Thisisparticularlyimportantbecausewhilesystemshavebecomemore
complex,thetimeallocatedfortestinghasnotchanged.Wemustnowtestmore,butinthe
sameamountoftimeassimplersystems.Thiscanonlybecomepracticalbyimprovingtest
efficiency.
DDTisintimatelylinkedtomodern,modelbasedsystemsengineeringusingtheSysML
paradigm.LikeSysMLwhichestablishesasingle,commonsourcefordesigntruth,DDTprovides
asingle,consistentsourceofV&Vtruthandestablishesclearlinesofresponsibility.Equally
importantisthatDDTisintegratedwiththeiterativedesignprocessassuringthateachlevelof
designisconsistentwithitsparentandchildren.
54
DesignDrivenTesting:TestSmarter,NotHarderbyMattStephensandDougRosenberg(Apress,2010).
210
ROADMAP:DDT/SYSTEMS
ROCKET SCIENCE:
Why Use a Space Mission to Illustrate DDT/Systems?
A space mission is a system of interacting systems that implement a set of behaviors defined by
operational concepts. Operations concepts describe all phases of the mission from ground-
based testing through pre-launch, launch, separation, commissioning, nominal operations and
eventually disposal or decommissioning. Each of these use cases comprises complex actions,
alternate paths and exceptional conditions. When a typical mission costs taxpayers hundreds of
millions to billions of dollars, it is crucial that these systems are validated and verified from the
highest conceptual levels down to the detailed code that defines the functions in an FPGA. The
cost of finding and fixing problems escalates by orders of magnitude as the mission progresses
through its design and deployment stages hence, systematic and early Validation and Verification
(V&V) are central aspects of all space programs.
211
APPENDIXA
FigureA1.POTHOLESpacecraft
Context
POTHOLE Mission
System of Systems
POTHOLE Spacecraft System of Systems
Ground Station
System System
Bus Instrument
FigureA2.POTHOLEMissionBlockDiagram
Wenextdefineafewkeybusinessrequirementsconstitutingthecontractbetweenthe
customerandtheimplementer.Businessrulesdefinetheconstraintsandfunctionsthatmustbe
deliveredbytheimplementerandarethebasisforthecustomersacceptancecriteria.
212
ROADMAP:DDT/SYSTEMS
213
APPENDIXA
Context
Mission
1..*
Level 2
Proj ect
1..
1..* 1..*
. 1..*
Level 5
.
.
Assemblies
.
. 1..*
Level 6 .
Boards
Level 7
Components
FigureA3.TypicalspacesystemdesignhierarchyincludesuptosevenlevelsofspecificationandV&V
214
ROADMAP:DDT/SYSTEMS
The spacecraft shall store images for The telescope shall have an
at least one hour adjustable aim point
The spacecraft shall transmit images Each image pixel shall have ground
to the ground in real-time when a resolution of no more than 0.1 meters
ground station is available
FigureA4.POTHOLEMissionRequirements
215
APPENDIXA
TheBusandInstrumentstructuresarefurtherdetailedintheblockdefinitiondiagrams
(BDDs)showninFiguresA5andA6respectively.
TherearesixmajorsubsystemsthatformtheBus:Telecomwhichconsistsofradiosfor
groundcommunication.GuidanceandNavigationisresponsibleforknowwherethevehicleis
relativetothegroundandformaintainingpointingsothatthetelescopepointstotheEarths
surfacewhilethesolararraypointstothesun.Avionicshousestheflightcomputersonwhich
flightsoftwareexecutes.ThePropulsionsubsystemincludesthethrusters,valves,and
propulsiontanks.TemperaturesaremaintainedbytheThermalsubsystemandthePower
subsystemmanageselectricalpower.
216
ROADMAP:DDT/SYSTEMS
TheInstrumentcomprisesDataStorageforholdingimageswhengroundstationsarenotin
viewandforretransmission,aCamerathattakesimages,anInstrumentComputerthat
managestheinstrumentandimagecollectionfunctions,andtheTelescopewhichconsistsof
mirrorsandoptics.
FigureA7isanIBDthatshowsinterfacesbetweentheCDHprocessor,LocalEngineeringUnit
(LEU)usedforanalogdatasampling,NonVolatileMemory(NVM)usedtostorecriticalvariables
andsoftwareimages,andtheCommunicationsInterface(CommInterface)thatsendsand
receivesmessagesfromthetelecomradios.WeusethehighlightedNVMtodefineinterface
testsinthevalidationsectionbelow.
217
APPENDIXA
System
Bus
Subsystem Subsystem
Subsystem Subsystem Subsystem Subsystem
Telecom Av ionics
Guidance and Nav Prop Thermal
Pow er
block block
CDH FSW
block
block TelecomInterface
Processor block
EngineeringDataCollection
block
Non-VolatileMemory
FigureA5.POTHOLESpacecraftBusBDD
System
Instrument
FigureA6.POTHOLEInstrumentBDD
218
ROADMAP:DDT/SYSTEMS
: CDH
Board Board
Processor LEU
flowPort
flowPort CtlIn
EngrCtl AnalogIn AnalogIn
Board
flowPort
FIFOCtlOut NVM
flowPort
flowPort flowPort
FIFOCtlIn
InstrDataIn InstrDataIn
flowPort flowPort
flowPort
FIFOStatusIn FIFOStatusOut
XbandDL flowPort
XbandDL
flowPort EngrOut
Board
CommInterface
flowPort EngrDL flowPort flowPort
SbandDL SbandTlm
flowPort CmdIn
flowPort CmdUL
flowPort flowPort
SbandUL SbandCmd
FigureA7.ExamplesofCDHinterfaces
EarlierwemadeacasefortopdownandintegratedV&V,yethereweareshowing
significantdetailforourhypotheticalspacecraft.Naturalquestionsmightbe:howdidwecome
tothispartitioning,howdoweknowitisright,andcouldtherebeabetterdecompositionthat
doeswhatweneed?Thesimpleansweristhatthesearebasicfunctionsofa3axisstabilized
spacecraftthatcancaptureimagesandsendthemtotheground.Withinthisstructure
designersarefreetoallocatespecificbehaviorsandrequirements.Moreover,wearefreeto
modifythestructureifourV&Vprocessdeterminesthatitisnotadequate.
WhydistinguishbetweenBus,andInstrument,couldntthesebejustpartofaFlight
Vehicleandavoidtheintermediatepartition?TheBusandInstrumentpartitionsareneither
requirednornecessarybutreflecttherealitythatdifferentdevelopmentgroupsareusually
responsibleforprovidingBusandInstrumentfunctions.Thesegroupsindependentlydesignand
testtheirportionofthespacecraftandtheneventuallythosesystemsarebroughttogetherand
tested.ThishighlightsthepointmadeearlierthattraditionalV&Vwaitsforverificationoflower
levelfunctionsbeforetestinghigherlevelfunctions.Electricalandfunctionalinterface
documentsdefinehowthisshouldhappenandwheneverythingisproperlyspecifiedand
implementedthenallworksout.But,thatsnotalwaysthecase.
219
APPENDIXA
220
ROADMAP:DDT/SYSTEMS
produces
Telecom Image Collection Instrument
sends images to
produces
Image Analyzer Annotated Image
Subscriber
detects
Pothole
FigureA8.POTHOLEImagingDomainDiagram
ThemissionlevelusecasesforourreferencefunctionshowninFigureA9complementthe
domainmodelandreflectourunderstandingoftheimagingcollectionandanalysisprocess.The
spacecraftmustachieveandmaintainthecorrectorbit(MaintainOrbit).Theinstrumentmust
beaimedatapointonthegroundpointpriortolookingforpotholes(AimInstrument).
Spacecrafthealthmustbemaintainedthroughoutthemission(MaintainSpacecraftHealth)
includingdealingwithspacecraftemergencies(enteringsafemodewhichkeepsthespacecraft
powerpositiveandincommunicationwiththeground).Whencommanded,wecaptureand
processimages(LookforPotholes)andifimagesarecorruptedintransmission,thegroundmay
requestthattheyberetransmitted(RetransmitImages).
221
APPENDIXA
Aim Instrument
precedes
precedes invokes
Ground Station
notify
Look for Potholes
Subscriber
invokes
Maintain Spacecraft
Ongoing Health
FigureA9.POTHOLEMissionLevelUseCases
Becauseourprimarymissionispotholedetection,wefocusontheLookforPotholes
scenariothatcollectsimageswithsufficientresolutiontodetectlargepotholesandsendsthe
imagestothegroundforprocessing.Moreprecisely:
Basic Course:
Alternate Courses:
222
ROADMAP:DDT/SYSTEMS
AfewthingsareworthpointingoutinthisICONIXprocessstyleusecase55.Thescenariois
writtenpreciselyusingnouns(showninbold)thatrepresentobjectsinthedomainorcontext
models.Verbsapplyactionsthattransformonenounintoanothernounortransportanounto
anotheraction.Bolditalicizedtextreferstousecasesintheusecasediagram.
Comparingthenounsandverbsinourusecasewiththedomainmodelelementsgivesus
confidencethatourmodelsareconsistent.Butwedontyetknowthatwedefinedtheusecase
scenariocorrectlyandsowecantyetclaimthatwehavevalidatedourinitialconcepts.Ournext
stepcreatesaconceptualdesignintheformofarobustnessdiagram56thatfacilitatesadesign
walkthroughforvalidatingtheusecases.Wewillseelaterthattherobustnessdiagramisalso
anessentialtoolfordefiningtestcases.
55
UseCaseDrivenObjectModelingwithUML:TheoryandPracticebyDougRosenbergandMattStephens.
56
IvarJacobson,et.al.(1992),ObjectOrientedSoftwareEngineeringAUseCaseDrivenApproach,AddisonWesley.
223
APPENDIXA
everyrequirementmustbeassociatedwithacontrollerandmissingassociationsmeaneither
omissionsintherobustnessdiagramorunnecessaryrequirements.
WecanwalkthroughtheLookforPotholesstepsandfollowtheflowintherobustness
diagram.Inconsistenciesarereconciledbyalteringrobustnesselementstoreflecttheusecases
itrepresentsand/orchangingtheusecasestomirrortherobustnessdiagram.Sinceupdatesto
usecasesmayalsocausedomainmodelrevisions,wheniterationsarecomplete,the
robustness,usecase,anddomainmodelsareselfconsistent.
The telescope shall have an Each image pixel shall have ground
adjustable aim point resolution of no more than 0.1 meters
Basic Course:
Ground Station sends a command to Spaceraft to (from Functional Requirements) (from Functional Requirements)
The spacecraft shall store images in a
collect images.
circular buffer over-writing older
Instrument collects Images, resulting in an Image
images with newer images
Collection
Telecom sends the Image Collection to the Ground (from Functional Requirements)
Station
Ground Station adds images to Image Queue
Image Analyzer gets Image from Image Queue Instrument
Image Analyzer detects Potholes and produces
Annotated Image showing pothole locations The spacecraft shall retransmit stored
Image Analyzer sends Annotated Image to images when requested by ground
Subscriber command
capture images
(from Functional Requirements)
Alternate Courses:
send images
annotate image
Annotated Image
add image get image
Image Queue
Image
FigureA10.POTHOLERobustnessDiagramwithafewexamplerequirements
FigureA11showsaportionofthesequencediagramassociatedwiththeLookforPotholes
usecase.Behaviorsareallocatedtothesystemelementsdefinedinthedomainmodeland
blockdiagrams.Eachbehaviormustbeunittested,asshowninFigureA25.
TheExtendedDomainModelinFigureA12showsanobjectorientedallocationofbehavior
tosystemelements.Allocationssatisfyallbehaviorsspecifiedintheusecaseasshowninthe
sequencediagram.
224
ROADMAP:DDT/SYSTEMS
CAPTURE_IMAGES_CMD()
Basic Course: CaptureImages()
loop
Ground Station sends a [16 images per collection]
command to Spaceraft to
collect images.
Instrument collects Images,
resulting in an Image
Image Collection
Collection
Telecom sends the Image
Collection to the Ground
Station SaveImageInOnboardStorage()
Ground Station adds images
to Image Queue
Image Analyzer gets Image GetImages()
from Image Queue
State Machines :
Image Analyzer detects TRANSMIT_IMAGES() Capture Images
Potholes and produces
Annotated Image showing
pothole locations
RECEIVE_IMAGES()
Image Analyzer sends
Annotated Image to AddImage()
Subscriber
AnnotateImageWithPothole()
SendAnnotatedImage()
ReceiveAnnotatedImage()
FigureA11.Sequencediagramshowswhatthesystemmustdoandwhichelementsareresponsiblefor
eachbehavior
225
APPENDIXA
Instrument
+ CaptureImages() : void
produces
Telecom
sends images to
detects
Pothole
+ CreateBoundaryOutline() : void
FigureA12.ExpandedDomainModelshowingbehaviorsallocatedtosystemelements
FigureA13showsthestatediagramforinitializingtheinstrumentandcapturingimages.
Afterinitializingbuffersandthecamera,theinstrumententerstheIdlestatewhereitwaitsfora
groundcommand.ReceivingaCAPTURE_IMG_CMDcausesatransitiontotheCapturingImages
Stateinwhichthecameraismadeready.
Imagesarecapturedandsavedbythedobehaviors.Imagesarecapturedinthecircular
bufferuntiltheSTOP_IMAGE_CAPTURE_CMDisreceived.Thiscommanddisablesthecamera
afterthecurrentimagecaptureiscompleteandtheinstrumentreturnstotheIdlestate.
FigureA14showsapowerparametricmodelcomprisingcamera,datastore,telescope,and
instrumentcomputerpowermodels.Theparametricmodelsumsthesecomponentstoforma
totalpowerusage.
226
ROADMAP:DDT/SYSTEMS
FigureA13.Allstatesandtransitionsmustbetested
Instrument Power = Telescope Power + Camera Power +
Data Store Power + Instrument Computer Power
Subsystem
Camera Power
Camera
Instrument Power
Instrument Power
FigureA14.InstrumentPowerParametricModel
ThiscompletesourdescriptionofbasicSysMLartifactsandsetsupthetestingdiscussionthat
follows.WhileourPOTHOLEexampleissimplisticandfanciful,themodelswedescribedarethe
basisformanysystems.
ThenextsectiondescribesthebaselineDDTmethodologyandrationale.Wefollowwitha
descriptionofanextensionforsystems.
227
APPENDIXA
57
DesignDrivenTesting:TestSmarter,NotHarderbyMattStephensandDougRosenberg(Apress,2010).Alsosee:
www.designdriventesting.com
228
ROADMAP:DDT/SYSTEMS
FigureA15.AcceptanceTestingFlow
FigureA16.DeveloperTestingFlow
229
APPENDIXA
TheDDTmethodologycanbesummarizedas:
Generatetestcasesfromrequirements.
Generatethreadtestsfromscenarios.
Generateunittestsfromconceptualanddetaileddesigns.
WewillillustrateRequirement,Scenario,andUnittestgenerationbyexampleinafewpages.
However,thesetestsarenotsufficienttotestallaspectsofahardware/softwaresystem.Our
nextsectiondescribesanextensiontoDDTsuitableforembeddedsystems.
DDT/SystemsExtensions
ExtendingDDTforsystemsnecessitatescoveringadditionalelementsasshowninFigureA
17.
System Tests
DDT Software
Tests
FigureA17:DDT/SystemsincludesDDTSoftwareandadditionaltests
Theseelementsinclude:
StateMachines
ActivityDiagrams
BlockDefinitionDiagrams
InternalBlockDiagrams
ConstraintBlockDiagrams
FigureA18showsthesystemextensionstoDDT.
230
ROADMAP:DDT/SYSTEMS
DDT/Systems
DDT
FigureA18:DDTSystemsextendsDDTforsoftwarewithadditionalsystemtests
WenextapplyDDT/SystemstothePOTHOLEspacecraft.
231
APPENDIXA
232
ROADMAP:DDT/SYSTEMS
test scripts
Unit: : (Not Run) Default Run Scenario
The spacecraft shall store images in a circular TestCase
buffer over-writing older images with newer The spacecraft shall store images in a circular buffer
images ov er-w riting older images w ith new er images
FigureA19.POTHOLEMissionRequirementTestCases
Weuseausecasethreadexpandertoautomaticallygeneratetestscriptsforallsunny
day/rainydaypermutationswithinausecase.Thepremiseofthisapproachisthatausecase
withonesunnydayscenarioandthreerainydayscenariosrequiresatleastfourtestscriptsin
233
APPENDIXA
ordertoexerciseallusagepaths.ThisprocessisillustratedinFiguresA19toA22.FigureA20
showsastructuredscenariothatspecifiesstepnumbersandjoinlogicforourusecase.
FigureA20.Expandedsunny/rainydaythreads:createastructuredscenario
FigureA21showsanautomaticallygeneratedactivitydiagramthatisusedtoverifythelogic
ofthescenariobeforetestsaregenerated.
234
ROADMAP:DDT/SYSTEMS
FigureA21.Generateanactivitydiagramandcheckflowagainstusecases
235
APPENDIXA
FigureA22showsatestcasediagram,showingthecompleteusecasetextinanote,anda
testcaseelementwithatestscenario(threadtest)foreachCourseofActionwithintheuse
case.
FigureA22.ScenarioTesting
Usagepathsareautomaticallygeneratedforeachthread,asshowninFigureA23.These
threadsshowportionsoftheBasicCourseandportionsoftheAlternateCourses,asrelevantfor
eachthread.
236
ROADMAP:DDT/SYSTEMS
FigureA23.Generatetestscriptsfromusecasetext
DDTfollowsausecasedrivenapproachtodesigninwhicheachusecaseperformedbythe
systemisfirstelaboratedataconceptuallevel(refinestheusecaseandvalidatesthesystem)
andthenatadetaileddesignlevel(forsystemverification).DDTgeneratestestcaseelements
fromcontrollersonconceptualdesign(robustness)diagrams,asshowninFigureA24.
Unittestsarealsogeneratedfrommessagesondesignlevelsequencediagramsasshownin
FigureA25.AftertestscenarioshavebeendetailedwithInputs,Outputs,andSuccessCriteria,
thetestcasesareautomaticallytransformedintounittestcodesuitableforregressiontesting
frameworkssuchasJUnit,NUnitandFlexUnit.58
58
See:www.junit.org,www.nunit.organdwww.flexunit.orgrespectively.
237
APPENDIXA
TestCase
Retransmit Images Test
Retransmit Images
test scripts
Unit: : (Not Run) Default Run Scenario
TestCase
Image Analyzer Test
Image Analyzer
test scripts
Unit: : (Not Run) Default Run Scenario
TestCase
capture images Test
capture images
test scripts
Unit: : (Not Run) Default Run Scenario
TestCase
send images Test
send images
test scripts
Unit: : (Not Run) Default Run Scenario
TestCase
add image Test
add image
test scripts
Unit: : (Not Run) Default Run Scenario
TestCase
get image Test
get image
test scripts
Unit: : (Not Run) Default Run Scenario
TestCase
detect pothole Test
detect pothole
test scripts
Unit: : (Not Run) Default Run Scenario
TestCase
annotate image Test
annotate image
test scripts
Unit: : (Not Run) Default Run Scenario
TestCase
send annotated image Test
TestCase
Ground Station RECEIVE_IMAGES Test
test scripts
Unit: : (Not Run) Default Run Scenario
TestCase
Image Queue AddImage Test
test scripts
Unit: : (Not Run) Default Run Scenario
TestCase
Image Queue GetImage Test
test scripts
Unit: : (Not Run) Default Run Scenario
ref
Look for Potholes Sequence TestCase
Image Test
test scripts
Unit: : (Not Run) Default Run Scenario
TestCase
Annotated Image Create Test
test scripts
Unit: : (Not Run) Default Run Scenario
TestCase
Image Analyzer DetectPothole Test
test scripts
Unit: : (Not Run) Default Run Scenario
FigureA25.SubsetofAutogeneratedLookforPotholesSequenceMessageTests
FigureA26showsstate,statetransitions,andbehaviortestcasesforthecaptureimage
statemachinedescribedearlier.Allbehaviors,transitionsandtriggersmustbetestedincluding
entry,do,andexitbehaviorsonstates.Notethatsimilartestsmustalsobedefinedfor
activitydiagrambehavioraldescriptions.
InterfaceControlDefinitionsmustalsobetested.Thisincludeselectricalandlogical
interfacedefinitionsasshowninFigureA27.Thisincludesport,required/providedinterfaces,
electricalandtiming,andfaultbehaviortests.
239
APPENDIXA
TestCase
Test Capturing Images
Capturing Images
test scripts
+ do / captureImage Unit: : (Not Run) Test captureImage
+ exit / disableCamera Unit: : (Not Run) Test completeImageCapture
+ entry / initializeCamera Unit: : (Not Run) Test disableCamera Behaviors,
+ do / saveImage
Unit: : (Not Run) Test initializeCamera transitions and
Unit: : (Not Run) Test Recieve Capture Images Command
Unit: : (Not Run) Test Recieve Stop Image Capture Command triggers must all
Unit: : (Not Run) Test saveImage be tested.
Unit: : (Not Run) Test Stop Image Capture
Idle TestCase
Test Idle
+ do / waitForCommand
test scripts
Unit: : (Not Run) Test waitForCommand
TestCase
Test Initializing Instrument
Initializing Instrument
FigureA26:Examplesofstatetests
Board TestCase
flowPort Test Instrument Data Input
NVM
InstrDataIn
TestCase
Test Buffer Control flowPort
Interface FIFOCtlIn
flowPort TestCase
FIFOStatusOut flowPort Test XBand Output
XbandDL
Inmanycases,analyticalmodelsareneededforevaluatingnonbehavioralrequirements.
Thesemodelscouldevaluatemass,power,radiationeffects,andsoforth.FigureA28showsa
parametricdiagramthatevaluatesinstrumentpower.Thecomputedtotalpoweriscomparedto
amaximuminstrumentpowerrequirement.
240
ROADMAP:DDT/SYSTEMS
Subsystem
Camera Power
Camera
TestCase
Test Instrument Pow er
test scripts
Unit: : (Not Run) Test Instrument Power does not exceed Max Instrument Power
FigureA28.Parametricevaluationofinstrumentpower
ThisconcludesourillustrationofDDT/SystemsusingthePOTHOLEexample.
Asillustratedinthissection,DDT/Systemscomprisesthefollowingsetoftests:
Requirementtests
Scenariotests
Controllertests
Sequencetests
Statemachine&Activitytests
Interfacetests
Parametrictests
ThisisthemostcomprehensiveandefficientsystemV&Vapproachweareawareof.
Conclusions
DDTautomatesgenerationoftestcasesfromUMLmodelsforsoftware
SystemsV&VrequiresadditionalmodelingandtestcasegenerationfromSysML
OurfictitiousPOTHOLEspacecraftillustratessomeoftheseextensions
WehavedescribedproposedadditiontoDDTthatencompassessystems(DDT/Systems)
241
COMINGSOONFROM
fingerpress
HAMSTER
DRIVEN
DEVELOPMENT
(itsnotforthesqueamish)
SatirefromthecodingroomfloorfromtheauthorsofDesignDrivenTesting:TestSmarter,
NotHarderandExtremeProgrammingRefactored:TheCaseAgainstXP(featuringSongsof
theExtremos)
www.fingerpress.co.uk
DESIGN DRIVEN TESTING
ThegroundbreakingbookDesignDrivenTesting
bringssanitybacktothesoftwaredevelopment
processbyflippingaroundtheconceptofTest
DrivenDevelopment(TDD)restoringthe
conceptofusingtestingtoverifyadesigninstead
ofpretendingthatunittestsareareplacement
fordesign.
AnyonewhofeelsthatTDDisTooDamn
Difficultwillappreciatethisbook.
Visitthewebsiteformoreinfo:
www.designdriventesting.com
DesignDrivenTestingshowsthat,by
combiningaforwardthinking
developmentprocesswithcuttingedge
automation,testingcanbeafinely
targeted,businessdriven,rewarding
effort.Inotherwords,youlllearnhow
totestsmarter,notharder.
OPEN
ENROLLMENT
TRAINING
Youvereadthebook,nowgetthetraining!
Developers:Learnarigorous,systematicpathfromrequirementstosourcecode
BusinessAnalysts:Accomplishbusinessprocessmodelingforrequirementselicitationand
processreengineering
SystemsEngineers:ApplyarigorousdesignandtestingmethodologyusingSysML
TheDesignDrivenTestingcourseusesasitsexampleaninteractivehotelmappingsystemwhich
youcantryoutforrealat:www.vresorts.com
ForthelatestOpenEnrollmentschedule,pleasevisit:
www.iconixsw.com/EA/PublicClasses.html