USER'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: