Manual Testing


🔹 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

ReasonBenefit
Understand UI flowHuman feedback on usability
Explore unexpected bugsThrough exploratory testing
Required for new featuresBefore automation is possible
Validate edge casesWhere automation is complex

🔹 Key Manual Testing Concepts

  1. Test Case – A set of steps to verify a specific feature
  2. Test Scenario – A higher-level condition to test
  3. Test Data – Input values used during testing
  4. Defect/Bug – A mismatch between actual and expected result
  5. Test Execution – Running the tests and recording status

🔹 Manual Testing Life Cycle

PhaseActivity
Requirement UnderstandingQA पढ्छ र बुझ्छ — के-के test गर्नुपर्ने हो
Test Plan PreparationScope, strategy तयार पारिन्छ
Test Case WritingSteps, expected results लेखिन्छ
Test Environment SetupTesting को लागि app चलाउने व्यवस्था
Test ExecutionManual steps चलाइन्छ, result verify हुन्छ
Defect Reportingयदि issue भेटियो भने log गरिन्छ
Retesting & RegressionFix पछि फेरि test गरिन्छ
ClosureFinal report तयार हुन्छ

🔹 Types of Manual Testing

TypeDescription
Functional TestingFeatures सही काम गर्छ कि छैन
Regression Testingनयाँ change ले पुराना features बिगारेको छैन?
Smoke TestingHigh-level check – app चल्छ कि छैन
Sanity TestingQuick mini-test after minor change
Exploratory Testingबिना test case पनि, tester को intuition ले test गर्ने
UI TestingButton, label, layout check गर्ने
Acceptance TestingClient-level testing (UAT)

🔹 Common Manual Testing Tools (Support, not automation)

ToolPurpose
JIRADefect tracking
TestRailTest case management
Zephyr/XrayJIRA plugins for testing
Excel/SheetsSimple test case repository

🔹 Real-World Example: Manual Testing a Login Page

StepActionExpected
1Open login pagePage loads
2Enter invalid passwordError message shown
3Leave fields emptyRequired field error
4Enter valid dataDashboard 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।

TypePurpose
Performance TestingSpeed & response time
Security TestingUnauthorized access रोक्ने
Usability TestingUser friendly छ कि छैन
Compatibility TestingMultiple browser/device मा test

✅ Summary Table

TypeFocusWho Involved
UnitCode-levelDeveloper
IntegrationModule interactionDev + QA
SystemWhole applicationQA
SmokeBuild validationQA
SanityMinor fixes checkQA
RegressionOld features intactQA
UATBusiness approvalClient/BA
FunctionalFeature behaviorQA
Non-FunctionalPerformance/SecurityQA/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
Generated image

✅ Final Summary Table (Extended)

TypeCategoryQA Relevance
UnitCodeDev-only
IntegrationFunctionalQA/Dev
SystemFunctionalQA
SmokeFunctionalQuick check
SanityFunctionalMinor fix test
RegressionFunctionalAfter updates
UATFunctionalClient check
FunctionalCoreQA responsibility
Non-functionalPerformance, securityOptional QA
ExploratoryExperience-basedOften used
Ad-hocRandomCreative testing
CompatibilityMulti-deviceUI, cross-browser
UsabilityUI/UXHuman-centered
LocalizationLanguage-regionGlobal apps
RecoveryFail-safeCritical systems
Install/UninstallSetupDesktop/mobile QA
ComplianceLegal/SecurityRegulated industries
StaticReview-basedNo execution required
Scroll to Top