CSE565: Software Validation, Verification and Testing
Profesor: Dr. James S. Collofello
Department of Computer Science and Engineering Ira A. Fulton School of Engineering
Arizona State University
This are my notes for the first class session; it might not be complete, foolproof or even correct in all details. Please feel free to comment, correct or give other feedback!
1. Objective of Testing
- Minimize risks
- Find faults (things that not works)
- How robust is the software: Do not fail and if fails it recover very fast
- Assess performance
2. When To Stop Testing?
- Demonstrate requirements are met
- When it is good enough????
3. Definitions IEEE
- RELIABILITY: Probability that a give SW application will operate for some given time period without SW failure (MTBF – mean time between failure. It is a related concept with Reliability).
- VALIDATION: Tends to answer the question “are we building the right product? Is this software do what it needs to do? (It is about requirements).
- VERIFICATION: Are we building the product right? Does this meets it requirements. It is the easy one (It is about design).
Industry talks about V&V concepts which stands for Validation & Verification.
Other concept is IV&V which stands for Independent V&V
- TESTING: Examination of the behavior of a program by executing it on sample data sets.
Testers are expected to do predictions about the reliability of the SW.
Testers cannot either do exhaustive testing. Some cases maybe when the SW is very simple and has very specific inputs.
If you cannot make a exhaustive poll then you have to assure you have a good sample (representative and valid statistically). The same happened for a test process.
4. Effective Testing
- Examination of the behavior of a program by executing it on REPRESENTATIVE sample data sets.
- ROI (Return of Investment): Is a development effort but also a V&V effort. How many effort we put on doing the development and the Verification and Validation.
Cost = f(productivity)…The SW productivity is 1 LOC / hr.
5. Measures Of Reliability
- CRUD – Customer Reported Unique Defects. It is expressed by defects/KLOC. In 2010 the average is 1/KLOC.
See The Risk Digest