Proving Due Diligence for FDA Audits
VectorCAST tools are successfully used by clients demonstrating due diligence with FDA software quality requirements. Whether your device is Class I, II or III, the VectorCAST tools provide a dependable and repeatable testing process for your medical device software development. And the VectorCAST coverage and test case pass/fail reports are exportable to regular HTML or text for easy integration into product documentation delivered to the FDA.
FDA Developer Testing Levels
| FDA Developer Testing Levels |
Satisfied with VectorCAST |
|---|
| Unit (module or component) level testing focuses on the early examination of sub-program functionality and ensures that functionality not visible at the system level is examined by testing. Unit testing ensures that quality software units are furnished for integration into the finished software product. |
- VectorCAST/C++ (unit test)
- VectorCAST/RSP (target testing)
- VectorCAST/Manage (regression test)
- VectorCAST/RGW (requirements tracing)
|
| Integration level testing focuses on the transfer of data and control across a program's internal and external interfaces. External interfaces are those with other software (including operating system software), system hardware, and the users and can be described as communications links. |
- VectorCAST/C++ (unit test)
- VectorCAST/RSP (target testing)
- VectorCAST/Manage (regression test)
- VectorCAST/RGW (requirements tracing)
|
| System level testing demonstrates that all specified functionality exists and that the software product is trustworthy. This testing verifies the as-built program's functionality and performance with respect to the requirements for the software product as exhibited on the specified operating platform(s). |
- VectorCAST/Cover
- VectorCAST/RGW
|
According to the FDA General Principles of Software Validation Guidance, ‘All production and/or quality system software, even if purchased off-the-shelf, should have documented requirements that fully define its intended use, and information against which testing results and other evidence can be compared, to show that the software is validated for its intended use.’
Vector Software has developed an extensive software medical device certification kit VectorCAST to meet FDA and IEC 62304:2006 standards.
Further, the FDA document provides a recommended approach to Testing by the Software Developer in section 5.2.5.The various VectorCAST test tools address the software testing referred to in this section and provide an automated capability to satisfy each of the document's requirements.
Section 5.2.5: Testing by the Software Developer
Unit Testing
Software testing entails running software products under known conditions with defined inputs and documented outcomes that can be compared to their predefined expectations.
- VectorCAST/C++ supports pass/fail analysis of specificed input data and defined expected results for each test case
An essential element of a software test case is the expected result. It is the key detail that permits objective evaluation of the actual test result.
- With VectorCAST/C++, testers can specify a wide range of valid results for a test including range of values, floating point tolerance, and an exception being raised.
Code-based testing is also known as structural testing or "white-box" testing. It identifies test cases based on knowledge obtained from the source code, detailed design specification, and other development documents. Structural testing is accomplished primarily with unit (module) level testing, but can be extended to other levels of software testing.
- VectorCAST can support both white box and black box testing

Pass/Fail Metrics
Code Coverage Analysis
The level of structural testing can be evaluated using metrics that are designed to show what percentage of the software structure has been evaluated during structural testing. These metrics are typically referred to as "coverage" and are a measure of completeness with respect to test selection criteria. The amount of structural coverage should be commensurate with the level of risk posed by the software.
- Both VectorCAST/C++ and VectorCAST/Cover provide code coverage metrics. These metrics show you what areas of your code have been exercised and more importantly, what areas of the code have not. It is those areas of code that are not exercised that have increased risk of software failure.

VectorCAST Code Coverage Viewer

VectorCAST Path Coverage Report
Regression Testing
Regression analysis and testing are employed to provide assurance a change did not create problems elsewhere in the software product. Regression testing is the rerunning of test cases that a program has previously executed correctly and comparing the current result to the previous result in order to detect unintended effects of a software change.
- VectorCAST/Manage allows for full regression testing of all VectorCAST testing at a frequency of your choice, including nightly
Requirements Tracing
Test reports should comply with the requirements of the corresponding test plans.
- VectorCAST/RGW (Requirements Gateway) enables the mapping of requirements to VectorCAST/C++ unit test cases, and lets users push that mapping information back to their Requirements Traceability tool for full analysis. VectorCAST supports bi-directional data transfer with many requirements analysis tools like DOORS, Requisite Pro, Reqtify, and Polarion, as well as Microsoft Excel and Word.

Requirements to Test Case Mapping