Sie sind auf Seite 1von 10

Unit -2

Chapter-2 Verification and Validation


1 Verification and Validation Activities
1) How we can understand verification and validation activities?

A) We can understand the verification and validation activities with the help of a diagram which contains
various phases of SDLC as shown below.

1)Requirement gathering 2) Requirement specification/ objectives 3) Functional Design/ High level


Design 4) Internal Design or Low Level Design 5) Coding.

2) Diagram

3) Explain requirement gathering phase ? (translation , wont include technicalities)

A) This is the phase where needs of the customer are gathered and translated into a written set of
requirements. These requirements are prepared from the users point of view and wont include any
technicalities.

1
4) Explain requirement specification and objectives phase? ( developers terminology, SRS preparation)

A) This is the phase where Software Requirement Specification document i.e SRS is prepared and this
document contains technicalities w.r.t the developer.

5) Explain functional design or high level design phase?


1) Functional design:
it is a process of translating the users requirements into a set of external interfaces.
2) What is prepared in functional design or HLD? (software system architecture)
A) in functional design the software system architecture is prepared and broken into independent
modules.
3) What a HLD document contains at macro level?
A) a HLD document consists of the following
1) The overall architecture diagrams along with technology details
2) List of modules
3) Brief functionality of each module
4) Functionalities of the overall system with the set of external interfaces
5) Interface relationship among modules.

Explain Internal Design or Low Level design phase


1) What is the problem with HLD? ( cant be given to programmers for coding)
A) Since the High Level Design document provides the macro level details of a system, an HLD
document cant be given to programmers for coding.
2) What is a LowLevel Design document ?( describes each module elaborately)
A)It is a micro level design document which describes each and every module in an elaborate manner,
so the programmers can directly code the program based on the low level design document. There may
be at least one separate document for each module.

Explain the Coding Phase


1) When the coding becomes easy?
A) Once a low level design document is prepared for every module, then it is easy to code the module
2) When verification is done?
A) Verification is done at each and every phase of SDLC
3) What a tester prepares at verification phase?
A) A tester prepares test plans during verification activities performed in each step at every phase and
can use these documents in validation activities performed after coding the system. These test plans are
prepared at every SDLC phase.

When the coding is over for a unit or a system, and parallel verification activities have been performed,
then the system can be validated. These are executed with the help of test plans prepared by the testers
at every phase of SDLC.

2
Diagram
Tester performs verification and prepares test plan during every SDLC phase

3
V&V diagram

3.2 Verification

1) What is verification ? ( set of activities)


A) Verification can be defined as a set of activities that ensures the correct implementation of a specific
function of software.
2) Need for verification? (Exposing errors, decreasing cost, assuring quality)
A) We know that verification should be done after each and every phase of SDLC because of the
following reasons
1) More and more number of errors can be exposed with the help of verification
2) With early verification the cost to fix the errors will be reduced.
3) Early verification enhances the quality of software

3) Every thing must be verified?


A) All the phases of SDLC and all the products of these processes must be verified

4) Results of verification may not be binary?


A) Here binary means two i.e verification may not assure always that a product may be rejected or
accepted after doing verification in fact verification accepts approximations. For example some times the
correctness of a requirement cannot be accepted or rejected outright but can be accepted with a degree
of satisfaction or can be rejected with a degree of modification.

5) Implicit qualities must be verified?


A) In general the qualities of a software are explicitly mentioned in SRS , but those requirements which
are implicit and not mentioned any where must also be verified.
6) What are various verification activities that can be performed?
A) The following are various verification activities that can be performed.

4
1) Verification of requirements and objectives
2) Verification of High Level Design
3) Verification of Low Level Design
4) Verification of Coding.

3.3 Verfication of Requirements


1) What is verified here? (all the requirements gathered )
A) Here all the requirements gathered from users point of view are verified
2) What is prepared here? (Here acceptance criterion is prepared)
A) In this phase an acceptance criterion is prepared which defines the goals and requirements of the
proposed system and acceptance limits for each of the goals and requirements.
3) Where these acceptance criteria matters? (in real time systems)
A) The acceptance criteria matter the most in case of real time systems where performance is a critical
issue in certain events.
4)Give an example for such a real time system? ( has to take a decision for a weapon)
A) If a real time system has to process and take decision for a weapon within in x seconds then any
performance below this would lead to rejection of the system.
5) What are the tasks of a tester during the verification of requirements phase? ( acceptance testplan,
reviewing acceptance criteria)
A) The following are the various tasks of a tester
1) The tester prepares the Acceptance Plan which is referred at the time of acceptance testing
2) The tester reviews the acceptance criteria in terms of its completeness , clarity and testability.

3.3.1 Verification of objectives


1) When objectives are prepared? (after gathering requirements)
A) After gathering the requirements specific objectives are prepared in terms of a document called
software requirement specification (SRS).

2) What are the tasks performed by the tester? (verifies all the objectives of SRS, System test plan)
A) The following are the various tasks performed by the tester
1) The tester verifies all the objectives mentioned in SRS , to ensure that the users needs are properly
understood before proceeding with the project.

2) The tester also prepares the System Test Plan which is based on SRS. This plan will be referenced at
the time of System Testing.

3) what are the factors considered by the tester in verifying requirements and objectives? ( functional
and non functional requirements)
A) In verifying requirements and objectives the tester must consider both the functional and non
functional requirements , functional requirements may be east to comprehend where as non functional
requirements pose a challenge to tester in terms of understanding , quantifying ,test planning and test
execution.

5
How to verify Requirements and Objectives

Introduction
1)Highly potential? ( detecting bugs)
A) Requirements and objectives verification will have a high potential of detecting bugs.
2)when we say that SRS is verified? ( when all the requirements are verified)
A)We can say that an SRS document is verified if and only if all the requirements specified in the SRS
document can be verified.
3)when we say that a requirement is verified? ( we have some procedure to check that
software meets its requirement)
A)A requirement can be verified if and only if there is some procedure to check that the software meets
its requirement.

4) how the requirements are specified? ( quantification manner)


A) Requirements are specified in quantification manner , it means that ambiguous statements or
language like good quality , usually,mayhappen should be avoided

5) Example of such a verifiable statement?


A) Module X will produce output within 15secs of its execution.

6) What are the various factors considered in verifying each requirement of SRS?
A) The following are the various factors considered in verifying requirements
1)Correctness 2)Completeness 3)Consistent 4)Unambiguous 5)Updation 6)Traceability

Verification of High Level Design


1) What is addressed here? ( all the requirements in SRS)
A) All the requirements specified in the SRS document will be addressed in this phase and work in the
direction of designing the solution.

2) What is the document prepared in this phase? (SDD)


A) The software design document is prepared in this phase.

3) What are the activities performed by the tester in this phase?


A) The following are the activities performed by the tester in this phase
1) Tester prepares two types of test plans like function test plan which will be used at the time of
functionality testing and integration test plan which will be used at the time of integration testing.
2) Since the system consists of several components or subsystems, the tester should verify the
functionality of these components. The tester verifies that all the components and their interfaces are in
tune with the requirements of the user.

How to verify High-Level Design


1) Importance of SDD? ( used for verification of design)
A) Here the Software Design Document is used for verifying the High Level Design

2) Classification of High Level Design? (Architectural Interface Data)


A) High level design can be classified into three parts
1) Data Design 2) Architectural Design 3) Interface Design

6
1.Data Design
1) What it creates? ( a model of data)
A) It creates a model of data or information that is represented at the High Level of abstraction.

2) How data is manipulated? (data structures, algorithms)


A) Here the data is manipulated by using Data Structures and their associated algorithms.

Verification of Data Design (size of data structures, overflow, data usage, dataformats, relationships,
databases and data ware houses)
1) Check whether the sizes of the data structure have been estimated approximately
2) Check the provisions of overflow in a data structure
3) Check the consistency of data formats with the requirements
4) Check the consistency of data usage with its declaration
5) Check the consistency of data bases and data warehouses with the requirements specified in SRS.
6) Check the relationships among data objects

Architectural Design
1) What the architectural design focuses on? (Structure, properties, interaction of components)
A) The architectural design focuses on 1) structure of components 2) properties of components 3)
interactions of components

Verification of Architectural Design (functional requirement, exception handling, functionality of each


module, interdependence and interface between modules, cohesion and coupling)
1) Check whether there exists a design for each and every functional requirement specified in SRS
2) Check the functionality of each module according to the requirements specified
3) Check whether all the exception handling conditions have been taken care of
4) Check the inter-dependence and interface between the modules
5) Check for the low Module Coupling and high Module Cohesion

Interface Design
1)what are the various types of interfaces ? ( user-system, system-external entity,between module)
A) The following are the various types of interfaces that can be seen
1) Interfaces between a user and a software system
2) Interfaces between a system and an external entity
3) Interfaces between various modules

Verification of User-Interface Design (response time,help facility,errormessages)


1) Check all the interfaces between a user and a system
2) Check all the interfaces between a system and external entities
3) Check all the interfaces between the software modules are according to the architectural design
4) Check all the above interfaces for their consistency
5)Check the response time for all the interfaces are within required ranges
6) Check for help facility i.e representation of help in its desired manner,user returns to the normal
interaction from help
7) Check for error messages and warnings i.e whether the message clarifies the problem,whether the
message provides constructive advice for recovery from error
8) Check the mapping between every menu option and their corresponding commands

7
Validation
1) Define Validation?
A) Validation can be defined as set of activities that ensure the correct implementation of specific
functionality of a software

2) What is the need for validation ? ( last chance to uncover bugs, enhance quality, matching
between actual behavior and the desired behavior , whether
the product satisfies users requirements)
A) Even though the verification is done at each and every phase of SDLC but we still need to do
validation of the product because of the following reasons
1) Validation gives a last chance to discover bugs
2) To check whether the desired behavior of the product matches with the expected behavior
3)To enhance the quality of the software
4)To check whether the product satisfies the users requirements that are specified in SRS

Validation Activities
1) Classification of validation activities ? ( test plan and test execution )
A) Validation activities are classified into two types 1) validation test plan 2) validation test execution

Validation test plan


1) When a validation test plan starts ? (as soon as the first output of SDLC is prepared i.e SRS is
prepared)
A) The validation test plan starts as soon as the first output of SDLC i.e SRS is prepared

2) What a tester perform at each phase of SDLC ? (verification and validation test plan)
A) At each and every phase of SDLC a tester performs two activities 1)verification 2) corresponding
validation test plan

3) What are the factors considered by the tester to prepare a validation test plan? (understanding the
current phase, studying the relevant docs)
A)In order to prepare a validation test plan a tester has to consider the following
1)He has to understand the concurrent phase of SDLC for which validation test plan needs to be
prepared
2)he need to study the relevant documents of that SDLC phase

Depending on the above two factors a tester can prepare a validation test plan

4)what are the various test plans prepared by a tester during SDLC phases? (Acceptance, system,
functional and integration, unit test plan)
A) The following are the various validation test plan prepared by the tester during various phases of SDLC
1)Acceptance Test plan
This plan is prepared during the requirement gathering phase according to the acceptance criteria
prepared from the user feed back, it is used at the time of acceptance testing
2) System Test plan
A) This plan is prepared by the tester during the Requirement Specification and objectives phase, and it
is used at the time of System Testing,Here test cases are designed to check how a complete integrated
system will work in different conditions.
3) Function Test plan

8
This plan is prepared by the tester during the High Level Design phase of SDLC and this test plan is used
by the tester at the time of function testing. Here test cases are designed such that all the interfaces and
every functionality can be tested.

4)Integration Test plan


This plan is prepared by the tester during the High Level design phase of SDLC and is used by the tester
at the time of integration testing.This test plan is used to validate the integration of all the modules and
also their interdependencies.

5)Unit test plan


A) This plan is prepared by the tester during the Lowlevel Design phase of SDLC and it is used by the
tester at the time of unit testing. This plan is used to check the functionality of each and every individual
module separately.

Validation test execution


1)Classification (unit testing,integration testing,function testing ,systemtesting,acceptance testing)
A) Validation test execution can be classified into the following testing activities
1) Unit testing 2) Integration testing 3) function testing 4) System testing 5) acceptance testing

Unit validation testing


1)Define unit testing ? ( process of testing the individual components of a system)
A)A unit testing is the process of testing the individual components of a system

2)Basic Building block ?( one unit or module)


A)One unit or one module is treated as the basic building block of the whole software that can be tested
for all its functionalities and interfaces.

3)first validation activity? (after coding)


A)unit testing is the first validation activity after the coding of one module is over.

4)what are the motivation behind the unit testing? ( developer attention, easy debugging,parallelism)
A)
1)Developers attention
Since the developers attention will be on building a smaller block of software , it is quite normal to test
the unit first
2)easy debugging
If the whole software is tested once , then it is very difficult to trace the bug, thus debugging becomes
easy with unit testing.
3)parallelism
In large scale projects a number of modules may be there and each module may be composed of tens of
thousands of lines of code. In such a case it is not possible for a single developer to develop all the
modules. There is a team of developers working on separate modules. Some times some modules are
sent to other organizations for development. This requires parallelism in software development. If we
did not have the concept of module, this type of parallelism would not have existed.

9
10

Das könnte Ihnen auch gefallen