This document discusses software evolution, verification, and validation. It defines software evolution as the process of developing software and updating it over time for reasons like adding new features or removing obsolete functionality. Verification ensures the product is developed correctly by checking requirements, design, and code, while validation ensures the right product is built by testing it meets specifications and customer needs. The key difference is that verification checks the development process, while validation checks the final product.
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.
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.