Project 1 - V&V SW Analysis - I
Abinaya Batch
Verification
Software Engineering standard IEEE-STD-610 defines verification as:
“A test of a system to prove that it meets all its specified requirements at a particular stage of its development.”
Verification is done to check "are we built product right?” Developer verifies the code or product met Stakeholder's specification and working properly. Developer take all actions to build the desired product, like going through the specification documents, ensuring it complies with the code logic, checking code reviews, doing narrow inspections, design analysis, walk-through, static testing, etc. verification is done initial stage of development and whenever found error/bug fixed then and there. The complete product depends on quality specification input and output function only. The product is approved and satisfies production and development team.
Validation
Software Engineering standard IEEE-STD-610 defines validation as:
“An activity that ensures that an end product stakeholder’s true needs and expectations are met.”
Validation is also done by software tester to check "are we built right product?”. Tester validates the product only when product is complete. Validation is done to found stakeholder's need or End-user expectation. Validation is generally carried out using regression testing, user testing, performance testing, unit testing, Integration testing etc. In validation any error or bug, new changes in code can be implemented by developer with help of tester. The product is approved only by stakeholders. Mostly validation is done by End-User feedback.
SDLC….(SOFTWARE DEVELOPMENT LIFE CYCLE)
The SDLC is a process used by the software industry to design, develop and test high quality software. The SDLC aims to produce a high-quality software that meets or exceeds customer expectations, reaches completion within times and cost estimates

- Planning:
In this stage, actual requirement of project is collected by sale & marketing team and analyse risk involvement in the project. To plan the basic project approach and to conduct product feasibility study in the economical, operational and technical areas.
Planning for the quality assurance requirements and identification of the risks associated with the project is also done in the planning stage. The outcome of the technical feasibility study is to define the various technical approaches that can be followed to implement the project successfully with minimum risks.
- Defining:
In this stage, clearly define and document the product requirement and get approval from customer. This is done through an Software Requirement Specification (SRS) document.
- Designing:
Based on the requirements specified in SRS, usually more than one design approach for the product architecture is proposed and documented in a DDS - Design Document Specification.
This DDS is reviewed by all the important stakeholders and based on various parameters as risk assessment, product robustness, design modularity, budget and time constraints, the best design approach is selected for the product.
- Building:
In this stage of SDLC the actual development starts and the product is built. The programming code is generated as per DDS during this stage. If the design is performed in a detailed and organized manner, code generation can be accomplished without much hassle.
Developers must follow the coding guidelines defined by their organization and programming tools like compilers, interpreters, debuggers, etc. are used to generate the code. Different high level programming languages such as C, C++, Pascal, Java and PHP are used for coding. The programming language is chosen with respect to the type of software being developed.
- Testing:
This stage is usually a subset of all the stages as in the modern SDLC models, the testing activities are mostly involved in all the stages of SDLC. However, this stage refers to the testing only stage of the product where product defects are reported, tracked, fixed and retested, until the product reaches the quality standards defined in the SRS.
- Deployment:
Once the product is tested and ready to be deployed it is released formally in the appropriate market. Sometimes product deployment happens in stages as per the business strategy of that organization. The product may first be released in a limited segment and tested in the real business environment (UAT- User acceptance testing).
Then based on the feedback, the product may be released as it is or with suggested enhancements in the targeting market segment. After the product is released in the market, its maintenance is done for the existing customer base.
Software Testing Life cycle(STLC)
The Software Testing Life Cycle (STLC) is a systematic approach to testing a software application to ensure that it meets the requirements and is free of defects. It is a process that follows a series of steps or phases, and each phase has specific objectives and deliverables. The STLC is used to ensure that the software is of high quality, reliable, and meets the needs of the end-users.
The main goal of the STLC is to identify and document any defects or issues in the software application as early as possible in the development process. This allows for issues to be addressed and resolved before the software is released to the public.
The stages of the STLC include Test Planning, Test Analysis, Test Design, Test Environment Setup, Test Execution, Test Closure, and Defect Retesting. Each of these stages includes specific activities and deliverables that help to ensure that the software is thoroughly tested and meets the requirements of the end users.
Overall, the STLC is an important process that helps to ensure the quality of software applications and provides a systematic approach to testing. It allows organizations to release high-quality software that meets the needs of their customers, ultimately leading to customer satisfaction and business success.
Method of Testing
- Black box testing: without looking into the internal implementation of the structures of the system.
- White box testing: Testing any embedded prototypes which is designed to debug the software inside…(What is happening inside is known the user)
- Unit testing: Single component or piece of code is tested
- Regression/Integration testing: It is used in agile model where initial stage is developed and done unit testing & integration testing is done. With that next model/advancement developed and done testing.
Kindly find attached Excel sheet for SW testing Before & After.