Manual Testing - Detailed Notes
1. What is Manual Testing?
Manual testing is a process where software testers manually operate a software application to detect bugs.
They follow a written test plan and execute each test case without using any automated tools.
Goal: Ensure the software is working as expected based on defined requirements.
2. Software Testing Life Cycle (STLC)
STLC includes:
- Requirement Analysis - Understand what needs to be tested.
- Test Planning - Define strategy, schedule, and resources.
- Test Case Development - Write test cases and prepare test data.
- Test Environment Setup - Prepare hardware/software to execute tests.
- Test Execution - Run test cases and log defects.
- Test Cycle Closure - Evaluate cycle completion and create test summary reports.
3. Test Case Components
Test Case ID, Title, Precondition, Steps to Execute, Expected Result, Actual Result, Status.
Example:
Test Case ID: TC001
Title: Login Functionality
Precondition: User is registered
Steps:
1. Open app
2. Enter credentials
3. Click Login
Expected: Dashboard is displayed
4. Types of Manual Testing
- Functional Testing - Tests features against requirements.
Manual Testing - Detailed Notes
- Non-functional Testing - Tests performance, usability, etc.
- Smoke Testing - Basic checks to ensure system stability.
- Sanity Testing - Focused testing after small changes.
- Regression Testing - Rechecking existing functionality.
- Retesting - Re-executing failed test cases after bug fixes.
5. Levels of Testing
- Unit Testing - Done by developers on individual components.
- Integration Testing - Checks data flow between modules.
- System Testing - Tests the entire application.
- User Acceptance Testing (UAT) - Client-side validation.
6. Defect/Bug Lifecycle
1. New
2. Assigned
3. Open
4. Fixed
5. Retest
6. Verified
7. Closed or Reopened
8. Deferred or Rejected
7. Severity vs Priority
- Severity - Impact of the bug on the system.
- Priority - Urgency of fixing the bug.
Example: Login button not working
High Severity, High Priority
8. Black Box Testing Techniques
Manual Testing - Detailed Notes
- Equivalence Partitioning - Divide input data into valid/invalid sets.
- Boundary Value Analysis - Test edge values like min/max.
- Decision Table - Represents rules and actions.
- State Transition - Based on system states and inputs.
9. White Box Testing Techniques
- Statement Coverage - Every line of code is executed.
- Branch Coverage - Every decision branch is tested.
- Condition Coverage - True/false of each condition is tested.
10. Test Deliverables
- Test Plan
- Test Cases
- Test Scripts (if automation is used later)
- Defect Report
- RTM (Requirement Traceability Matrix)
- Test Summary Report
11. Common Test Management Tools
- TestLink - Open-source tool for test case management.
- Zephyr - JIRA plugin for managing test cycles.
- qTest, PractiTest - Enterprise test management tools.
12. Popular Bug Tracking Tools
- JIRA
- Bugzilla
- Redmine
- Mantis
Manual Testing - Detailed Notes
13. Common Interview Questions
- What is the difference between verification and validation?
- What is the bug life cycle?
- Difference between smoke and sanity testing?
- What is RTM?
- What is regression vs retesting?
- Explain severity vs priority with examples.