🔹 What is Manual Testing?
Manual Testing is a process where test cases are executed manually by a QA engineer without using any automation tools. It focuses on identifying bugs, missing requirements, and UI/UX issues.
📖 Nepali Insight:
Manual Testing भनेको QA engineer ले आफैँले software प्रयोग गरेर check गर्ने प्रक्रिया हो — tool बिना test गर्नु।
🧠 Use Case:
Testing a login page by entering username/password manually and verifying error messages, success responses, etc.
🔹 Why Manual Testing Is Important
Reason | Benefit |
Understand UI flow | Human feedback on usability |
Explore unexpected bugs | Through exploratory testing |
Required for new features | Before automation is possible |
Validate edge cases | Where automation is complex |
🔹 Key Manual Testing Concepts
- Test Case – A set of steps to verify a specific feature
- Test Scenario – A higher-level condition to test
- Test Data – Input values used during testing
- Defect/Bug – A mismatch between actual and expected result
- Test Execution – Running the tests and recording status
🔹 Manual Testing Life Cycle
Phase | Activity |
Requirement Understanding | QA पढ्छ र बुझ्छ — के-के test गर्नुपर्ने हो |
Test Plan Preparation | Scope, strategy तयार पारिन्छ |
Test Case Writing | Steps, expected results लेखिन्छ |
Test Environment Setup | Testing को लागि app चलाउने व्यवस्था |
Test Execution | Manual steps चलाइन्छ, result verify हुन्छ |
Defect Reporting | यदि issue भेटियो भने log गरिन्छ |
Retesting & Regression | Fix पछि फेरि test गरिन्छ |
Closure | Final report तयार हुन्छ |
🔹 Types of Manual Testing
Type | Description |
Functional Testing | Features सही काम गर्छ कि छैन |
Regression Testing | नयाँ change ले पुराना features बिगारेको छैन? |
Smoke Testing | High-level check – app चल्छ कि छैन |
Sanity Testing | Quick mini-test after minor change |
Exploratory Testing | बिना test case पनि, tester को intuition ले test गर्ने |
UI Testing | Button, label, layout check गर्ने |
Acceptance Testing | Client-level testing (UAT) |
🔹 Common Manual Testing Tools (Support, not automation)
Tool | Purpose |
JIRA | Defect tracking |
TestRail | Test case management |
Zephyr/Xray | JIRA plugins for testing |
Excel/Sheets | Simple test case repository |
🔹 Real-World Example: Manual Testing a Login Page
Step | Action | Expected |
1 | Open login page | Page loads |
2 | Enter invalid password | Error message shown |
3 | Leave fields empty | Required field error |
4 | Enter valid data | Dashboard loads |
🧠 QA must test positive, negative, boundary, and UI validation cases.
📘 Types of Testing in Manual QA
🔹 1. Unit Testing
Performed by developers to test individual functions, methods, or units of code.
📖 Nepali View:
Unit Testing भनेको सबैभन्दा सानो part (function/class) को testing हो — सामान्यतः developer ले गर्छ।
🧠 Example:
- Testing a calculatePremium() function with known inputs.
✅ Tools: JUnit, NUnit, PyTest (QA rarely involved directly)
🔹 2. Integration Testing
Testing the interaction between two or more modules to ensure they work together properly.
📖 Nepali Insight:
एक module ले अर्को module सँग data कसरी share गर्छ — त्यो check गर्न Integration Testing हुन्छ।
🧠 Example:
- Login → User Dashboard → Claim History
Each module must pass correct data to the next.
🔹 3. System Testing
Complete end-to-end testing of the entire software system.
📖 Nepali View:
System Testing मा user को नजरले पुरा system एकैपटक test गरिन्छ — UI, logic, workflow सबै।
🧠 Example:
- Policy creation → Payment → Confirmation email check
✅ QA Team is fully responsible
🔹 4. Smoke Testing
A quick check to confirm whether the major functions of the app are working.
📖 Nepali Tip:
Smoke Testing भनेको “app चल्छ कि छैन?” जाँच्ने high-level test हो।
🧠 Example:
- Can the login page load? Can a user submit a basic form?
✅ Usually done before deep testing begins.
🔹 5. Sanity Testing
Verifies specific functionalities after a minor code change.
📖 Nepali View:
Sanity Testing भन्नाले “यो सानो change ले के बिगारेको त छैन?” भनेर check गर्नु।
🧠 Example:
- After fixing the password reset issue, test only that area.
🔹 6. Regression Testing
Ensures that new code changes haven’t broken existing features.
📖 Nepali Tip:
New update ले पुराना कामहरू बिगारेको छैन भनेर testing गर्नु हो — त्यसैले frequent automation पनि यहीं गरिन्छ।
🧠 Example:
- After updating policy quote logic, ensure rating, printing, download still work.
🔹 7. Acceptance Testing (UAT)
Client or business team validates whether the system meets their requirements.
📖 Nepali Insight:
UAT भनेको client ले check गर्ने test हो — “मलाई चाहिएको जस्तै काम गर्छ कि गर्दैन?”
🧠 Example:
- Final test before going live (e.g., customer portal workflow)
🔹 8. Functional Testing
Validates whether the application performs all intended functionalities correctly.
🧠 Example:
- Submit form, validate rules, send email — all part of a functional scenario.
✅ Core of most manual QA work.
🔹 9. Non-Functional Testing
Focuses on performance, security, usability, compatibility, etc.
📖 Nepali View:
Feature त काम गर्छ, तर कति छिटो? कति load सहन्छ? UI कस्तो देखिन्छ? — यिनै कुरा check गर्ने testing।
Type | Purpose |
Performance Testing | Speed & response time |
Security Testing | Unauthorized access रोक्ने |
Usability Testing | User friendly छ कि छैन |
Compatibility Testing | Multiple browser/device मा test |
✅ Summary Table
Type | Focus | Who Involved |
Unit | Code-level | Developer |
Integration | Module interaction | Dev + QA |
System | Whole application | QA |
Smoke | Build validation | QA |
Sanity | Minor fixes check | QA |
Regression | Old features intact | QA |
UAT | Business approval | Client/BA |
Functional | Feature behavior | QA |
Non-Functional | Performance/Security | QA/DevOps |
📘 Extended List of Testing Types (Additional)
🔹 10. Exploratory Testing
- Tester explores the app without formal test cases, using experience and intuition.
📖 Nepali View:
QA ले “मलाई यहाँ bug हुन सक्छ” भन्ने आधारमा app चलाउँछ।
🔹 11. Ad-hoc Testing
- No formal process — done randomly and informally to break the system.
🧠 Sometimes called “Monkey testing.”
🔹 12. Compatibility Testing
- App works across browsers, OS, mobile devices.
📌 BrowserStack, Sauce Labs used for this.
🔹 13. Usability Testing
- Checks if the application is easy to use, accessible, and user-friendly.
📖 Nepali: User ले confuse नहुने, UI ले clearly guide गर्ने?
🔹 14. Localization (L10N) & Globalization (G11N) Testing
- App displays correct language, currency, date/time based on region.
🧠 Example: Testing if “$” turns to “₹” or “€” when user is in different country.
🔹 15. Recovery Testing
- App’s ability to recover from crashes, power loss, or network failure.
📌 Example: After a browser crash, user’s draft claim should still exist.
🔹 16. Installation & Uninstallation Testing
- Ensures software installs cleanly, creates correct folders, uninstalls without residue.
📌 QA does this especially for desktop/mobile app QA.
🔹 17. Compliance Testing
- Application adheres to legal, security, accessibility, or industry-specific standards.
🧠 Example: In insurance, making sure all forms comply with state or federal regulations.
🔹 18. Static Testing
- Testing performed without executing code. Includes:
- Reviewing documents (BRD, user stories)
- Reviewing test cases
- Reviewing UI design or APIs

✅ Final Summary Table (Extended)
Type | Category | QA Relevance |
Unit | Code | Dev-only |
Integration | Functional | QA/Dev |
System | Functional | QA |
Smoke | Functional | Quick check |
Sanity | Functional | Minor fix test |
Regression | Functional | After updates |
UAT | Functional | Client check |
Functional | Core | QA responsibility |
Non-functional | Performance, security | Optional QA |
Exploratory | Experience-based | Often used |
Ad-hoc | Random | Creative testing |
Compatibility | Multi-device | UI, cross-browser |
Usability | UI/UX | Human-centered |
Localization | Language-region | Global apps |
Recovery | Fail-safe | Critical systems |
Install/Uninstall | Setup | Desktop/mobile QA |
Compliance | Legal/Security | Regulated industries |
Static | Review-based | No execution required |