SOFTWARE EVOLUTION,
VERIFICATION & VALIDATION
By
M.ARCHANA
II-Msc(CS)
Department of CS & IT
Nadar Saraswathi College of
Arts and Science
THIS INCLUDES:
Software Evolution
The necessity of Software evolution
Laws used for Software Evolution
Introduction to Verification and Validation
Verification testing
Validation testing
Difference between verification and
validation testing
SOFTWARE EVOLUTION:
Software Evolution is a term which refers to the process of
developing software initially, then timely updating it for
various reasons, i.e., to add new features or to remove
obsolete functionalities etc.
The evolution process includes fundamental activities of
change analysis, release planning, system implementation and
releasing a system to customers
THE NECESSITY OF SOFTWARE
EVOLUTION:
Environment change
Errors and bugs
Security risks
LAWS USED FOR SOFTWARE
EVOLUTION:
1. Law of continuing change:
This law states that any software system that
represents some real world reality undergoes
continuous change or become progressively less
useful in that environment.
CONT.,
2. Law of increasing complexity:
As an evolving program changes, its structure becomes more
complex unless effective efforts are made to avoid this
phenomenon.
3. Law of conservation of organization stability:
Over the lifetime of a program, the rate of development of
that program is approximately constant and independent of
the resource devoted to system development
INTRODUCTION:
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?
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.
Note: Verification is followed by Validation
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.
CONT.,
Activities involved in validation:
1. Black box testing
2. White box testing
3. Unit testing
4. Integration testing
VERIFICATION TESTING:
Verification testing includes different activities such as business
requirements, system requirements, design review, and code
walkthrough while developing a product.
It is also known as static testing, where we are ensuring that
"we are developing the right product or not".
And it also checks that the developed application fulfilling all
the requirements given by the client.
VALIDATION TESTING:
Validation testing is testing where tester performed functional
and non-functional testing.
Here functional testing includes Unit Testing (UT),
Integration Testing (IT) and System Testing (ST), and non-
functional testing includes User acceptance testing (UAT).
Validation testing is also known as dynamic testing, where
we are ensuring that "we have developed the product right”.
And it also checks that the software meets the business needs
of the client.
DIFFERENCE BETWEEN VERIFICATION
AND VALIDATION TESTING:
Verification
 We check whether we are developing
the right product or not.
 Verification is also known as static
testing.
 Verification is done before the
validation testing.
Validation
 We check whether the developed
product is right
 Validation is also known as dynamic
testing.
 After verification testing, validation
testing takes place.
CONT.,
Verification
 Verification includes different
methods like Inspections, Reviews,
and Walkthroughs
 It is a process of checking the work-
products (not the final product) of a
development cycle to decide whether
the product meets the specified
requirements
Validation
 Validation includes testing like
functional testing, system testing,
integration, and User acceptance
testing
 It is a process of checking the
software during or at the end of the
development cycle to decide whether
the software follow the specified
business requirements.
CONT.,
Verification
 Quality assurance comes under
verification testing.
 The execution of code does not
happen in the verification testing.
 In verification testing, we can find the
bugs early in the development phase
of the product
Validation
 Quality control comes under
validation testing.
 In validation testing, the execution of
code happens.
 In the validation testing, we can find
those bugs, which are not caught in
the verification process
CONT.,
Verification
 Verification testing is executed by the
Quality assurance team to make sure
that the product is developed
according to customers' requirements
 In this type of testing, we can verify
that the inputs follow the outputs or
not
Validation
 Validation testing is executed by the
testing team to test the application.
 In this type of testing, we can validate
that the user accepts the product or not.
Software evolution and Verification,validation

Software evolution and Verification,validation

  • 1.
    SOFTWARE EVOLUTION, VERIFICATION &VALIDATION By M.ARCHANA II-Msc(CS) Department of CS & IT Nadar Saraswathi College of Arts and Science
  • 2.
    THIS INCLUDES: Software Evolution Thenecessity of Software evolution Laws used for Software Evolution Introduction to Verification and Validation Verification testing Validation testing Difference between verification and validation testing
  • 3.
    SOFTWARE EVOLUTION: Software Evolutionis a term which refers to the process of developing software initially, then timely updating it for various reasons, i.e., to add new features or to remove obsolete functionalities etc. The evolution process includes fundamental activities of change analysis, release planning, system implementation and releasing a system to customers
  • 4.
    THE NECESSITY OFSOFTWARE EVOLUTION: Environment change Errors and bugs Security risks
  • 5.
    LAWS USED FORSOFTWARE EVOLUTION: 1. Law of continuing change: This law states that any software system that represents some real world reality undergoes continuous change or become progressively less useful in that environment.
  • 6.
    CONT., 2. Law ofincreasing complexity: As an evolving program changes, its structure becomes more complex unless effective efforts are made to avoid this phenomenon. 3. Law of conservation of organization stability: Over the lifetime of a program, the rate of development of that program is approximately constant and independent of the resource devoted to system development
  • 8.
    INTRODUCTION: Verification and Validationis 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?
  • 9.
    VERIFICATION: Verification is theprocess 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.
  • 10.
    Note: Verification isfollowed by Validation
  • 11.
    VALIDATION: Validation is theprocess 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.
  • 12.
    CONT., Activities involved invalidation: 1. Black box testing 2. White box testing 3. Unit testing 4. Integration testing
  • 14.
    VERIFICATION TESTING: Verification testingincludes different activities such as business requirements, system requirements, design review, and code walkthrough while developing a product. It is also known as static testing, where we are ensuring that "we are developing the right product or not". And it also checks that the developed application fulfilling all the requirements given by the client.
  • 16.
    VALIDATION TESTING: Validation testingis testing where tester performed functional and non-functional testing. Here functional testing includes Unit Testing (UT), Integration Testing (IT) and System Testing (ST), and non- functional testing includes User acceptance testing (UAT). Validation testing is also known as dynamic testing, where we are ensuring that "we have developed the product right”. And it also checks that the software meets the business needs of the client.
  • 18.
    DIFFERENCE BETWEEN VERIFICATION ANDVALIDATION TESTING: Verification  We check whether we are developing the right product or not.  Verification is also known as static testing.  Verification is done before the validation testing. Validation  We check whether the developed product is right  Validation is also known as dynamic testing.  After verification testing, validation testing takes place.
  • 19.
    CONT., Verification  Verification includesdifferent methods like Inspections, Reviews, and Walkthroughs  It is a process of checking the work- products (not the final product) of a development cycle to decide whether the product meets the specified requirements Validation  Validation includes testing like functional testing, system testing, integration, and User acceptance testing  It is a process of checking the software during or at the end of the development cycle to decide whether the software follow the specified business requirements.
  • 20.
    CONT., Verification  Quality assurancecomes under verification testing.  The execution of code does not happen in the verification testing.  In verification testing, we can find the bugs early in the development phase of the product Validation  Quality control comes under validation testing.  In validation testing, the execution of code happens.  In the validation testing, we can find those bugs, which are not caught in the verification process
  • 21.
    CONT., Verification  Verification testingis executed by the Quality assurance team to make sure that the product is developed according to customers' requirements  In this type of testing, we can verify that the inputs follow the outputs or not Validation  Validation testing is executed by the testing team to test the application.  In this type of testing, we can validate that the user accepts the product or not.