İstanbul evden eve nakliyat Beylikd¨¹z¨¹ evden eve nakliyat Tuzla evden eve nakliyat
How do we differentiate between Verification and Validation
Delicious Bookmark this on Delicious
software testing genius

How do we differentiate between Verification and Validation

Welcome to “Software Testing Genius”. Subscribe to my RSS feed for latest content on Software Testing.

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:

face="Verdana, Arial, Helvetica, sans-serif"> "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 for Download

ISTQB Advanced CTAL Test Analysts Exam - Full Crash Course for Download


ISTQB Advanced CTAL Test Manager Exam - Full Crash Course for Download


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.


Quick Navigation of Software Testing Genius

Get your Absolutely Free Copy of Several MS PowerPoint Presentations & E-Books related 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

 

Comments :

comments ↓


Leave Your Comments: (*) Marked Fields are Mandatory

You can apply basic formatting to the text

Name *
 
Email Address *
 
Website
 
Speak your mind
characters
sex hikayeleri