How do we differentiate between Verification and Validation
First of all let us see how IEEE defines the terms Verification & Validation
A) Software Verification: “it is the process of evaluating a system or component to determine whether the products of a given development phase satisfy the conditions imposed at the start of that phase.”
OR
“it is the process of evaluating, reviewing, inspecting and doing desk checks of work products such as requirement specifications, design specifications and code”.
OR
“It is a human testing activity as it involves looking at the documents on paper.”
B) Software Validation:
“It is defined as the process of evaluating a system or component during or at the end of development process to determine whether it satisfies the specified requirements. It involves executing the actual software. It is a computer based testing process.
“Both verification and validation (V&V) are complementary to each other.
Hence good testing expects more than just running a program.
To demonstrate this statement let us examine an example cum tutorial for leap-year function working on MS SQL (Server Data Base)
CREATE FUNCTION f_is_leap_year (@ ai_year small int)
RETURNS small int
AS
BEGIN
–if year is illegal (null or -ve), return -1
IF (@ ai_year IS NULL) or
(@ ai_year <= 0) RETURN -1
IF (((@ ai_year % 4) = 0) AND
((@ ai_year % 100)< > 0)) OR
((@ ai_year % 400) = 0)
RETURN 1 –leap year
RETURN 0 –Not a leap year
END
Now let us execute the above program with different inputs as described in following Database table: Test_leap_year
Sr. | Year (Year to Test) |
Expected Result | Observed Result | Match |
1 | -1 | -1 | -1 | Yes |
2 | -400 | -1 | -1 | Yes |
3 | 100 | 0 | 0 | Yes |
4 | 1000 | 0 | 0 | Yes |
5 | 1800 | 0 | 0 | Yes |
6 | 1900 | 0 | 0 | Yes |
7 | 2010 | 0 | 0 | Yes |
8 | 400 | 1 | 1 | Yes |
9 | 1600 | 1 | 1 | Yes |
10 | 2000 | 1 | 1 | Yes |
11 | 2400 | 1 | 1 | Yes |
12 | 4 | 1 | 1 | Yes |
13 | 1204 | 1 | 1 | Yes |
14 | 1996 | 1 | 1 | Yes |
15 | 2004 | 1 | 1 | Yes |
There are 15 sets of inputs in the above database table. We may feel that these 15 cases are sufficient for such a small program. We may write 100 such cases and show that this program behaves as per specifications. However, this is not testing.
By testing any program, we mean adding value to it. Adding value means raising the quality or reliability of the program. And raising the reliability means finding and removing faults. Hence, our objective should not be to show that the program works as per specifications. But, we should do testing with the assumption that there are faults and our aim is to remove these faults at the earliest.
If our goal is to demonstrate that a program has faults, our inputs selection should have a higher probability of finding faults. We should concentrate only on weak and critical areas of the program.
The critical areas for the above leap year program are as under
1) Removing statement ((@ ai_year % 400) = 0 would result in Y2K problem.
2) Entering year in float format e.g., 2007.12.
3) Entering year as a character or as a string.
4) Entering year as NULL or zero (0).
We may think of so many situations, which are quite risky for this leap-year function. These are critical areas. And the results are very strange with these inputs.
Our objective is to identify weak situations of any program and design test cases that makes the program to fail under such simple circumstances that no one would tolerate. If we are not able to remove faults, then proper warning messages should be introduced at proper places in the program.
Hence we can say that a good tester is the one who gets the most faults fixed.
Many More Articles on Verification & Validation
Largest Database of Sample Papers – 1000+ Unique Questions for ISTQB Foundation Exam
ISTQB Foundation Exam – Full Crash Course (Set of 35 Parts)
ISTQB Advanced CTAL Test Analysts Exam – Full Crash Course
ISTQB Advanced CTAL Test Manager Exam – Full Crash Course
Consolidated Study Material – All ISTQB Certification Exams
What Successful Testers say about the Quality of this website
If you want to keep track of further articles on Software Testing,
I suggest you to subscribe my RSS feed.You can also Subscribe by E-mail and get All New articles delivered directly to your Inbox. |
Get your Absolutely Free Copy of Several MS PowerPoint Presentations & E-Booksrelated to ISTQB, HP Load Runner, IBM RFT, HP QTP & QC Certification Exams, prepared by Popular Writers & Trainers, by writing to:Software.testing.genius@gmail.com
Study Material for Certification Exams on Other Automation Tools:
Download Full Study Material – HP QTP & QC Certification Exams
Practical Roadmap to QTP Certification
Rehearsal of QTP in 1 Hr. – Interview Questions
Study Material – HP LoadRunner Certification Exams for All Modules
Rehearsal of LoadRunner in 1 Hr. – Interview Questions
Study Material – IBM RFT Certification Exam
Study Material to prepare for Manual Testing & QA:
Practical Roadmap to CSTE Certification
Consolidated Study Material – Testing & QA
An expert on R&D, Online Training and Publishing. He is M.Tech. (Honours) and is a part of the STG team since inception.