Manual Testing Tutorial
Index
1. Introduction to Manual Testing
Definition and Importance
Difference Between Manual and Automated Testing
Types of Software Testing
Advantages and Disadvantages of Manual Testing
Real-time Example: Online Shopping Platform Testing
2. Software Development Life Cycle (SDLC)
Phases of SDLC
Role of Testing in SDLC
Diagrams: SDLC Process Models (Waterfall, Agile, V-Model)
Real-time Example: SDLC for a Banking Application
3. Software Testing Life Cycle (STLC)
Phases of STLC
Entry and Exit Criteria
Deliverables of Each Phase
Diagrams: STLC Workflow
Real-time Example: Test Case Creation for a Social Media App
4. Types of Testing
Functional Testing
Non-functional Testing
Exploratory Testing
Regression Testing
Smoke and Sanity Testing
Real-time Examples: Functional Testing of a Login Page, Load Testing for an E-commerce Website
5. Test Case Development
What is a Test Case?
Writing Test Cases
Characteristics of Good Test Cases
Real-time Example: Test Cases for an ATM Machine
Diagrams: Template for Test Case Writing
6. Test Plan
What is a Test Plan?
Components of a Test Plan
Test Planning Tools
Real-time Example: Test Plan for a Food Delivery App
Diagrams: Sample Test Plan Structure
7. Defect Lifecycle and Management
What is a Defect?
Phases of Defect Lifecycle
Tools for Defect Management (e.g., JIRA, Bugzilla)
Diagrams: Defect Lifecycle Workflow
Real-time Example: Reporting Bugs in a Payment Gateway
8. Test Execution
Preparing for Test Execution
Test Environment Setup
Test Data Preparation
Real-time Example: Executing Tests for an IoT Device
9. Reporting and Metrics
Importance of Reporting
Test Metrics and KPIs
Reporting Tools (e.g., TestRail, Zephyr)
Real-time Example: Generating Test Reports for an Insurance Software
10. Agile and Manual Testing
Manual Testing in Agile
Role of a Tester in Agile Teams
Sprint Planning and Manual Testing
Real-time Example: Manual Testing for a Ride-Sharing Application
11. Challenges in Manual Testing
Common Challenges
Strategies to Overcome Challenges
Real-time Examples of Challenges
12. Manual Testing Tools
Overview of Tools (e.g., TestLink, Bugzilla)
Installation and Usage
Real-time Example: Managing Manual Tests with TestLink
13. Career in Manual Testing
Skills Required
Roles and Responsibilities
Certifications and Resources
Real-time Scenario: Transition from Manual Testing to Automation Testing
Chapter 1: Introduction to Manual Testing
1.1 What is Manual Testing?
Manual Testing is the process of testing software manually to identify bugs, defects, or issues. Testers simulate end-
user scenarios and verify whether the application behaves as expected. Unlike automated testing, manual testing does
not rely on scripts or tools; instead, it depends on human effort.
1.2 Why is Manual Testing Important?
Ensures User Satisfaction: It identifies bugs from an end-user perspective.
Adapts to Change: Manual testing is flexible and can handle dynamic changes during the testing process.
Catches Usability Issues: Human testers can evaluate user experience, which tools cannot.
1.3 Differences Between Manual and Automated Testing
Aspect Manual Testing Automated Testing
Execution Performed by humans Performed by scripts/tools
Speed Slower Faster
Cost Low initial cost High initial setup cost
Best Suited For Exploratory, Ad-hoc, Usability Regression, Repeated Tests
Accuracy Prone to human errors High accuracy
1.4 Types of Software Testing
Manual testing encompasses several types:
1. Functional Testing: Verifying features and functionalities.
2. Regression Testing: Ensuring new changes don’t break existing functionality.
3. Exploratory Testing: Testing without predefined cases.
4. Usability Testing: Evaluating user experience.
1.5 Advantages of Manual Testing
Human Insight: Detects issues related to user behavior.
Cost-Effective: Low initial cost, especially for small projects.
Dynamic Testing: Adapts to changes in real-time scenarios.
1.6 Disadvantages of Manual Testing
Time-Consuming: Slower than automation.
Repetitive Effort: Tedious for repeated test cases.
Prone to Errors: Subject to human mistakes.
1.7 Real-Time Example
Let’s test a login page of an online shopping platform manually.
1. Scenario: User logs into the shopping portal.
2. Test Steps:
o Open the login page.
o Enter valid username and password.
o Click on the "Login" button.
o Verify that the user lands on the homepage.
3. Expected Result: The user should be directed to the homepage without errors.
Possible Bugs:
Error message appears even with correct credentials.
"Login" button unresponsive.
1.8 Diagram: Manual Testing Process
1. Requirement Analysis
2. Test Planning
3. Test Case Design
4. Test Execution
5. Defect Logging & Retesting
6. Test Closure
Chapter 2: Software Development Life Cycle (SDLC)
2.1 What is SDLC?
The Software Development Life Cycle (SDLC) is a structured process used to design, develop, test, and maintain
software. It ensures that the software meets user expectations and quality standards.
2.2 Phases of SDLC
The SDLC consists of the following phases:
1. Requirement Gathering and Analysis
o Understanding client requirements.
o Deliverables: Requirement Specification Document (SRS).
o Example: Gathering requirements for an e-commerce website.
2. System Design
o High-level design (HLD) and low-level design (LLD) are created.
o Deliverables: System Design Document.
o Example: Designing a database schema for user profiles.
3. Implementation (Development)
o Developers write code based on design documents.
o Example: Writing code for a shopping cart feature.
4. Testing
o Verifying that the software works as intended.
o Deliverables: Test Plans, Test Cases, and Defect Reports.
o Example: Testing the payment gateway integration.
5. Deployment
o Deploying the software to production.
o Deliverables: Deployment Guide.
o Example: Deploying the website to a live server.
6. Maintenance
o Fixing bugs and updating the software post-deployment.
o Example: Adding new product categories to the e-commerce platform.
2.3 Role of Testing in SDLC
Testing plays a pivotal role in ensuring software quality. It:
Verifies that requirements are met.
Identifies and resolves bugs.
Ensures compatibility across devices and platforms.
2.4 SDLC Models
Various models define how SDLC phases are executed. Popular models include:
1. Waterfall Model
o Sequential execution of phases.
o Suitable for small projects with well-defined requirements.
o Diagram:
Requirement → Design → Development → Testing → Deployment → Maintenance
2. V-Model
o Emphasizes verification and validation.
o Each development phase is linked with a corresponding testing phase.
o Diagram:
Requirements ↔ Acceptance Testing
Design ↔ System Testing
Coding ↔ Unit Testing
3. Agile Model
o Iterative and incremental development.
o Focuses on collaboration and adaptability.
o Example: Testing features in sprints during the Agile process.
2.5 Diagrams: SDLC Models
Waterfall Model
Requirements → Design → Implementation → Testing → Deployment → Maintenance
V-Model
Requirements ↔ Acceptance Testing
Design ↔ System Testing
Coding ↔ Unit Testing
Agile Model
Sprint 1: Plan → Develop → Test → Deliver
Sprint 2: Plan → Develop → Test → Deliver
Repeat...
2.6 Real-Time Example: SDLC for a Banking Application
1. Requirement Gathering: Understand features like balance check, funds transfer, and transaction history.
2. Design: Create flow diagrams for each feature.
3. Development: Write code for fund transfers.
4. Testing: Test the accuracy of fund transfers and error handling.
5. Deployment: Launch the application for customer use.
6. Maintenance: Add new features like credit score checks.