Life Cycle
There are essentially three types of Analysis that are required for a ISVV process:
Requirement Analysis
The main goal of this ISVV phase is to verify the software requirements against the system level requirements, including applicable standards and interface requirements. The software requirements are verified for completeness, correctness, traceability and testability. The testing methods, acceptance criteria for validation and software development, management and support processes are evaluated as well.
Design Analysis
Design analysis ensures that the software architectural detailed design items are internally and externally consistent (traceable). It also verifies that the design is adequate and in conformance to the software requirements and interfaces, correct, complete and testable.
Verification of feasibility of operations and maintenance is also performed.
Code Analysis
The code analysis activities, including the code inspections, aim at verifying the completeness, correctness, consistency, and implementation of the design baseline and coding standards. Checklists are used at every code analysis session to ensure that a list of "frequent known problems" is not ignored:
The findings of the ISVV verification activities are documented in reports with a complete description of the problem and also recommendations to remove the defect or improve the quality of the software.
Validation Process
The validation phase, also referred as test phase, verifies the compliance with the software and system requirements, ensuring by evidence that the correct behavior and the expected service is fulfilled under all operational conditions.
In this phase, Critical Software offers several services:
-
Complete validation of the tests executed by the developer organization, including verification of the test anomalies documentation, verification of the test results versus the acceptance criteria, evaluation of the coverage and completeness of the test batteries and verification that all test objectives have been achieved.
-
Addition of extra test specifications, test procedures and execution of those tests for critical functions. These tests are usually stress and robustness tests that are more likely not to be included in the mainstream developer's test plan. By focusing on the highly critical software features the testing effort can then bring more "value for the money".
-
Development and customization of simulators to support the validation and test automation, and notably supporting extended failure injection for COTS components based on its flagship Xception(tm) technology.
Software Validation Facilities (SVFs) development and customization benefit from Critical Software's Xception(tm) technology, a state-of-the-art leader in Software Implemented Fault Injection (SWIFI) technology, developed in-house and already used at JPL REE project (NASA) and in ESA's projects such as STADY (Static and Dynamic Verification of Critical Software) and RAMS (Safety and Dependability Graduations).
|