What is Verification & Validation?
Verification
and Validation are the basic ingredients of Software Quality Assurance (SQA) activities.
“Verification” checks whether we are building the right system, and
“Validation” checks whether we are building the system right.
1. Verification Strategies comprise of the
following:
- Requirements Review .
- Design Review .
- Code Walkthrough.
- Code Inspections.
Verification Strategy
|
Performed By
|
Explanation
|
Deliverable
|
||
Requirements Reviews
|
Users, Developers, Test Engineers.
|
Requirement Review’s help in base lining desired requirements to
build a system.
|
Reviewed and approved statement of requirements.
|
||
Design Reviews
|
Designers, Test Engineers
|
Design Reviews help in validating if the design meets the
requirements and build an effective
system.
|
System Design Document, Hardware Design Document.
|
||
Code Walkthroughs
|
Developers, Subject Specialists, Test Engineers.
|
Code Walkthroughs help in analyzing the coding techniques and if
the code is
meeting the coding standards
|
Software ready for initial testing by the developer.
|
||
Code Inspections
|
Developers,
Subject Specialists,
Test Engineers.
|
Formal analysis of
the program source
code to find defects
as defined by
meeting system
design specification.
|
Software ready for
testing by the
testing team.
|
||
2. Validation Strategies comprise of the
following:
Unit Testing.
Integration Testing.
System Testing.
Performance Testing.
Alpha Testing.
User Acceptance Testing (UAT).
Installation Testing.
Beta Testing.
Validation
Strategy
|
Performed By
|
Explanation
|
Deliverable
|
Unit Testing.
|
Developers / Test
Engineers
|
Testing of single
program, modules,
or unit of code.
|
Software unit ready for testing
with other system component.
|
Integration Testing.
|
Test Engineers
|
Testing of integrated
programs, modules,
or units of code.
|
Portions of the
system ready for
testing with other portions of the system.
|
System Testing.
|
Test Engineers
|
Testing of entire
computer system.
This kind of testing
usually includes functional and
structural testing.
|
Tested computer
system, based on
what was specified
to be developed.
|
User Acceptance Testing.
|
Users
|
Testing of computer system to make sure it will work in the
system regardless of what the system requirements indicate.
|
Tested and accepted system based on the user
needs.
|
Installation Testing.
|
Test Engineers
|
Testing of the Computer System during the Installation at the
user place.
|
Successfully installed application.
|
TESTING TECHNIQUES
Testing techniques refers to the different
methodologies used in different levels of testing a software application. They
are classified as under:
1. WHITE BOX TESTING TECHNIQUES
White box testing deals with testing the
internal logic and structure of the program. It is done to look in the code and
find out which part of the code is not functioning and whether it was built
according to the specified design. Tests are based on coverage of code
statements, branches, paths and conditions.
White box testing is also called as glass,
structural, open box or clear box testing.
Statement
Coverage:
In this type of testing the code is executed
in a manner that every statement of the application is executed at least once.
Decision
Coverage:
In this type of testing the code is executed
in each decision direction at least once.
Condition
Coverage:
In this type of testing the code is executed
in each decision with all possible outcomes at least once.
2. BLACK BOX TESTING TECHNIQUES
Black box testing deals with testing the
functionality of the program or application against the given specifications.
Logic of the program is not required here so the application is tested against
the given specifications only. The application is tested with various inputs
and the outputs received determine whether it is functioning correctly or not.
Thus only the behavior of the application is tested.
Black box testing is also called as
behavioral, functional testing.
The inputs given to the application is
determined using various techniques as follows.
Equivalence
Partitioning:
Equivalence partitioning is a black box
testing technique that splits the input domain of a program into classes of
data from which test cases can be produced. The test data is
divided/partitioned into equivalent classes depending on the input condition.
An equivalence class shows a set of valid or invalid states for the input
condition.
For example, an application in which credit
limits is given in the range Rs.1000 – Rs.2500 then the equivalence classes
would be
- Less than Rs.1000 (invalid)
- Between Rs.1000 and Rs.2500 (valid)
- Greater than Rs.2500 (invalid)
Boundary
Value Analysis:
It is a black box testing technique that
splits the input domain into classes of data along its boundaries and generates
test cases for the boundary values. These values are generated in the following
manner.
- Lower Boundary + 1, Lower Boundary – 1
- Lower Boundary, Upper Boundary
- Upper Boundary + 1, Upper Boundary – 1
For example, for the same
condition of credit limits as in Equivalence Partitioning method (Rs.1000 – Rs.2500), the boundary value analysis would be
- Rs.999, Rs.1001
- Rs.1000, Rs.2500
- Rs.2499, Rs.2501
Error Guessing:
It is a test data selection
technique in which the Test Engineer picks values that seem likely to cause
errors.
For example, he may test for an
invalid date field like 29/2/2007. An experienced Test Engineer mostly uses
such a technique.
No comments:
Post a Comment
If any suggestions or issue, please provide