The document outlines various Software Development Life Cycle (SDLC) models including Waterfall, Spiral, and V Model, detailing their advantages and disadvantages. It also discusses testing methodologies such as Static and Dynamic Testing, along with specific types of testing like Unit, Integration, System, and Acceptance Testing. Each testing type is defined with its purpose, characteristics, and examples to illustrate its application in software development.
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0 ratings0% found this document useful (0 votes)
5 views20 pages
Manual Testing Sobs 2
The document outlines various Software Development Life Cycle (SDLC) models including Waterfall, Spiral, and V Model, detailing their advantages and disadvantages. It also discusses testing methodologies such as Static and Dynamic Testing, along with specific types of testing like Unit, Integration, System, and Acceptance Testing. Each testing type is defined with its purpose, characteristics, and examples to illustrate its application in software development.
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 20
Manual Testing
Software Development Life Cycle
SDLC MODELS SDLC, Software Development Life Cycle is a process used by software industry to design, develop and test software's. • Waterfall Model • Spiral Model • Incremental Model • V Model • Agile Model Waterfall Model The Waterfall Model is a linear and sequential approach to software development, where progress flows downwards like a waterfall through distinct phases. Advantages of Waterfall Model Simple and easy to understand – Best for small projects with clear requirements. Well-documented process – Each phase has structured deliverables, making tracking easier. Good for projects with fixed requirements – Works well when there are no expected changes. Less expensive in early stages – Testers are hired later, reducing initial investment costs. Fewer bugs – Since requirements do not change, chances of defects are minimized. Disadvantages of Waterfall Model Requirement changes are not allowed – Any modifications are difficult and costly. Defects in requirements persist – If an issue is found in the early stages, it continues in later phases, increasing risk. High total investment – Reworking defects in later stages is time- consuming and expensive. Testing starts only after coding – Late defect detection leads to higher debugging costs. Spiral Model / Version Control Model • The Spiral Model is a risk-driven software development methodology that combines iterative development with systematic risk assessment. It is best suited for large, complex, and high-risk projects that require continuous improvements. Advantages of Spiral Model
Testing is done in every cycle, before going to the next cycle.
Customer will get to use the software for every module. Requirement changes are allowed after every cycle before going to the next cycle. Disadvantages of Spiral Model
Requirement changes are NOT allowed in between the cycle.
Every cycle of the Spiral Model looks like the Waterfall Model. There is no testing in the Requirement & Design phase. V Model • The V-Model (Verification and Validation Model) is an extension of the Waterfall Model. It emphasizes the importance of testing at each stage of the software development process. Static Testing • Static Testing refers to the process of evaluating and reviewing software documentation, code, or requirements without executing the program. It involves techniques like reviews, inspections, and walkthroughs to identify defects early in the development cycle. • In simple terms, static testing checks the software's structure and quality through visual inspections rather than running the code. Static Testing Techniques • Review • Walkthrough • Inspections Review • Definition: A review is an informal process where a team or individual examines the software artifacts (e.g., requirements, design, or code) to find defects or improvements. • Participants: Usually involves peers or team members. • Purpose: To ensure the quality of the document or product, check for errors, and improve the overall work. • Example: A team reviewing a software design document to make sure the design is in line with requirements. Walkthrough • Definition: A walkthrough is a more structured process where a developer or author of the document or code leads the team through the material, explaining it step by step. • Participants: The author leads the walkthrough, and team members provide feedback. • Purpose: To explain and discuss the work in detail, uncover any potential issues, and ensure everyone understands the work. • Example: A developer walks the team through a new feature’s code to identify any issues and gather feedback. Inspections • Definition: An inspection is a formal and highly structured process where a team of experts (including the author, testers, and other stakeholders) carefully examine the work to find defects, ensure quality, and improve it. • Participants: A moderator leads the inspection, and other participants check for defects. • Purpose: To identify defects, improve the quality of the document/code, and ensure compliance with standards. • Example: An inspection of the code to ensure it meets coding standards and doesn't contain defects. Dynamic Testing • Dynamic Testing is a type of testing where the software is executed and its behavior is observed during runtime. Unlike static testing, which focuses on reviewing code or documents without executing them, dynamic testing involves running the program to check if it behaves as expected and to identify defects. Dynamic Testing Types Types of Dynamic Testing: 1. Unit Testing: Testing individual components or functions of the software. 2. Integration Testing: Testing interactions between different modules. 3. System Testing: Testing the entire system as a whole. 4. Acceptance Testing: Testing the system to ensure it meets business requirements and is ready for use. Unit Testing Description: Unit testing involves testing individual components or functions of the software in isolation to ensure that each part functions as expected. Purpose: The goal is to validate that each unit (usually a single function or method) of the software performs its intended task correctly. This is typically the first level of testing done. Who performs it: Unit tests are usually written and performed by developers. Key Characteristics: Focuses on small, isolated pieces of code. Verifies that functions or methods produce correct outputs for given inputs. Often automated, making it easy to run tests frequently. Helps in catching defects early in development. Example: If you have a function to add two numbers, a unit test would check if the function correctly adds numbers like 2 + 3 = 5. Integration Testing Description: Integration testing focuses on testing the interaction between different modules or components to ensure they work together as expected. This is done after individual units have been tested. Purpose: The goal is to verify that multiple components, when integrated, function correctly and interact with each other as intended. This may include checking data flow, communication between modules, and overall compatibility. Who performs it: This is typically performed by developers or specialized testers. Key Characteristics: Tests the interfaces between modules or components. Verifies that different parts of the application work together. May be done incrementally (module-by-module) or as a complete integration. It can be done manually or automated. Example: If you have a payment processing system and a user authentication module, integration testing would verify if both modules work correctly together when a user tries to make a payment after logging in. System Testing Description: System testing is the process of testing the entire software system as a whole to ensure that all components and functionalities work together as expected in the full environment. Purpose: The goal is to validate that the software meets the specified requirements and works as a complete system in the intended environment. It covers all aspects of the system, including functionality, performance, security, and usability. Who performs it: Typically performed by QA testers or dedicated testing teams. Key Characteristics: Involves testing the full application, not just individual parts. Tests both functional and non-functional aspects (e.g., performance, security). Ensures that the software is ready for user acceptance testing. Performed in an environment that simulates real-world usage. Example: Testing a web application to ensure that all modules (e.g., user login, data processing, and reports) work as expected when combined. It also includes performance testing and checking for security vulnerabilities. Acceptance Testing Description: Acceptance testing is the final level of testing conducted to ensure that the software meets the business requirements and is ready for deployment or release. It is often the final approval step before a product is delivered to the customer or end users. Purpose: The goal is to verify that the system meets the end-user needs and that it functions correctly in real-world conditions. It is usually conducted from a user's perspective and focuses on how the system will be used in actual scenarios. Who performs it: Typically performed by the end-users, product owners, or a QA team. Key Characteristics: Focuses on testing the system from the user's perspective. Ensures that the software meets business requirements. Can involve a User Acceptance Testing (UAT) phase, where real users test the software. Can include functional testing, performance testing, and security testing based on the user’s needs. Example: If you have developed an online shopping platform, acceptance testing would involve checking whether users can browse product s, add items to the cart, make payments, and receive order confirmations. It ensures that the system meets all the business goals of an e-commerce site.