0% 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.

Uploaded by

sobeercheema
Copyright
© © All Rights Reserved
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% 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.

Uploaded by

sobeercheema
Copyright
© © All Rights Reserved
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.

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy