Sunday, 16 December 2012

Difference Between Verification And Validation Explain It With Example?

Exact Difference between verification and validation are explained below:-


But before we preceding towards Exact Difference between Verification and Validation it is very important for us to first take a warm look at Verification and Validation means what it is all about. 

Verification is the system of confirming that software meets its specification. Verification involves reviews to evaluate documents, plans, code, software requirements, and specifications. It can be fulfill with checklists to involve, issues lists, and walkthroughs by people, and inspection meetings. Verification= “Are we building the project right”.

Validation is the system of confirming that software meets the user’s requirements. Validation typically involves absolute testing and takes place after verification is completed. Validation means to executing the software to see it meets the client requirements or not. Validation= “Are we building the right Project/product”.

Difference between Verification and Validation with Example – Tabular Form
                  Verification
                  Validation
1. Verification is a static practice of verifying documents, design and code/program.
1. Validation is a dynamic mechanism of validating / testing the actual product.
2. It does not involve executing the code.
2. It always involves executing the code.
3. It is human based checking of documents / files.
3. It is computer based execution of program.
4. Target is requirements specification, application and software architecture, high level, complete design, and database design etc.
4. Target is actual product-a unit, a module, a bent of integrated modules, and effective final product.
5. Verification uses methods like inspections/review, walkthroughs, and Desk-checking etc.
5. Validation uses methods like black box (functional)  testing, gray box testing, and white box (structural) testing etc.
6. Verification is done by development team to provide that the software is as per the specifications in the SRS document.
6. Validation is carried out with the involvement of client.
7. It can catch errors that validation cannot catch. It is low level exercise.
7. It can catch errors that verification cannot catch. It is High Level Exercise.
8. Verification is to check whether the software conforms to specifications.
8. Validation is to check whether software meets the customer expectations.
9. It, generally, comes first-done before validation.
9. It generally follows after verification.
Example of verification and validation are explained below:-

Suppose we have the specification related to the project than by checking that specifications are up to the blot or not is what we have done in verification.

Similarly Validation of the software is done to make safe that the software always meets the requirements of the customer. Note that the customer/end users are concerned in validation of the software. It is also exigent to differentiate between end users and client/customer. Considering example, if you are developing a library monitoring system, the librarian is the client and the person who issue the books, collect fines etc. are comes under the category of the end users.

Techniques/Methods of Verification
1. Walkthrough

2. Inspection

3. Review

Techniques/Methods of Validation
1. Testing

2. End Users

Conclusion:

1) Verification and Validation both are necessary and complementary.
2) Both of them provides its own sets of Error Filters.
3) Each of them has its own way of detect out the errors left in the software.

Lots of people use verification and validation interchangeably but both have different meanings. Verification process describes whether the outputs are according to inputs or not, and validation is whether the software is accepted by the user or not.

Note:
If you remain have any problem regarding Difference between Verification and Validation than you can definitely discuss with me in comments section below. And you can also give feedback for further improving the post Difference between Verification and Validation.

Manual Testing Part1-SDLC Models

Software Delopment Life Cycle is nothing but a Stages involved in software development process.

We have many software development life cycle models and only few are popular in indusrty we will take those models.

1.Water Fall model 
2.V-model
3.Prototyping Model
4.Spiral Model 

1.Water Fall Model

For What type of projects we use a water fall model :
When we have complete requirement.
We are not expecting any changes after starting a project.
Planning to complete with less resourse and less budget .

How it looks -->


Advantages 
This model is very simple model to follow .
All the activities are done one after the other .
We get defined output at the end of each stages and one stage output will be input to next stage.
Can be completed with less resourses .
Tracing project progress is simple and easy.

Disadvantages
If requirement is changing frequently then we cannot use this model.
Since testing is post development activity , it take more time to complete the project.

2.V-Model

For What type of projects we use a V- model :

Used for most of the commercial project , even when requirements are not freezed in the begining.


How it looks ->



V-model is also called Verfication and Validation (V&V) model ,V-model is so powerful  becouse  of the these concepts .
Verfication-Static Testing technique used from beginning to end to impliment the quality aspects .
Reviews ,approvals and meetings are the  verification activities .

Validation -Dynamic testing technique used in the testing phase ,validation is nothing but actual testing .
Testing the software by writing and executing test case are all validation actvities.

The V model attempts to give increased importance to testing related activities, by dividing the life cycle into development and testing phases.
The model relates each development phase to its associated testing phase. Thus in this life cycle model, work on the testing phases is carried out in parallel.

For example acceptance test phase may be carried out along with the requirements phase. Similarly system test planning activities of the system-testing phase needs not wait for unit testing to be computed. 

Advantages :
1.Becouse of the two testing technique verification and validation ,this model help to acheive good quality software  compare to other model .
2.Since there will be  separate team for testing and development activities ,project progress will be fast .

Disadvantage :
1.Since more people are involved in software development ,it is more expensive model.


3.Prototyping Model :

For What type of projects we use a Prototype- model :

We use prototype model when client is not able to give the complete requirement .

How it looks ->

The prototyping development process is explained in the following steps

1.Collect the initial requirement from the client .
2.Design the prototype by using SDLC 
3.Demonstrate the prototype to client 
4.Impliment client comments in the SRS ,then freez the SRS.

Advantages :
1.We will get the complete SRS.

Disadvantage :
1.The effort and investment invested for designing prototype will not be bared by client.

4.Spiral Model

The spiral model is a software development process combining elements of both design and prototyping-in-stages, in an effort to combine advantages of top-down and bottom-up concepts.



The steps in the spiral model iteration can be generalized as follows:




The new system requirements are defined in as much detail as possible. This usually involves interviewing a number of users representing all the external or internal users and other aspects of the existing system. 

A preliminary design is created for the new system.This phase is the most important part of "Spiral Model". In this phase all possible (and available) alternatives, which can help in developing a cost effective project are analyzed and strategies are decided to use them. This phase has been added specially in order to identify and resolve all the possible risks in the project development. If risks indicate any kind of uncertainty in requirements, prototyping may be used to proceed with the available data and find out possible solution in order to deal with the potential changes in the requirements. 

A first prototype of the new system is constructed from the preliminary design. This is usually a scaled-down system, and represents an approximation of the characteristics of the final product. 

A second prototype is evolved by a fourfold procedure: 

evaluating the first prototype in terms of its strengths, weaknesses, and risks; 

defining the requirements of the second prototype; 

planning and designing the second prototype; 

constructing and testing the second prototype. 

QTP DataTable

Introduction:

The Data Table is a Microsoft Excel sheet with columns and rows representing the data

The Data Table contains one Global tab plus an additional tab for each action.
The Data Table assists you in parameterizing your test.
To view the Data Table, click the Data Table toolbar button 

Data Table Parameters: 
Data Table parameters enable you to create a data-driven test, component, or action that runs several times using the data you supply. In each iteration, QTP uses a different value from the Data Table 
  

Setting Data Table Parameter Options:
Data Table parameters enable you to create a data-driven test (or action) that runs several times using the data you supply. For each iteration, QTP uses a different value from the Data Table.


When Data Table is selected as the parameter type, the Parameter Options dialog box enables you to configure your parameter to use values from the Data Table.

Global Datasheet:

The Global sheet contains the data that replaces parameters in each iteration of the test. If you create a Global parameter called Arrivals, the Global sheet might look like this: 
Run Time Data Table:
During the run session, QTP creates a run-time Data Table associated with your test.It displays the run-time data in the Data Table pane so that any changes to the Data Table can be seen as they occur.The final data from the run-time Data Table is displayed in the Run-Time Data Table in the Test Results window 

The Run-Time Data Table displays the parameterized values that were used, as well as any output values stored in the Data Table during the run.The Run-Time Data Table can be viewed from the Test results window. 

Run Time Data Table Methods:

AddSheet Method 
DeleteSheet Method
Export Method
ExportSheet Method
GetCurrentRow Method
GetRowCount Method
GetSheet Method
GetSheetCount Method
Import Method
ImportSheet Method
SetCurrentRow Method
SetNextRow Method
SetPrevRow Method

AddSheet Method
Adds the specified sheet to the run-time Data Table and returns the sheet so that properties can be directly set for the new sheet in the same statement. 

Syntax:
DataTable.AddSheet(SheetName)
Example
Variable=DataTable.AddSheet ("MySheet").AddParameter("Time", "8:00")

DeleteSheet Method
Deletes the specified sheet from the run-time Data Table.

Syntax
DataTable.DeleteSheet SheetID
The SheetID can be the sheet name or index. Index values begin with 1. 
Example
DataTable.DeleteSheet "MySheet" 
MySheet gets deleted from Data Table

Export Method
Saves a copy of the run-time Data Table in the specified location 

Syntax
DataTable.Export(FileName)
Example:
DataTable.Export ("C:\flights.xls") 

ExportSheet Method
Exports a specified sheet of the run-time Data Table to the specified file.

If the specified file does not exist, a new file is created and the specified sheet is saved.
If the current file exists, but the file does not contain a sheet with the specified sheet name, the sheet is inserted as the last sheet of the file.
If the current file exists and the file contains the specified sheet, the exported sheet overwrites the existing sheet.
Syntax:
DataTable.ExportSheet(FileName, DTSheet)
Example:
DataTable.ExportSheet "C:\name.xls" ,1 

GetCurrentRowCount
Returns the current (active) row in the first sheet in the run-time Data Table

Syntax:
DataTable.GetCurrentRow
Example
row = DataTable.GetCurrentRow 
Reporter.ReportEvent 1, "Row Number", row 



GetRowCount Method
Returns the total number of rows in the longest column in the first sheet in the run-time Data Table 

Syntax 
DataTable.GetRowCount
Example:
rowcount = DataTable.GetSheet("MySheet").GetRowCount 
Reporter.ReportEvent 2, "There are " &rowcount, "rows in the data sheet." 

GetSheet Method
Returns the specified sheet from the run-time Data Table 

Syntax
DataTable.GetSheet(SheetID)
Example
MyParam=DataTable.GetSheet ("MySheet").AddParameter("Time", "8:00") 

GetSheetCount Method
Returns the total number of sheets in the run-time Data Table 

Syntax
DataTable.GetSheetCount
Example
Sheetcount = DataTable.GetSheetCount

Import Method
Imports the specified Microsoft Excel file to the run-time Data Table. 

Syntax
DataTable.Import(FileName)
Example
DataTable.Import ("C:\flights.xls") 

ImportSheet Method
Imports a sheet of a specified file to a specified sheet in the run-time Data Table. 
The data in the imported sheet replaces the data in the destination sheet
Syntax
DataTable.ImportSheet(FileName, SheetSource, SheetDest)
Example:
DataTable.ImportSheet "C:\name.xls" ,1 ,"name" 

SetCurrentRow Method
Sets the specified row as the current (active) row in the run-time Data Table. 
Syntax
DataTable.SetCurrentRow(RowNumber)
Example
DataTable.SetCurrentRow (2) 

SetNextRow Method
Sets the row after the current (active) row as the new current row in the run-time Data Table.
Syntax
DataTable.SetNextRow 
Example
DataTable.SetNextRow 

SetPreRow Method
Sets the row above the current (active) row as the new current (active) row in the run-time Data Table. 

Syntax
DataTable.SetPrevRow 
Example
DataTable.SetPrevRow 

Data Table Properties

GlobalSheetProperties
RawValueProperties
LocalSheetProperties


GlobalSheet Properties
Returns the first sheet in the run-time Data Table

Syntax
DataTable.GlobalSheet 
Example
ParamValue=DataTable.GlobalSheet.AddParameter("Time", "5:45") 

LocalSheet Properties
Returns the current (active) local sheet of the run-time Data Table. 

Syntax:
DataTable.LocalSheet 
Example
MyParam=DataTable.LocalSheet.AddParameter("Time", "5:45") 

RawValue Property
Retrieves the raw value of the cell in the specified parameter and the current row of the run-time Data Table

Syntax
DataTable.RawValue ParameterID [, SheetID]
Example
FormulaVal=DataTable.RawValue ("Date","ActionA") 

Value Property


This is a DataTable’s default property. It retrieves or sets the value of the cell in the specified parameter and the current row of the run-time Data Table

Syntax
DataTable.Value(ParameterID[,SheetID]) = NewValue
Example
DataTable.Value(“Destination”,”ActionA”) = “New York”

Name Property

Returns the name of the run-time data sheet

Syntax
DTSheet.Name
Example
SheetName = DataTable.LocalSheet.Name