what exactly are the techniques of software verification & validation

33
What Exactly are the Techniques of Software Verification and Validation www.softwaretestinggenius.com A Storehouse of Vast Knowledge on Software Testing and Quality Assurance

Upload: yogindernath-gupta

Post on 02-Feb-2015

18.883 views

Category:

Technology


3 download

DESCRIPTION

This Presentation describes the Ins and Outs of Verification and Validation Techniques Practiced by the Software Industry

TRANSCRIPT

Page 1: What Exactly are the Techniques of Software Verification & Validation

What Exactly are the Techniques of

Software Verification and Validation

www.softwaretestinggenius.com

A Storehouse of Vast Knowledge on Software Testing and Quality Assurance

Page 2: What Exactly are the Techniques of Software Verification & Validation

Areas Covered

Software Verification and Validation

When Combined Together Are Abbreviated as V & V

>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<

Page 3: What Exactly are the Techniques of Software Verification & Validation

What does these Two Provide

Verification Ensures that:

Every Step in the Process of Building

the Software Delivers the Correct Product

Validation Ensures that:

Software Being Developed or Changed

Satisfies Functional and All Other

Requirements

>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<

Page 4: What Exactly are the Techniques of Software Verification & Validation

What Kind of Verification

Do we Have ?

Firstly Let Us Understand

>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<

Page 5: What Exactly are the Techniques of Software Verification & Validation

Major Categories of Verification

• Dynamic Testing

• Static Testing

There are Two Major Categories of Verification Testing:

>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<

Page 6: What Exactly are the Techniques of Software Verification & Validation

Dynamic Testing

Firstly Let Us Go Deeper Into

>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<

Page 7: What Exactly are the Techniques of Software Verification & Validation

Dynamic Testing - A Type of Verification

• Involves Execution of a System or Component

• Selection of a Group of Test Cases Consisting of Test Data

• Finding out Output Test Results out of Input Test Cases

What Does Dynamic Testing Do ?

>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<

Page 8: What Exactly are the Techniques of Software Verification & Validation

Dynamic Testing - A Type of Verification

• Functional Testing

• Structural Testing

• Random Testing

Sub Categories of Dynamic Testing

>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<

Page 9: What Exactly are the Techniques of Software Verification & Validation

Sub Categories Dynamic Testing

• Involves Identification & Testing of all Functions of the System as Defined in Basic Requirements Documents

• It is a Black Box Testing Not Expecting that the Tester should have any Knowledge of the Basic Code & Implementation of the System

Functional Testing: A Type of Dynamic Testing

Contd.…..

>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<

Page 10: What Exactly are the Techniques of Software Verification & Validation

Sub Categories Dynamic Testing

• It uses Test Cases Designed to Investigate Certain Feature of the System

Functional Testing: A Type of Dynamic Testing

>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<

Page 11: What Exactly are the Techniques of Software Verification & Validation

Sub Categories Dynamic Testing

• It is a White Box Testing Expecting Full knowledge of the Implementation of the System

• Information of the Internal Structure of the System is Used to Design Tests for Checking the Function of Individual Components

Structural Testing: A Type of Dynamic Testing

Contd.…..

>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<

Page 12: What Exactly are the Techniques of Software Verification & Validation

Sub Categories Dynamic Testing

• Like Functional Testing, it also uses Test Cases Designed to Investigate Certain Feature of the System

Structural Testing: A Type of Dynamic Testing

>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<

Page 13: What Exactly are the Techniques of Software Verification & Validation

Sub Categories Dynamic Testing

• Uses Free Selection of Test Cases out of a set of All Possible Test Cases

• Uses Randomly Decided to Detect Faults which Go Undetected by Other Systematic Testing Techniques

Random Testing: A Type of Dynamic Testing

Contd.…..

>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<

Page 14: What Exactly are the Techniques of Software Verification & Validation

Sub Categories Dynamic Testing

• Exhaustive Testing is a Form of Random Testing, Involving Input Test Cases having Every Possible Set of Input Values

• Although We do Exhaustive Testing at Every Stage of Life Cycle, Complete Verification of the System, is not Possible & Realistic

Random Testing: A Type of Dynamic Testing

>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<

Page 15: What Exactly are the Techniques of Software Verification & Validation

Static Testing

Secondly Let Us Go Deeper Into

>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<

Page 16: What Exactly are the Techniques of Software Verification & Validation

• Does not Involve Operation of the System or Component

• Involves Manual as well as Automated Testing Techniques

Attributes of Static Testing

Static Testing - A Type of Verification

>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<

Page 17: What Exactly are the Techniques of Software Verification & Validation

Static Testing - A Type of Verification

• Consistency Techniques

: Meant for Doing Analysis of Consistency

• Measurement Techniques

: Meant for Doing Measurement of Some Property of the Program

Sub Categories of Static Testing

>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<

Page 18: What Exactly are the Techniques of Software Verification & Validation

Static Testing - A Type of Verification

Ensures Correctness of Program Properties Like:

# Correct Syntax

# Correct Parameter Matching Between Procedures

Consistency Techniques of Static Testing

Contd.…..

>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<

Page 19: What Exactly are the Techniques of Software Verification & Validation

Static Testing - A Type of Verification

Ensures Correctness of Program Properties Like:

# Correct Typing

# Correct Requirements and Translation of Specifications

Consistency Techniques of Static Testing

>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<

Page 20: What Exactly are the Techniques of Software Verification & Validation

Static Testing - A Type of Verification

Measures the System Properties Like:

# Being Error Prone

# Being Understandable

# Being Well Structured

Measurement Techniques of Static Testing

>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<

Page 21: What Exactly are the Techniques of Software Verification & Validation

What is All About Validation Testing ?

Secondly Let Us Understand

>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<

Page 22: What Exactly are the Techniques of Software Verification & Validation

When Does Validation Come into Picture

• It Views the Complete System Exactly Opposite of Verification

• It Focuses on Smaller Sub-Systems

Validation comes Into Picture at the End of the Development Cycle

>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<

Page 23: What Exactly are the Techniques of Software Verification & Validation

What are the Techniques of

Validation Testing ?

>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<

Page 24: What Exactly are the Techniques of Software Verification & Validation

Techniques of Validation Testing

• Besides being a Verification Technique it is a Validation Technique as well

• Involves use of Mathematical and Logical Techniques to: Express, Investigate, & Analyze the Specification, Design, Documentation and Behavior of Hardware as well as Software

Formal Methods : A Technique of Validation Testing

>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<

Page 25: What Exactly are the Techniques of Software Verification & Validation

Techniques of Validation Testing

Is an Intentional Activation of Faults by

Either Hardware or Software to Observe

the System Operation under such Faulty

Situations

Fault Injection : A Technique of Validation Testing

>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<

Page 26: What Exactly are the Techniques of Software Verification & Validation

Techniques of Validation Testing

Also known as Physical Fault Injection

since Faults are Injected into the Physical

Hardware

Hardware Fault Injection : A Technique of Validation Testing

>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<

Page 27: What Exactly are the Techniques of Software Verification & Validation

Techniques of Validation Testing

• Involves Injection of Errors into the Computer Memory through some Software Techniques

• It is a sort of a Simulation of Hardware Fault Injection

Software Fault Injection : A Technique of Validation Testing

>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<

Page 28: What Exactly are the Techniques of Software Verification & Validation

Techniques of Validation Testing

Involves Identification of Hazards and

Subsequently Proposing Methods to

Reduce the Risk of the Hazards

Dependency Analysis : A Technique of Validation Testing

>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<

Page 29: What Exactly are the Techniques of Software Verification & Validation

Techniques of Validation Testing

Involves using Instructions to Identify

Hazards, Their Root Causes, and Possible

Countermeasures

Hazard Analysis : A Technique of Validation Testing

>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<

Page 30: What Exactly are the Techniques of Software Verification & Validation

Techniques of Validation Testing

Goes Beyond Hazard Analysis by

Identifying the Possible Consequences of

Each Hazard and Their Probability of

Occurrence

Risk Analysis : A Technique of Validation Testing

>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<

Page 31: What Exactly are the Techniques of Software Verification & Validation

Pros & Cons of Verification & Validation

• Verification and Validation are Quite Time Consuming Processes

• They Involve Planning from the Beginning, the Development of Test Cases, Actual Testing, and Analysis of Testing Results

• Best Practice is to have Persons Dedicated to V & V and made to operate with the Designers

>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<

Page 32: What Exactly are the Techniques of Software Verification & Validation

Multiple Quiz Interview Questions as used by Several MNC’s to Evaluate New Testers and

Hundreds of Interview Preparation Questions on Quicktest Professional

www.softwaretestinggenius.com

A Storehouse of Vast Knowledge on Software Testing and Quality Assurance

>>>>>>>>>>>>>>>>>>>>> www.softwaretestinggenius.com <<<<<<<<<<<<<<<<<<<<<

Page 33: What Exactly are the Techniques of Software Verification & Validation

Thank You