Verification and Validation: CIS 376 Bruce R. Maxim UM-Dearborn
Verification and Validation: CIS 376 Bruce R. Maxim UM-Dearborn
CIS 376
Bruce R. Maxim
UM-Dearborn
Whats the difference?
Verification
Are you building the product right?
Software must conform to its specification
Validation
Are you building the right product?
Software should do what the user really
requires
Verification and Validation Process
Execution File
Simulator
report comparator
Report Testresults
generator report
Testing Workbench Adaptation
Scripts may be developed for user interface
simulators and patterns for test data
generators
Test outputs may need to be developed for
comparison with actual outputs
Special purpose file comparison programs
may also be useful
System Testing
Testing of critical systems must often rely
on simulators for sensor and activator data
(rather than endanger people or profit)
Test for normal operation should be done
using a safely obtained operational profile
Tests for exceptional conditions will need to
involve simulators
Arithmetic Errors
Use language exception handling mechanisms to
trap errors
Use explicit error checks for all identified errors
Avoid error-prone arithmetic operations when
possible
Never use floating-point numbers
Shut down system (using graceful degradation) if
exceptions are detected
Algorithmic Errors
Harder to detect than arithmetic errors
Always err on the side of safety
Use reasonableness checks on all outputs
that can affect people or profit
Set delivery limits for specified time periods,
if application domain calls for them
Have system request operator intervention
any time a judgement call must be made