Table Of ContentUSER'S GUIDE
Version 6.4
New editionsofthisguide incorporate all material added orchanged since the previousedition.
Update packagesmay be used between editions.The manual printing date changeswhen a new
edition isprinted.The contentsand format ofthismanual are subject to change without notice.
Generated: 10/1/2017,8:01 PM
Rev: cb0043d
Part Number: User'sGuide forVectorCAST/Ada v.6.4
VectorCASTisa trademark ofVectorSoftware,Inc.
©Copyright 2017,VectorSoftware,Inc.All rightsreserved.No part ofthe material protected by
thiscopyright notice may be reproduced orutilized in any formorby any means,electronic or
mechanical,including photocopying,recording,orby any informational storage and retrieval
system,without written permission fromthe copyright owner.
U.S.Government Restricted Rights
Thiscomputersoftware and related documentation are provided with Restricted Rights.Use,
duplication ordisclosure by the Government issubject to restrictionsasset forth in the
governing Rightsin Technical Data and ComputerSoftware clause of
DFARS252.227-7015 (June 1995)and DFARS227.7202-3(b).
ManufacturerisVectorSoftware,Inc.East Greenwich RI02818,USA.
VectorSoftware reservesthe right to make changesin specificationsand otherinformation
contained in thisdocument without priornotice.Contact VectorSoftware to determine whether
such changeshave been made.
Third-Party copyright noticesare contained in the file: 3rdPartyLicenses.txt,located in the
VectorCAST installation directory.
2
Table of Contents
INTRODUCTION 15
VectorCAST Overview 16
VectorCASTAutomation 16
Key Terminology 16
Key Concepts 18
VectorCASTComponents 20
LEARNINGYOUR WAY AROUND 22
StartingVectorCAST 23
Troubleshooting Starting VectorCAST 25
To Start VectorCASTand Open an Environment 25
To Start VectorCAST,Build,and Open an Environment 26
To Start VectorCASTin C++ orAda "Mode" 26
To Set the Product Mode 26
To Exit VectorCAST 27
VectorCAST Interface 27
To Specify the Language forthe VectorCASTGUI 28
Multibyte Characters 28
To Set the Industry Mode forCoverage 29
Changing Industry Mode 31
To Collapse / Expand the Message Window 32
To Hide the Message Window 32
To ClearorCopy Text in Message Window 33
To Hide the Environment View 33
To Move Docking Windows 34
To Float Docking Windows 35
To Return Docking Windowsto Default Locations 35
To Save the Window Configuration 35
The Toolbar 36
The StatusBar 37
To Open a File Named in a Report 37
The MDIWindow: Groups 38
To Organize Sub-Window Typesin Tabs 38
To Open a Group 38
To Close a Group 39
To Close a Tab 39
To Arrange Groupsin a Cascade 39
To Tile Groups 40
To Stop Windowsfrombeing Grouped 41
To Remove a Window froma Group 42
To Tile Two Tabsin a Group 42
To Add a Window to a Group 42
3
To Bring a Tab to the Top 43
To Close the Current Window (Tab) 43
To Close All Windows 43
VectorCASTKeyboard Shortcuts 43
GettingHelp 46
To Determine Available Licenses 46
To View Online UserGuides 46
To Contact Technical Support 47
To Send a Test Environment to Technical Support 48
To Determine the VectorCASTVersion and CustomerNumber 48
Usingthe Jobs Window andJobs Monitor 50
The JobsWindow 50
Opening the Job Monitor 51
Job StatusViewer 52
Execution StatusViewer 55
ChangingApplicationPreferences 58
To Set the Style ofthe Main Window 58
To Set Up an External Text Editor 58
To Edit UserCode with the External Editor 59
To Set Up an External Browser 59
To Toggle Gridlinesin the Test Case Editor 60
To Alphabetize Test Cases 60
To Change the Main Window’sFont 60
To Automatically Save Test CasesBefore Execution 60
To Turn on a ReminderBefore Closing Multiple Tabs 61
Editing, Searching, andPrinting 62
To Create a New Text File 62
To Open a Script orReport File 62
To Save a Script orText File 63
To Save the Open Window As... 63
To Save All Open Windows 63
Print Setup 64
To Print an Open Window 64
To Preview Before Printing 65
To Undo a Recent Change 65
To Redo 65
To Copy,Cut,and Paste 65
To Search forText 65
To Search forText in Coverage Viewer 67
To Search in the ParameterTree 68
To Search fora Unit orTest Case Name 69
To Search Using the Find Banner 71
To Apply a Search Filterto the Test Case Tree 72
To Apply a Search Filterto the ParameterTree 77
To Repeat a Search 78
To Goto a Line 78
4
CREATINGA NEWENVIRONMENT 80
Usingthe WizardtoCreate anEnvironment 81
To Set the Working Directory 81
Troubleshooting the Working Directory 81
To Start the Wizard 82
To Save the Settingsin the Wizard 83
Step 1: Choose Compiler 83
Step 2: Name the Environment 84
To Load an Environment Script 84
Step 3: Build Options 85
To Turn on Coverage 85
To Turn on Whitebox 85
Whitebox Restrictionsand Limitations 86
To Not Allow Recursive Callsin the Harness 86
Step 4: Locate Source Files 86
Step 5: Choose UUTs&Stubs 87
To Specify a Stubbing Strategy forIndividual Units 90
To Specify CustomStubbing Interactively 92
Step 6: UserCode (Optional) 92
Step 7: Summary 93
To Build the Environment 94
To View the Environment Overview Report 94
FilesCreated by the Environment 95
Troubleshooting Environment Creation 96
To Create a Coverage Environment 97
SettingCompiler Options 99
Options: Ada Tab 99
Options: Wizard Tab 102
To Set Defaultsforthe Wizard 102
Stub Dependencies 102
Coverage Type 102
Whitebox 104
SettingBuilder Options 104
Options: BuilderTab 104
Deprecated BuilderOptions 111
WorkingwithaTest Environment 112
To Open an Environment 112
To Close an Environment 112
To Rename an Environment 112
To Update an Environment 113
To Create Regression Scriptsforan Environment 114
To Post-Processthe Regression Scripts 119
To Integrate Regression Scriptswith ClearCase™ 120
To Save and Load a Post-Processing Script 121
To Incorporate Source Code Changesinto Environment 122
To Rebuild the Environment 123
5
Troubleshooting Environment Rebuild 123
To Delete an Environment 123
To Re-create a Deleted Environment 124
Other Environment Tools 124
To Create an Environment Script 124
To Create an Environment by Running a Script 125
To Recompile the Test Harness 125
To Recompile the Instrumented Test Harnesswithout Re-instrumenting It 126
To Create a Test HarnessRecompile Script 126
Recompile the Test Harnessby Running a Script 128
To Relink an Environment 129
To Refresh Type Range Data 130
BUILDINGTEST CASES 131
UsingThe Test Case Tree 132
The Test Case Tree Hierarchy 132
To Navigate the Test Case Tree 133
To Multi-Select Test Cases 133
TypesofVectorCASTTest Cases 133
To Open a Test Case forEditing 134
Test Case Naming 134
To Sort Test CasesAlphabetically 135
To Rename a Test Case 135
To Duplicate a Test Case 135
To Delete a Test Case 135
To Delete All Test Casesfroma Subprogram 136
To Delete All Test Casesfroma Unit 136
To Delete All Test Casesin the Environment 137
To Restore Deleted Test Cases 137
To View the Source fora Subprogram 138
To View Coverage fora Unit orSubprogram 138
Simple Test Cases 138
To Insert a Test Case fora Subprogram 138
To Insert an <<INIT>> Test Case 139
To Create a Min,Mid,orMax Test Case 139
To Insert BasisPath Test Cases 141
Troubleshooting Min,Mid,Max Test Cases 143
CompoundTest Cases 144
Building a Compound Test Case 144
To Specify the NumberofIterationsofa Test in a Compound 145
To Specify a Delay Between Testsin a Compound 145
To ReorderColumnsin a Compound Test Case 146
To ReorderTest Casesin a Compound 146
To Open a Test Case froma Compound 146
To Delete a Slot froma Compound 146
To View Coverage fora Test Case froma Compound 146
Compound Only Test Cases 147
6
Nested Compound Test Cases 147
To Enable / Disable Reporting forCompound Slots 150
EnteringTest Case Data 151
The ParameterTree 151
To Navigate the ParameterTree 152
To Alphabetize Parametersin the ParameterTree 153
To EnterInput and Expected Values 154
To EnterTest Case RequirementsorNotes 155
To EnterValuesforGlobal Data 155
To Entera Range 155
To Entera List 155
The List ValuesTab 156
To Passa Null String 157
To Raise an Exception froma Stub 157
Working with In/Out Parametersin Stubs 157
DataTypes 158
To EnterValuesforEnumeration Types 158
To Entera Numberforan Enumeration 158
To EnterIntegerValuesin Different Bases 158
To EnterReal Numbersusing Scientific Notation 159
To EnterValuesforRecord Types 159
Variant Record Types 159
CharacterTypes 159
To Entera String 160
System.AddressTypes 160
AccessTypes 161
Special KindsofStubs 161
Testing Out ofRange Values 163
VectorCASTand "Class"based Testing 164
Using the Multi-unit Whitebox feature to Manipulate Private Types 170
To EnterValuesforConstrained Array Types 171
WorkingwithArrays 171
To Expand All Elementsofan Array 171
To Expand the First Element ofan Array 172
To Collapse Unused Elementsofan Array 172
To Expand Certain Elementsofan Array 173
To Apply Valuesto an Array 175
To ClearValuesfroman Array 177
Using the Array PropertiesDialog 177
Multi-Dimensional Arrays 178
Unconstrained Arrays 178
Working with Unconstrained Array Parameters 179
EnteringDatainthe Parameter DialogBox 180
To Use a Range Expression in an Expected Value List 180
To Use the <<Any>> Tag in a List 181
To Accessthe ParameterDialog 181
The ScalarValuesTab 182
7
To Apply Valuesto an Array 183
To ClearValuesfroman Array 185
The Range ValuesTab 185
To Set Up an Input Range orList forMore Than One Parameter 187
To Use RangesasExpected Values 187
The List ValuesTab 187
Controlling Valuesin the List 188
To Repeat Valuesin the List 189
To Use a Range Expression in an Expected Value List 190
To Use the <<Any>> Tag in a List 190
Test Case Scripting 191
To Export Test Casesto a Test Script 191
To Import Test Casesfroma Test Script 192
To Create a Test Case Template 192
Troubleshooting Test Script Template 193
Automating Test Script Maintenance 194
VectorCAST Tools 200
To Set VectorCASTOptions 200
To Edit HarnessSource 201
To View a BasisPathsReport 201
To View the BasisPath Test Script 202
To (Re)Generate the BasisPaths 202
To Add a CustomTool 202
To Create a Diagnostic Report 207
Troubleshooting VectorCAST 207
EXECUTINGTESTS 208
ExecutingTest Cases 209
To Execute a Test Case and View Results 209
Deprecated Report Optionsand Commands 214
Compound Test Case Execution and Reports 214
To Execute Multiple Test Cases 215
To Abort Test Case Execution 216
To Execute a Test Case in the Debugger 216
Working with a Control Flow 216
To Save the Control Flow 219
To Clearthe Control Flow 219
To Set Expected Valuesto Actual Values 219
ViewingTest Reports 220
To View Reportsin an External Browser 220
To View a Test Case Listing 221
To View Test Execution Results 223
To Create a CSV Execution Report 223
The Full Report 225
The Test Case Management Report 225
To View Test Data Summary 226
To View a Test Case’sRaw Data Set 230
8
SettingExecutionOptions 230
Options: Execute Tab 230
SettingReport Options 238
Report Content Options 238
Report Format Options 247
Setting Test Case Options 257
Deprecated Report Optionsand Commands 264
CHANGE-BASED TESTING 265
About Change-BasedTesting 266
PerformanIncrementalRebuild 266
USINGCODE COVERAGE 269
Code Coverage 270
To Initialize Statement Coverage 271
To Initialize Branch Coverage 271
To Initialize MC/DC Coverage 273
Suppressing MC/DC Initialization on Compile Error 274
To Initialize Statement+MC/DC 274
To Initialize Statement+Branch 275
To Initialize Coverage forUnitsOtherthan UUT 275
To Avoid Instrumenting SectionsofSource Code 276
To Uninstrument an Environment 277
To Enable Coverage 277
To Disable Coverage 277
ViewingCoverage Results 278
To Turn on Coverage Results 278
The Coverage Viewer 281
To Customize the Coverage Viewer 287
Map Line Selection to Original Source View 287
To Open a Test Case That Coversa Line 288
To Remove All Coverage Results 290
To View the Aggregate Coverage Report 290
To View the MetricsReport 291
To View Code Coverage Summary 294
To View Function Coverage Results 297
Understanding BasisPaths 297
To Build Test CasesfromBasisPath Analysis 298
To View a BasisPathsReport 298
MC/DC Coverage 299
Understanding MC/DC Analysis 300
To View the Equivalence MatricesReport 301
ViewingExecutionFlow withAnimatedCoverage 304
To Activate Coverage Animation 304
To Play the Coverage Animation 305
9
The Animation Toolbar 305
To Set a Breakpoint 306
SettingCoverage Options 307
Options: Coverage Tab 307
Uncovered Line Indicator 314
Coverage ViewerOptions 315
Disable Boolean Cast in Instrumentation 315
To Format the Text in the Coverage Viewer 315
ImportingCoverage Results 318
Preparing to Import Results 318
Importing the Results 318
To Export a Script ofCoverage 320
To Import a Coverage Script 323
To Delete Imported Results 323
To View the Coverage Import Log 323
USINGVECTORCAST/COVERED BY ANALYSIS (CBA) 324
VectorCAST/CBA 325
ToAddCoverage Analysis 325
Using the Coverage AnalysisEditor 325
To Edit an Existing AnalysisResult 328
Viewing CBA Coverage in the Coverage Viewer 329
To Change Covered-By-AnalysisDisplay Color 329
WorkingWithAnalysis Files 330
To Import AnalysisFiles 330
To Export AnalysisFiles 331
To Remove AnalysisFiles 331
Re-InstrumentingWithCBA Data 331
ViewingAnalysis DatainReports 332
Covered By AnalysisReport 332
Aggregate Coverage Report 334
MetricsReport 336
USER CODE 337
UnderstandingUser Code 338
TypesofUserCode 338
OrderofExecution 338
Editing UserCode 339
UserCode Tags 339
FeaturesCommon to All UserCode 340
Environment User Code 343
TypesofEnvironment UserCode 343
To Edit Environment UserCode 345
To Test Compile Environment UserCode 346
10
Description:Part Number: User's Guide for VectorCAST/Ada v.6.4 Getting Help. 46 .. 366. To Save Stub User Code. 367. To Recompile Stub User Code. 368 . Executing tests on host and embedded-target development systems having the command line get too long after expansion, you can quote the.