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.