Verification and Validation Flashcards
Objective of Verification and Validation
Ensures that a software system meets a user’s requirements.
Verification
Are we building the product right?
It should check the program to see if it meets specifications as written.
Validation
Are we building the right product?
It should meet the customer expectations.
Two stages of checking verification and validation
- discovery of defects
- assessment of whether the system is usable in an operational situation.
Software Inspections
Concerned with the analysis of the static system representation to discover problems (static verification).
Software Testing
Concerned with exercising and observing product behaviour (dynamic verification).
Program Testing Limitations
Program testing can only reveal the presence of errors, not their absence.
Defect Testing
Test designed to discover system defects.
Statistical Testing
Tests designed to reflect the frequency of user inputs.
Example goals of V&V
- software function
- user expectations
- marketing environment
Software Function
A much higher level of confidence that the system is fit for purpose is required for safety critical systems.
User Expectations
Users sometimes have a low expectation of software and are willing to tolerate some system failures.
Marketing Environment
Competing programs must be taken into account and the required schedule for introducing the product to market. Cheaper could equal more faults.
Debugging Process
There is no simple process for debugging, and requires looking at patterns in test outputs with defects and using a programmer’s skills to locate errors.
Syntax Errors
Should be caught by compiler.
Semantic Errors
Can occur in a program when compiled and ran.
Regression Testing
After fixing the defect, it is advisable to retest a program with all previous test data.
Testing Process
Description of the major phases of the testing process.
Requirements traceability
Testing should ensure that all requirements are individually tested.
Tested items
Specify the products of the software process to be tested.
Testing schedule
An overall schedule for testing of software is required and resources must be allocated as a part of the general project schedule.
Test recording procedures
Results of tests must be systematically recorded.
Hardware and software requirements
Sets out a list of software tools required and the estimated hardware utilisation.
Constraints
Any constraints of system should be anticipated in this section.