The verification process is integral to the V cycle, where the system or system element fulfils its specified requirements. This process is performed to determine if the system is built right and its purpose is to prove that the system meets its requirements. The verification process commences once the system requirements are finalised, and the architecture, design, analysis and integration are completed or underway. In a real-world scenario, the verification process could commence at any stage.
The next step of the Verification process is the validation process, which is performed to see if the correct system is built. In this process, the purpose is to provide evidence that the system fulfils its business needs and stakeholders’ requirements.
This article will show how the typical verification process happens and how you can do it in Valispace.
Verification Techniques:
Basic Verification techniques, as per IEEE 1012, 2012, are
- Inspection
- Analysis
- Demonstration
- Test
- Analogy or similarity
- Simulation
- Sampling
As outlined by IEEE 1012, 2012, these basic verification techniques offer diverse methods to ensure the quality and reliability of systems and software. The choice of technique(s) depends on the nature of the system, its requirements, and the available resources. Employing a combination of these techniques can enhance the effectiveness of the verification process and help identify and rectify defects and issues early in the development lifecycle.
Verification methodology in Valispace
Verification in Valispace provides a versatile and adaptable approach to system development. It offers a range of default verification methods readily available to users, including Inspection, Review, Analysis, Rules, and Tests. However, Valispace also allows users to create custom verification methods, such as analogy or demonstration, and associate them with their respective close-out references. These close-out references serve as evidence, documents, code, or test cases that demonstrate the verification method’s results align with the expected outcome. This process ultimately determines whether the requirements have been successfully verified.
The verification process flow can be visualised through the following diagram:
In Valispace, each requirement can be associated with one or more verification methods, and each verification method can comprise one or multiple components. Verification activities follow a specific plan tailored to the chosen verification method. The obtained results from these activities are then compared to the desired outcome specified in the verification plan. If the results match the desired outcome, the verification method is considered successful, leading to the verification of the requirement itself. In cases where multiple verification methods are associated with a single requirement, all verification methods must achieve successful verification for the requirement to be verified.
Verification Process through the Valicopter Project
We will be using the valicopter project to demonstrate the verification process within valispace. The valicopter systems requirements are defined, the downward Vcycle has been completed and the process for the upward Vcycle has been initiated. The first step was to create a verification plan for all these requirements which means the VMs have to be added to the requirements.
Lets see how we can do that in this video!
Inspection, Analysis, Review – Manual Verification Methods
Inspection and review verification methods in Valispace are manual processes that empower users to directly update the verification status of components based on the results obtained during inspections or through review processes. These methods provide a hands-on approach to the verification process, allowing users to actively assess and confirm the compliance of components with established requirements.
During an inspection, users can physically examine components, analyse documentation, or assess physical attributes to determine if they meet the specified requirements. Individuals or teams scrutinise documents, designs, or other artefacts to identify discrepancies or compliance issues in the review process. In both cases, the verification status can be modified directly within Valispace based on the findings, enabling a streamlined and transparent verification workflow.
In our verification activity, we have one requirement PROP-0057 (The propulsion system shall have a hard casing without any cracks.) that has the three verification methods inspection, Analysis and Review. Lets see how this requirement gets verified over time.
Rules – Automatic Verification Method
Valispace offers a components module that enables users to design their systems. The module allows for breaking down the system into subsystems and components, down to the lower-end parts. Each component can have its own properties, or valis, which contribute to calculating the properties of the entire system. Typically, there are design-based requirements that must be strictly maintained. As the system evolves, it is crucial to ensure that these requirements are being met.
Fortunately, Valispace provides a “Rules” Verification method that performs a boolean check or rule comparison between the valis from the components module and those from the requirements. Whenever a design vali is changed, the rule compares both values and updates the verification status of the Verification method accordingly.
Test Verification Method
The Test Verification Method offers an automated verification process that streamlines the testing workflow within Valispace’s Tests Module. This method allows test cases to be directly integrated, encompassing requirements and components within the test steps.
Throughout the testing phase or test runs, a dedicated testing engineer meticulously executes the predefined test procedures on the designated components. During these test runs, the engineer carefully assesses the test results against the anticipated outcomes. If the test results align with the expected results, the corresponding test steps are marked as “passed.”
If the test run is completed or demonstrates minor deviations from the expected results, the designated approver is responsible for evaluating and accepting the test run.. Once approved, this action initiates an automatic verification process that validates the associated requirements within the test case, thereby ensuring compliance with project specifications.