Auto electronics
Informationalized Solution
R&D tools
Marketing

VectorCAST is a leading dynamic white-box testing tool suite from Vector, designed for embedded C/C++ code. It enables highly automated dynamic unit and integration testing (VectorCAST/C++) as well as partial system testing (VectorCAST/QA). Compliant with industry standards such as ASPICE and functional safety ISO 26262, VectorCAST is suitable for embedded systems that demand high levels of safety and reliability, helping to reduce development risks and improve code quality.Its greatest strength—and key advantage over other similar tools—is its high degree of automation and its superior suitability for embedded environments.
As Vector’s partner, Shanghai Polelink Information Technology will provide Chinese customers with professional dynamic code testing solutions.
VectorCAST is developed based on the V-model and functionally covers all phases of software testing, including requirements analysis, unit testing, integration testing, coverage analysis, regression testing, and partial system testing. To address diverse code testing requirements from customers, VectorCAST offers tailored solutions, including the VectorCAST/C++ and VectorCAST/QA tools: VectorCAST/C++ is used for unit and integration testing, while VectorCAST/QA is designed for system testing.

Figure 1. V-model
VectorCAST/C++
VectorCAST/C++ is a highly automated software testing solution that runs stably on both Windows and Linux systems. It is designed for dynamic unit and integration testing of C/C++ code, significantly reducing the time, effort, and cost required during the testing process.

Fig 2: VectorCAST/C++
VectorCAST/C++ Features:
1)Requirements Management
VectorCAST supports integration with various online requirements management tools, such as codebeamer, DOORS, IBM Engineering Requirements Management DOORS Next, Polarion, and others. It also allows importing local requirements management documents in CSV format. VectorCAST enables users to create test cases based on requirements and link them directly to those requirements, achieving bidirectional traceability between test cases and requirements.

Figure 3: Requirements Management Integration
2)Test Environment Setup
VectorCAST supports the automatic generation of test environment suites and pre-building of test harnesses. It integrates with actual compilation toolchains for testing, including over 300 widely used cross-compilation environments such as Green Hills, Keil, HighTec, TASKING, Wind River, and other industry-leading compilers and target processors. Corresponding compiler configuration packages are provided via VectorCAST/RSP.
By combining VectorCAST/C++ with the VectorCAST/RSP configuration packages, users can either perform real-time testing directly on embedded target boards after joint debugging with debuggers such as UDE or TRACE32, or conduct real-time application testing entirely without hardware by running on simulation/emulation environments. Test cases are designed on the host machine and executed in the embedded target environment, enabling true real-time testing on the target hardware.
Partially supported compilers for VectorCAST/C++:

Figure 4: Compiler Support (Partial)
3)Test Case Creation
VectorCAST/C++ allows test case creation through a graphical interface and supports automated test case generation via multiple methods, such as automatic test case generation based on statement/branch/MCDC coverage, automatic test case generation based on equivalence class and boundary value analysis, automatic test case generation using ATG, test case generation using classification trees, and batch test case generation from CSV data lists. Moreover, all test cases are mutually independent and decoupled.

Figure 5: Test Case Creation
4)Automatic Stubbing
VectorCAST/C++ features a powerful instrumentation algorithm that automatically generates stub functions based on the code under test, eliminating the need for manual writing or selection of stub code. It also allows users to edit the generated stub functions to meet specific requirements. Manual stubbing is also supported, including stubbing of standard library functions and user-defined functions.

Figure 6: Automatic/Manual Stubbing
5)Coverage Analysis
VectorCAST/C++ provides multiple coverage metrics, including Statement Coverage, Branch Coverage, MC/DC Coverage, Function Coverage, Function Call Coverage, and combinations of these coverage types, to satisfy varying coverage requirements from different standards. For parsed source code, coverage status is visually indicated using different colors. VectorCAST/C++ also supports CBA (Coverage Analysis) manual coverage functionality to fulfill coverage requirements for code that cannot be exercised by test cases.

Figure 7: VectorCAST Coverage Statistics
6)Parameter Type Parsing
VectorCAST/C++ supports parsing of all basic and complex data types in C/C++ code and fully supports C++11, C++14, and C++17 language features. Moreover, most C++ features are accessible through a graphical user interface.

Figure 8: Parameter Type Parsing
7)Regression Testing
VectorCAST/C++ offers robust regression testing capabilities. Testing can be executed via GUI→Incremental or command-line interfaces. The tool incrementally rebuilds the test environment, detects code changes, and executes only the affected test cases, thereby saving testing time and reducing maintenance costs across project versions.

Figure 9: Regression Testing
8)VectorCAST/C++ supports Probe Point functionality, enabling insertion of code into the test target to achieve fault injection, local variable printing, and breakpoint debugging.

Figure 10: Probe Point Functionality
9)Testing Report
VectorCAST/C++ supports multiple output formats and various test types, with reports available in both Chinese and English.
10)CI/CT Integration
VectorCAST/C++ integrates with CI tools such as Jenkins, providing an official Jenkins plugin for one-click integration without the need to write integration scripts. It also supports parallel execution of multiple test environments through Jenkins Pipeline to reduce test execution time. Additionally, command-line integration is supported, allowing test cases to be executed via scripts.

Figure 11: Jenkins Integration
11)VectorCAST/C++ supports ultra-lightweight project file management—requiring only configuration files of tens or hundreds of kilobytes—to enable rapid and complete migration of very large projects and facilitate distributed team collaboration.
VectorCAST/QA
VectorCAST/QA is primarily used for automated system test and provides an integrated workflow for white-box system testing. Through integrating user software compile/construction environment and existing test infrastructure, VectorCAST/QA can capture the key metrics in system testing, like code complexity, the frequency of code change, test cases status and code coverage and so on.
VectorCAST/QA features:
1) Automatically capture and maintain code coverage data during system testing, and help users to rapidly identify the part untested, and then confirm the required resource for improving test completeness.
2) Change-based testing, and automatically calculate the minimum set of test cases for the requirement of providing complete test changes, or identify test cased affected by code changes and then re-executed.
3) VectorCAST/QA can’t generate test case by its own, but VectorCAST/QA can follow the existing system testing framework and test cases of clients.
4) Automatically insert stub function of customer source code, and add code coverage interface, whick will cause the source code to expand, the more meticulous the function inserting, the higher the code expansion. So, VectorCAST/QA has certain requirements on the system.
5) Integrate with Jenkins, and execute test cases continuously in Jenkins, then realize continuous integrated development/testing.

Figure 12: VectorCAST/QA
Quality Certification
VectorCAST has been certified by TÜV SÜD and complies with relevant industry certification standards, such as ASPICE, ISO 26262 (ASIL D), IEC 61508, EN 50126, etc., well-known in the automotive industry. Moreover, VectorCAST is currently the "only" code testing tool suite on the market that is certified for both major and minor releases and provides users with a complimentary Safety Manual to support their certification efforts.

Figure 13: Certification
Some of VectorCAST's customers:
