Design Validation is a process of evaluating the software product for the exact requirements of end-users or stakeholders. The purpose of design validation is to test the software product after development to ensure that it meets the requirements in terms of applications in the user's environment.
Validation is concerned with demonstrating the consistency and completeness of design with respect to the user needs. This is the stage where you actually build a version of the product and validate against the user requirements.
The image below represents design validation process.
The purpose is to prove with objective evidence that the product satisfies the documents of user needs. The objective evidence is nothing but any physical proof of the output such as an image, text or audio file which indicates that the procedure has been accomplished.
Through objective evidence, this process will consistently examine that the product meets the predefined requirements. This process involves testing activity, inspection and analysis, and so on.
Design Verification is a method to confirm if the output of a designed software product meets the input specifications by examining and providing evidence. The goal of the design verification process during software development is ensuring that the designed software product is the same as specified.
Design input is any physical and performance requirement that is used as the basis for designing purpose. Design output is the result of each design phase and at the end of total design effort. The final design output is a basis for device master record.
Difference between Design Verification and Validation
There are always misconceptions between verification and validation. These are different activities which are performed at every stage of development process.
Design verification is used where the actual design output should be same as expected design output which satisfies the specifications of the product.
Design Validation is used to define that the final design is as per the expectations of the user need.
Design Verification ask: Did you design the product right?
Design Validation ask: Did you design the right product?
Design verification includes unit and primary integration level testing.
Design validation includes secondary or higher-level integration and system level testing.
Certain aspects of design validation can be accomplished during the design verification, but design verification is not a substitute for design validation.
Design verification can be conducted on the individual module or on the completed system under any conditions.
Design validation shall be conducted under a specified condition as per the user requirement.
Design verification may use Static techniques. It includes system inspections, analysis, and formal verification (testing) activities.
Design Validation consists of the final report (test execution results) that are reviewed, approved, and signed. These documents are stored for future references.
Design Verification Process
Identification and preparation:
During the development stage of a specification, the identification of verification activity is done parallel. This enables the designer to make sure that the specification is verifiable. So a test engineer can start detailed test plan and procedures. Any changes in the specification should be communicated.
Identifying the best approach to conduct verification, define measurement methods, required resources, tools, and facilities.
The completed verification plan will be reviewed with the design team to identify issues before finalizing the plan.
Planning for verification is a concurrent activity with core and development teams. This occurs throughout the project life cycle. This will be updated as and when any changes are made to design inputs.
During this phase, the software or system under test shall be documented in scope.
Preliminary test plan and test plan refinement are made at this stage. Test plan captures the critical milestone reducing the project risk.
Tools, test environment, development strategy and identifying the requirements through inspection or analysis.
The test case development will coincide with SDLC methodology implemented by a project team. A variety of test methods are identified during this stage.
The design inputs must be developed including simplest verification activities which are unambiguous and verifiable.
Verification time shall be reduced when similar concepts are conducted in sequence. Even the output of one test can be used as input for subsequent tests.
Tractability links are created between test cases and corresponding design inputs, to ensure that all the requirements are tested and the design output meets the design inputs.
The test procedures created during the development phase is executed in accordance with the test plan, strictly following them in verification activity.
If any invalid results occur or if any procedures required modification, it is important to document the changes and get proper approval.
Any issues are identified and logged as a defect at this stage.
Tractability matrix is created to verify that all the design input identified in the verification test plan has been tested and determine the pass ratio.
This activity is performed at the end of each phase of verification execution.
The design verification report gives the detailed summary of verification results which includes the configuration management, test results for each type of testing and issues found during the verification activity.
Design verification traceability report is created between requirements and corresponding test results to verify all the requirements have been tested and provided with appropriate results.
Any non-conformance will be documented and appropriately addressed.
Reviews are done upon the completion of design verification activity and are approved respectively.
Design Validation Process
Some of the designs may be validated by comparing with similar equipment performing similar purpose. This method is particularly relevant for validating configuration changes for existing infrastructure, or standard designs that are to be incorporated in a new system or application.
Demonstration and/or inspection may be used to validate requirements and other functionality of the product.
Analyzing the design can be done such as mathematical modeling, a simulation which can recreate the required functionality.
Tests are performed on the final design that validates the ability of the system to operate as per the specified design.
Test plan, execution, and results should be documented and maintained as a part of design records. Thus, Validation is a collection of the results of all validation activities.
When equivalent products are used in the final design validation, the manufacturer must document the similarity and if any difference from initial production.
Let us take an example of the simple product, a waterproof watch.
The product requirement document might state that "The watch must be waterproof during swimming."
The design specification might state "The watch should function even if the user swims for a prolonged time."
The testing results should confirm that the watch should meet these requirements else the redesign iterations are done until it satisfies the requirement.
Advantages of Design Validation and Verification
We can continuously monitor the designs which enable us to meet the user-defined requirements at every stage.
Validating the design will point out the difference between how the functionality works and how it is expected to work.
Documenting the validation procedures will help to easily understand the functionality at any stage in the future if there might be any change or enhancement made.
Development time will be consistently reduced improving productivity, which enables to deliver the product as expected.
This process includes range and scope of each validation methods that are required to be employed.
The validation can be carried out using detailed design data that represent the final user requirements.
Any difference between the outcome and the user need documents must be captured.
Changes in validation design lead to revalidation activity.
It is important to document every activity that occurs during validation, which adequately proves that the design meets the user requirements.