Manual Testing - Detailed Notes
1. Introduction to Software Testing
Software testing is the process of evaluating a software application to identify any bugs or issues and ensure
it meets the specified requirements. It can be done manually or using automation tools.
Purpose of Testing:
- Ensure software quality
- Identify bugs before production
- Validate functionality and performance
- Increase customer satisfaction
2. What is Manual Testing?
Manual testing involves manually executing test cases without any automation tools. Testers follow a defined
test plan to verify the application's functionality.
Advantages:
- Easy for beginners
- Detects UI/UX issues
- Useful for exploratory and ad-hoc testing
Disadvantages:
- Time-consuming
- Prone to human error
- Not suitable for large-scale or repetitive tests
3. Software Development Life Cycle (SDLC) Models
SDLC defines the process used to develop software. Each model describes steps to follow during
development and testing.
Common SDLC Models:
- Waterfall Model
Manual Testing - Detailed Notes
- V-Model
- Agile Model
- Spiral Model
- Iterative Model
4. Waterfall Model
The Waterfall model is a linear SDLC approach. Each phase must be completed before the next begins.
Phases:
- Requirement Analysis
- System Design
- Implementation
- Testing
- Deployment
- Maintenance
Limitations:
- Late testing phase
- No scope for requirement change
5. V-Model (Verification and Validation Model)
The V-Model is an extension of the Waterfall model. Every development stage has a corresponding testing
phase.
Pros:
- Early test planning
- More structured
Cons:
- Rigid, no scope for change
- Costly for complex projects
Manual Testing - Detailed Notes
6. Agile Model
Agile follows an iterative and incremental approach. Development and testing happen in small sprints (2-4
weeks).
Principles:
- Individuals and interactions over processes
- Working software over documentation
- Customer collaboration
- Responding to change
Popular frameworks: Scrum, Kanban, SAFe
7. Spiral Model
The Spiral model combines iterative development with risk analysis. Each loop represents a development
phase.
Ideal for:
- Large, high-risk projects
- Projects requiring frequent changes
8. Iterative Model
The Iterative model builds software in small increments. Each version is improved based on feedback.
Pros:
- Early partial implementation
- Feedback-driven
Cons:
- Resource-intensive
- Design issues may persist
Manual Testing - Detailed Notes
9. Software Testing Life Cycle (STLC)
STLC defines phases in testing:
- Requirement Analysis
- Test Planning
- Test Case Development
- Test Environment Setup
- Test Execution
- Test Cycle Closure
10. Types of Testing
- Unit Testing
- Integration Testing
- System Testing
- Acceptance Testing
Functional Testing:
- Smoke, Sanity, Regression, Retesting
Non-functional Testing:
- Performance, Security, Usability, Compatibility
11. Testing Techniques
Black Box Testing:
- Equivalence Partitioning
- Boundary Value Analysis
- Decision Table
- State Transition
White Box Testing:
- Statement, Branch, and Condition coverage
Manual Testing - Detailed Notes
Grey Box Testing:
- Partial knowledge of code
12. Test Artifacts
- Test Plan
- Test Cases
- Test Scripts
- Test Data
- RTM (Requirement Traceability Matrix)
- Test Summary Report
13. Bug/Defect Lifecycle
1. New
2. Assigned
3. Open
4. Fixed
5. Retest
6. Verified
7. Closed
8. Reopened
9. Rejected
10. Deferred
14. Severity vs Priority
- Severity: Impact of defect
- Priority: Urgency to fix
Example: App crash on login = High Severity & High Priority
Manual Testing - Detailed Notes
15. Tools in Manual Testing
Test Management:
- TestLink, Zephyr, qTest
Bug Tracking:
- JIRA, Bugzilla, Mantis
Documentation:
- Excel, Word, Google Sheets
16. Common Interview Questions
- What is difference between SDLC and STLC?
- What is test case vs test scenario?
- What is regression vs retesting?
- How do you prioritize test cases?
- Describe the bug life cycle.