Types of Manual Testing
What is Manual Testing?
Manual testing is testing software manually without using automation tools. Tester executes test cases, compares expected result with actual result and reports defects.
Main Types of Manual Testing
Manual testing is mainly divided into:
- Functional Testing
- Non-Functional Testing
1. Functional Testing
Focus: What the system does (features & business logic).
1. Unit Testing: Testing individual module.
Example: Testing only login function.
2. Integration Testing: Testing interaction between modules.
Example: Login + Dashboard connection.
3. System Testing: Testing complete application.
Example: Full e-commerce website testing.
4. Smoke Testing: Basic critical tests to check build stability.
Example: App opens, login works.
5. Sanity Testing: Testing specific functionality after small change.
Example: After fixing login bug, test only login.
6. Regression Testing: Testing existing features after change.
Example: After adding payment feature, re-test login and cart.
7. Retesting: Testing same bug again after fix.
Example: Bug fixed → test again.
8. User Acceptance Testing (UAT): Testing by client/end user.
Example: Client checks if system meets business needs.
9. Exploratory Testing: Testing without predefined test cases.
Example: Randomly checking flows.
2. Non-Functional Testing
Focus: How the system works (performance, security, usability).
1. Performance Testing: Checks speed and response time.
Example: Page loads within 2 seconds.
2. Load Testing: Checks behavior under expected load.
Example: 1000 users login at same time.
3. Stress Testing: Checks breaking point.
Example: 10,000 users login.
4. Security Testing: Checks vulnerabilities.
Example: SQL injection, token security.
5. Usability Testing: Checks user friendliness.
Example: Easy navigation, readable buttons.
6. Compatibility Testing: Checks different devices/browsers/OS.
Example: Chrome, Edge, mobile, desktop.
7. Reliability Testing: Checks stability over time.
Example: App runs 24 hours without crash.
8. Scalability Testing: Checks system growth handling.
Example: Can handle double users.
Difference Between Functional and Non-Functional Testing
| Functional Testing | Non-Functional Testing |
|---|---|
| Tests what the system does | Tests how the system works |
| Validates features | Validates performance, security, usability |
| Based on business requirements | Based on quality standards |
| Example: Login works | Example: Login is fast |
| Checks correctness | Checks efficiency and reliability |
Interview Examples
Q: Login button works but slow. Which testing?
Functional → Login works. Non-Functional → Slow performance.
Q: Application allows SQL injection. Which testing?
Non-Functional (Security Testing).
Q: User cannot login. Which testing?
Functional Testing.