VectorCAST/C++
VectorCAST/C++ is composed of the following six integrated utilities:
The Environment Generator
The VectorCAST Environment Constructor provides all source code parsing and test harness code generation (including stub and driver creation) required for isolating units to be tested. The result of the "Environment" construction phase is an application specific test harness. This executable program is used to exercise all subprograms in the Unit Under Test (UUT).
The Environment Constructor provides the following benefits:
- Total automation of test code generation
- Test harness components are available as well-formatted source code
- Supports Bottom-up or Top-Down testing
The Execution Manager
The VectorCAST Test Case Execution Manager allows you to invoke the unit under test using any previously created test case. VectorCAST loads the test case data into the environment, invokes the environment driver, and captures the test results when the test is completed. Tests can also be run under control of a debugger.
The Test Execution Manager utility provides the following benefits:
- Single or Batch test case execution
- Examination of test results in real time
- Execution of modified test cases without compilation
- Quick "what-if" interactive testing
- Automatic Expected vs. Actual results comparison
- Test case execution under control of the debugger
Dynamic Analysis - Code Coverage
The Code Coverage tools show you which lines of source code (statement) or which branches of source code (branch) have been executed by one or more sets of test case data. The reports generated show you the completeness of your test suite. By having the uncovered code presented to you, you can easily work backward designing test cases to execute uncovered portions of your code. This is the key to maximizing defect identification and elimination, and improving product quality.
The Code Coverage Tools provide the following benefits:
- Statement, Branch, and MCDC support
- Graphical coverage viewer to quickly identify tested and untested components
- Reporting based on single test cases and all test cases.
The Test Case Generator
The Test Case Generator is an interactive utility that allows you to specify test cases by responding to prompts. Test cases consist of data values for formal parameters for subprograms of the Unit Under Test and the dependent stubbed units. Global data objects can also be manipulated with this utility.
The Test Case Generator utility provides the following benefits:
- Rapid interactive test and script case creation
- Control over all inputs, outputs and global data
- Real-time manipulation of test data without re-compilation
- Complete manipulation and access to scalar and complex types including dynamic allocation of pointer types
- Ability to annotate test cases with requirements information
- Definition of expected results
- Automatic test case creation for min, mid, max cases
- Test case templates with all possible input and expected results Range of value testing for scalar data within one test case
The Report Generator
The Test Report Generator allows you to construct text file reports that summarize the execution results of a specific test case. These reports are available for: viewing at the terminal screen, or extraction to files for printing and inclusion into project test documentation.
The Test Report Generator utility provides the following benefits:
- Consistent test documentation and format project wide
- Execution history shows control and data flow between units
- Expected and Actual results are compared and summarized
- Test failure is reported as a single line status
- Reports satisfy standard test reporting requirements of MIL-STD 2167a, 490, and FAA standard RTCA/DO-178B
Static Analysis - Code Complexity and Basis Path
VectorCAST supports the industry standard McCabe Cyclomatic Complexity Metric. This analysis tool helps to determine which software units may be the most difficult to maintain based on a relative complexity. (Refer to the National Bureau of Standards Special Publication #500-235: Structured Testing: A Software Testing Methodology Using the Cyclomatic Complexity Metric for more information.)
The Basis Path provides the results of basis path analysis for the Unit Under Test. The number of paths identified equals the code complexity, which corresponds to the number of test cases that must be developed to exercise the subprogram. By reducing code complexity less test cases are required to exercise all basis paths through the subprogram.



