VERIFICATION AN VALIDATION
Verification and Validation is the process of investigating that a software system satisfies
specifications and standards and it fulfills the required purpose. Barry Boehm described
verification and validation as the following:
Verification: Are we building the product, right?
Validation: Are we building the right product?
Major objectives of v and v
Determine whether the software performs its intended functions correctly
Ensure that that it performs no unintended functions
Provide information about the quality and reliability of the software product
Its also an aid in ascertaining whether the software requirements are implemented correctly
and completely and are traceable back to the requirements.
Verification:
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. It verifies whether
the developed product fulfills the requirements that we have.
Verification is Static Testing.
Activities involved in verification:
Inspections:Software inspection is a process in which other developers or team
members review the code written by a developer to identify potential errors or areas
for improvement. This process can help improve the overall quality of the software
by identifying and resolving faults early in the development process.
Reviews : is a systematic inspection of software by one or more individuals who
work together to find and resolve errors and defects in the software during the early
stages of the Software Development Life Cycle (SDLC).
Walkthroughs: Is a method of conducting informal group or individual review. In a
walkthrough the author describes and explains the work product in a formal meeting
to supervisors or peers to get the feedback. It involves the checking the validity
product
Desk-checki is a manual and non-aitumated systematic process of checking and
verifying the logic within the programming, algorithms and code for the existence or
presence of bugs and errors. This process is typically conducted before the release of
the program in order to eliminate issues which have a potential to prevent an
application from functioning appropriately.
Desk checking is generally perfomed by a software engineer through the usage of
manual columns with numerical sequencing or input and output column sequencing.
Its purpose is to evaluate variables through the means of calculations and is
documented using computer programs or a simple pen and paper.
Difference between inspection and walkthrough
Inspection Walkthrough
It is formal. It is informal.
Initiated by project team. Initiated by author.
A group of relevant persons from Usually team members of the same project take
different deparents participate in participation in the walkthrough. Author himself acts
the inspection. walkthrough leader.
Checklist is used to find faults. No checklist is used in the walkthrough.
Inspection processes includes Walkthrough process includes overview, little or no
overview, preparation, inspection, preparation, little or no preparation examination
and rework and follow up. (actual walkthrough meeting), and rework and
follow up.
Formalized procedure in each step. No formalized procedure in the steps.
Inspection takes longer time as list Shorter time is spent on walkthrough as there is no
of items in checklist is tracked to formal checklist used to evaluate program.
completion.
Planned meeting with the fixed Unplanned
roles assigned to all the members
involved.
Reader reads product code. Author reads product code and his teammate comes
Everyone inspects it and comes up up with the defects or suggestions.
with detects.
Recorder records the defects. Author make a note of defects and suggestions
offered by teammate.
Moderator has a role that moderator Informal, so there is no moderator.
making sure that the discussions
proceed on the productive lines.
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:
Black box testing. Black Box Testing method (input values, output values, and expected
output values). This method is used to verify if the actual output of the software meets the
anticipated or expected output.
It is s a type of testing in which only focuses on the outer structure of the implementation
that needs to be tested. the tester does not know the internal functions of the code. Black
box testing is done on the external structure of the system only
Examples
Functional requirements: is a type of Software Testing in which the system is tested
against the functional requirements and specifications. Functional testing ensures that the
application properly satisfies the requirements or specifications.
White box testing. White Box Testing is a method that helps validate the software
application using a predefined series of inputs and data. Here, testers just compare the output
values against the input values to verify if the application is producing output as specified by
the requirements.
Is a soft ware testing techniques which analyze the internal structures the used data
structures, internal design, code structure, and the working of the software rather than just
the functionality as in black box testing
Unit testing: is a software testing technique in which individual units or components of a
software application are tested in isolation. units are the smallest pieces of code, typically
functions or methods, ensuring they perform as expected. helps identify bugs early in
the development cycle, enhance code quality, and reduce the cost of fixing issues later.
Integration testing:is the process of testing the interface between two software units or
modules. It focuses on determining the correctness of the interface. The purpose of
integration testing is to expose faults in the interaction between integrated units
Regression testing Is a software testing technique that ensures the stability and reliability
of a software product. It involves retesting the previously tested functionalities to verify
that recent code changes haven’t adversely affected the existing features.
Non-functional:is a type of Software Testing that is performed to verify the non-
functional requirements of the application. It verifies whether the behavior of the system is
as per the requirement or not. It tests all the aspects that are not tested in functional testing.
Difference between Black Box Testing and White Box Testing
Black Box Testing White Box Testing
Black box testing uses methods like equivalence White box testing uses methods like control flow
partitioning boundary value analysis, and error testing, data flow testing, statement coverage
guessing to create test cases testing
Black Box Testing is a way of software testing in White Box Testing is a way of testing the software
which the internal structure or the program or the in which the tester has knowledge about the
code is hidden and nothing is known about it. internal structure or the code or the program of the
software.
Black box testing does not require any knowledge White box testing requires knowledge of
of the internal workings of the software, and can programming languages, software architecture and
be performed by testers who are not familiar with design patterns
programming languages.
Black box testing is mainly focused on testing the White box testing is mainly focused on ensuring
functionality of the software, ensuring that it that the internal code of the software is correct and
meets the requirements and specifications. efficient.
Black Box Testing is a functional test of the . White Box Testing is a structural test of the
software. software.
It is less exhaustive as compared to white box It is comparatively more exhaustive than black
testing. box testing
Black box testing is generally used for testing the White box testing is used for testing the software
software at the functional level. at the unit level, integration level and system
level.
Implementation of code is not needed for black Code implementation is necessary for white box
box testing. testing.
Black Box Testing is mostly done by software White Box Testing is mostly done by software
testers. developers.
Black Box Testing can be referred to as outer or White Box Testing is the inner or the internal
external software testing. software testing.
Black Box testing can be initiated based on the White Box testing of software is started after a
requirement specifications document. detail design document.
No knowledge of programming is required. It is mandatory to have knowledge of
programming.
Black Box Testing is the behavior testing of the White Box Testing is the logic testing of the
software. software.
Black Box Testing is applicable to the higher White Box Testing is generally applicable to the
levels of testing of software. lower levels of software testing.
Black Box Testing is least time consuming. White Box Testing is most time consuming.
Black Box Testing is also called closed testing. White Box Testing is also called as clear box
testing.
Black Box Testing is not suitable or preferred for White Box Testing is suitable for algorithm
algorithm testing. testing.
Can be done by trial and error ways and methods. Data domains along with inner or internal
boundaries can be better tested.
Search something on google by using keywords By input to check and verify loops
Differences between verification and validation.
Verification Validation
It includes checking documents, design, codes It includes testing and validating the
and programs. actual product.
Verification is the static testing. Validation is the dynamic testing.
It does not include the execution of the code. It includes the execution of the code.
Methods used in verification are reviews, Methods used in validation are Black
walkthroughs, inspections and desk-checking. Box Testing, White Box Testing and
non-functional testing.
It checks whether the software conforms to It checks whether the software meets
specifications or not. the requirements and expectations of a
customer or not.
It can find the bugs in the early stage of the It can only find the bugs that could not
development. be found by the verification process.
The goal of verification is application and The goal of validation is an actual
software architecture and specification. product.
Quality assurance team does verification. and Validation is executed on software
make sure that the software is as per the code with the help of testing team.
requirement in the SRS document.
It comes before validation. It comes after verification.
It consists of checking of documents/files and is It consists of execution of program and
performed by human. is performed by computer.