You are on page 1of 12

What is Verification Testing ?

Verification is the process of checking that a software achieves


its goal without any bugs.
It is the process to ensure whether the product that is developed
is right or not.
the reviewing of a document can be done from the first phase of
software development i.e. software requirement and analysis phase
where the end product is the SRS document.
Verification is Static Testing.
Advantages:
You can expect some good results without spending any significant
resources.
It is very efficient and significant in its nature.
It may help us to find potential faults.
It may also be used for sharing documents with others.
It can be very effective for finding potential faults or problems in the
documents like SRS, SDD, etc.
The critical inspections may also help in finding faults and improve these
documents which can in preventing the propagation of a fault in the
software development life cycle process
Disadvantages:
Lead to bad results if the reviewer doesn’t have sufficient knowledge.
They take time and require discipline.
It requires more cost and also needs skilled testers.
The author may hide some critical areas and unnecessarily emphasize
some specific areas of his / her interest.
Peer Reviews –
The very easiest method and informal way of reviewing the
documents or the programs/software for the purpose of finding
out the faults during the verification process is the peer-review
method.
In this method, we give the document or software programs to
others and ask them to review those documents or software
programs where we expect their views about the quality of our
product and also expect them to find the faults in the
program/document.
The activities that are involved in this method may include SRS
document verification, SDD verification, and program
verification.
In this method, the reviewers may also prepare a short report
on their observations or findings, etc.
Advantages:
You can expect some good results without spending any
significant resources.
It is very efficient and significant in its nature.
Walk-through –
Walk-throughs are the formal and very systematic type of
verification method as compared to peer-review.
In a walkthrough, the author of the software document presents
the document to other persons which can range from 2 to 7.
Participants are not expected to prepare anything.
The presenter is responsible for preparing the meeting. The
document(s) is/are distributed to all participants. At the time of
the meeting of the walk-through, the author introduces the
content in order to make them familiar with it and all the
participants are free to ask their doubts.
Advantages:
It may help us to find potential faults.
It may also be used for sharing documents with others.
Disadvantages:
The author may hide some critical areas and unnecessarily
emphasize some specific areas of his / her interest.
Inspections
Inspections are the most structured and most formal type of verification
method and are commonly known as inspections.
A team of three to six participants is constituted which is led by an
impartial moderator.
Every person in the group participates openly, actively, and follows the
rules about how such a review is to be conducted.
Everyone may get time to express their views, potential faults, and
critical areas.
After the meeting, a final report is prepared after incorporating necessary
suggestions by the moderator.
Advantages:
It can be very effective for finding potential faults or problems in the
documents like SRS, SDD, etc.
The critical inspections may also help in finding faults and improve these
documents which can in preventing the propagation of a fault in the
software development life cycle process.
Disadvantages:
They take time and require discipline.
It requires more cost and also needs skilled testers.
Requirement Phase Testing
Requirement Phase Testing also known as Requirement Analysis in
which test team studies the requirements from a testing point of view to
identify testable requirements and the QA team may interact with various
stakeholders to understand requirements in detail. Requirements could
be either functional or non-functional. Automation feasibility for the
testing project is also done in this stage.
Activities in Requirement Phase Testing
Identify types of tests to be performed.
Gather details about testing priorities and focus.
Prepare Requirement Traceability Matrix (RTM).
Identify test environment details where testing is supposed to be carried
out.
Automation feasibility analysis (if required).
Deliverables of Requirement Phase Testing
RTM
Automation feasibility report.

Explain testing during the design phase.


The main purpose of the test design process is to structure QA routines so it
becomes easier to keep track of the requirements coverage.
We need test design:
to develop tests that help to detect serious errors;
to take a thoughtful approach to testing and avoid wasting resources;
to minimize the number of tests required to validate the product.
They are strategies that help to write better test cases.
The benefits of using test design techniques is an opportunity to create fewer tests
while ensuring broad requirements coverage.
Software development verification
Activities involved in verification:
1. Inspections:- Inspections are a formal type of review that involves
checking the documents thoroughly before a meeting and is carried out
mostly by moderators. A meeting is then held to review the code and the
design.
2. Reviews:- A review is a systematic examination of a document by
one or more people with the main aim of finding and removing errors
early in the software development life cycle. Reviews are used to verify
documents such as requirements, system designs, code, test plans and
test cases.
3. Walkthroughs:- Walkthrough in software testing is used to review
documents with peers, managers, and fellow team members who are
guided by the author of the document to gather feedback and reach a
consensus. A walkthrough can be pre-planned or organised based on
the
needs.
4. Desk-checking:- A desk check is an informal non-computerized or
manual process for verifying the programming and logic of an algorithm
before the program is launched. A desk check helps programmers to
find
bugs and errors which would prevent the application from functioning
properly.
Software Validation
Validation is the process of checking whether the software product is up
to the mark or in other words product has high level requirements.
It is the process of checking the validation of product i.e. it checks what
we are developing is the right product.
it is validation of actual and expected product.
Validation is the Dynamic Testing
Activities involved in validation:
1. Black box testing:- Black box testing involves testing a system with
no prior knowledge of its internal workings. A tester provides an input,
and observes the output generated by the system under test
2. White box testing:- White box testing is an approach that allows
testers to inspect and verify the inner workings of a software system—its
code, infrastructure, and integrations with external systems.
3. Unit testing:- A unit test is a way of testing a unit - the smallest
piece of code that can be logically isolated in a system. In most
programming languages, that is a function, a subroutine, a method or
property. The isolated part of the definition is important.
4. Integration testing:- Integration testing -- also known as integration
and testing (I&T) -- is a type of software testing in which the different
units, modules or components of a software application are tested as a
combined entity. However, these modules may be coded by different
programmers.
Acceptance Testing
Acceptance Testing is a method of software testing where a system is
tested for acceptability.
The major aim of this test is to evaluate the compliance of the system
with the business requirements and assess whether it is acceptable for
delivery or not
It is a formal testing according to user needs, requirements and business
processes conducted to determine whether a system satisfies the
acceptance criteria or not.
Acceptance Testing is the last phase of software testing performed after
System Testing and before making the system available for actual use.
User Acceptance Testing (UAT):
User acceptance testing is used to determine whether the product is
working for the user correctly.
This is also termed as End-User Testing.
Business Acceptance Testing (BAT):
BAT is used to determine whether the product meets the business goals
and purposes or not.
BAT mainly focuses on business profits.
Contract Acceptance Testing (CAT):
CAT is a contract that specifies that once the product goes live, within a
predetermined period, the acceptance test must be performed and it
should pass all the acceptance use cases.
The payment will be made to the company by the client only if the
product passed all the acceptance use cases.
Regulations/Compliance Acceptance Testing (RAT):
Regulations Acceptance Testing is also known as Compliance
Acceptance Testing.
RAT is used to determine whether the product violates the rules and
regulations that are defined by the government of the country where it is
being released.
Operational Acceptance Testing (OAT):
OAT is used to determine the operational readiness of the product and is
non-functional testing.
OAT assures the stability of the product before it is released to
production.
Alpha Testing:
Alpha testing is used to determine the product in the development
testing environment by a specialized testers team usually called alpha
testers.
Beta Testing:
Beta testing is used to assess the product by exposing it to the real end-
users, usually called beta testers in their environment.
Feedback is collected from the users and the defects are fixed. Also, this
helps in enhancing the product to give a rich user experience.
SDLC V Model
The V-model is a type of SDLC model where process
executes in a sequential manner in V-shape.
It is also known as Verification and Validation model.
Development of each step directly associated with the
testing phase.
The next phase starts only after completion of the
previous phase i.e. for each development activity, there
is a testing activity corresponding to it.
Verification: It involves static analysis technique (review)
done without executing code.
It is the process of evaluation of the product
development phase to find whether specified
requirements meet.
Validation: It involves dynamic analysis technique
(functional, non-functional), testing done by executing
code.
Validation is the process to evaluate the software after
the completion of the development phase to determine
whether software meets the customer expectations and
requirements.
So V-Model contains Verification phases on one side of
the Validation phases on the other side.
Verification and Validation phases are joined by coding
phase in V-shape. Thus it is called V-Model.

You might also like