VectorCAST/C++

Automated Unit and Integration Testing for C and C++

VectorCAST/C++ is a highly automated unit and integration testing solution for C and C++ software. It is built for embedded developers working on safety-critical and business-critical systems, where thorough, repeatable testing is a requirement rather than an option.

The tool automatically constructs the test harness and mocking framework from your source code. Your engineers define what to test and what the expected behavior is. The rest is handled for them.

Who is VectorCAST/C++ for?

VectorCAST/C++ is used by embedded software developers and test engineers in aerospace, automotive, medical device, industrial controls, and railway programs. It supports compliance with DO-178B/C, ISO 26262, IEC 61508, IEC 62304, and EN 50716.

Advantages

VectorCAST/C++ removes the manual overhead from unit testing without sacrificing the depth of coverage your program requires.

  • Cut test development time significantly

    Automatic harness construction and mock generation eliminate the manual work of writing test drivers and stubs. Your team writes test cases, not infrastructure.

  • Prove coverage at the level your standard requires

    Integrated statement, branch, and MC/DC coverage analysis produces the evidence your certification review needs, directly from the tool.

  • Test continuously without manual maintenance

    Test projects automatically re-execute against the latest source. Results are catalogued by date, time, unit, and test name, keeping regression runs reliable and low effort.

  • Test on host, simulator, or embedded target

    Develop tests on your host and re-execute them on your embedded target hardware using VectorCAST RSP. No test rewrite required.

  • Integrate without disrupting your toolchain

    VectorCAST/C++ works with your existing compiler, build system, and CI environment. Native GoogleTest support brings existing test suites in without rewriting. Full command line interface and Python scripting support make automation straightforward.

Application Areas

VectorCAST/C++ is used across industries where C and C++ software must be verified against strict functional safety or certification requirements.

Aerospace

Unit and integration testing for airborne software per DO-178B and DO-178C, including MC/DC coverage evidence required at higher design assurance levels.

Automotive

Software component verification for ISO 26262 compliance, with requirements traceability and regression automation across ECU software projects.

Medical

Unit testing with full documentation support for IEC 62304 software safety classification.

Industrial

Systematic software verification for IEC 61508 functional safety programs.

Railway

Software verification and validation for EN 50716:2023 compliant programs.

Key Features

VectorCAST/C++ covers the full unit and integration testing workflow, from harness generation to coverage reporting, with the flexibility to support both GUI-driven and code-centric test approaches.

Writing and Running Tests

Test Harness and Mocking

VectorCAST/C++ automatically constructs a complete test harness and mocking framework from your source code. There is no need to manually write stubs or drivers. The tool handles harness compilation and linking using your compiler and provides an interface to your compiler's debugger for issue diagnosis during test execution.

Coded Tests

Coded Tests lets developers author test cases directly in C++ using an xUnit framework. This simplifies test setup and teardown and makes it easier to share objects between tests. It complements the data-driven Test Editor, which generates a complete test harness without requiring recompilation for each test case update.

Integration Testing

Multiple units can be tested together in a single VectorCAST/C++ environment. Dependencies are stubbed or included as real code, enabling thorough simulation of real-world scenarios across multiple functions and units.

Test-Driven Development

VectorCAST/C++ supports TDD workflows. Unit tests can be constructed from header files before application code is written. As code is developed incrementally, tests begin to pass as real code replaces stubs and mocks. The resulting test suite is available for automated regression testing from that point forward.

Analysis and Reporting

Integrated Code Coverage

Statement, branch, and MC/DC coverage analysis is built into VectorCAST/C++. Coverage data can be shared with VectorCAST/QA to produce combined reports across unit, integration, and system testing phases. Coverage from CPPUnit, GoogleTest, and other frameworks can also be incorporated, providing a complete view across your entire test program.

Regression Testing

Test projects automatically re-execute against updated source files. Results are organized by date, time, unit, and test name, making it easy to catch regressions introduced by incremental code changes.

Probe Points and Data Control

Probe Points allow run-time changes to data or control flow, helping drive code down hard-to-reach paths. Asserts capture the state of code at specific points in execution, with results logged in the Execution Results report.

Reporting and Data API

Reports are available in XML format, including a Probe Points Report that produces a parseable list for third-party tools. A complete Python-based data API is included for building custom reports and advanced integrations.

Environment and Integration

Embedded Target Testing

Using VectorCAST RSP, test cases developed in a host environment can be re-executed directly on your embedded target. VectorCAST RSP integrates with your cross-compiler and RTOS, making it suitable for verifying real-time application behavior on target hardware.

C++ Standard and Platform Support

Supports C++11, C++14, C++17, and C++20 across a wide range of compilers, simulators, and processor architectures. Runs on Windows and Linux with a full command line interface.

Frequently Asked Questions

Need More Information? Contact Us!
Andreas Horn
Technical Market Strategy Manager
Need More Information? Contact Us!
Fill out the form and we will reach out to you to answer your questions and address your needs!

Related Pages