Skip to content

Instantly share code, notes, and snippets.

@kiranreddyrebel
Last active June 25, 2025 11:40
Show Gist options
  • Save kiranreddyrebel/e4831cf15975d182988c4104b1c33a8e to your computer and use it in GitHub Desktop.
Save kiranreddyrebel/e4831cf15975d182988c4104b1c33a8e to your computer and use it in GitHub Desktop.
Manual testing notes

Manual Testing – Rephrased and Simplified Notes (2025 Edition)


πŸ“˜ What is Software Testing?

Software Testing is the process of checking whether the actual software product meets the expected requirements. It ensures that the software is defect-free.


βœ… Why Testing is Important?

  • Ensures software quality
  • Increases customer satisfaction
  • Saves business from failures
  • Reduces long-term development cost
  • Helps find bugs early

πŸ§ͺ Types of Testing

Manual Testing

Manual execution of test cases without using any automation tools.

Automation Testing

Testing using tools like Selenium, QTP, etc., to reduce manual effort.


πŸ”„ Software Development Life Cycle (SDLC)

The steps involved in creating software:

  1. Requirement Gathering
  2. Feasibility Study
  3. Design (HLD and LLD)
  4. Development
  5. Testing
  6. Deployment
  7. Maintenance

🧠 SDLC Models

Waterfall Model

  • Sequential model
  • Good when requirements are stable

V-Model (Verification and Validation)

  • Testing is planned in parallel with development
  • Better defect prevention

Spiral Model

  • Combination of waterfall and iterative
  • Suitable for large, complex projects

Prototype Model

  • Create a sample version first
  • Great for projects with unclear requirements

Agile Model

  • Iterative and fast-paced
  • Focuses on collaboration and customer feedback

🧾 Test Case Components

  • Test Case ID
  • Title
  • Module
  • Precondition
  • Steps
  • Expected Result
  • Actual Result
  • Status
  • Author/Reviewer

πŸ” Regression vs Retesting

Aspect Retesting Regression Testing
Purpose Verifying fixed bugs Ensuring no side effects after changes
Scope Specific tests Broader area of impact
Execution Always done Done based on project needs

🐞 Defect Life Cycle

  1. New
  2. Assigned
  3. Open
  4. Fixed
  5. Retesting
  6. Closed
  7. Reopened
  8. Rejected / Deferred / Duplicate / Not a Bug

🧰 Test Levels

  • Unit Testing – Individual components (by developers)
  • Integration Testing – Between modules
  • System Testing – End-to-end testing
  • Acceptance Testing – Done by client/user

πŸ“Š Severity vs Priority

Severity Priority
High – Crashes app High – Must fix immediately
Medium – Some features broken Medium – Fix soon
Low – UI issues Low – Can fix later

πŸ› οΈ Tools Used in Industry

Automation Tools:

  • Selenium
  • QTP/UFT
  • TestComplete

Test Management:

  • JIRA
  • TestLink
  • ALM/QC

Bug Tracking:

  • Bugzilla
  • Mantis
  • JIRA

Performance:

  • JMeter
  • LoadRunner
  • NeoLoad

πŸ“ˆ RTM – Requirement Traceability Matrix

A table that connects:

  • Requirements β†’ Test Scenarios β†’ Test Cases β†’ Defects

Ensures every requirement is tested.


πŸ“‚ Test Plan

Contents:

  • Objective
  • Scope (In/Out)
  • Entry/Exit Criteria
  • Test Environment
  • Schedule
  • Tools
  • Deliverables
  • Risks & Mitigation

πŸ“„ Static vs Dynamic Testing

Type Description
Static No code execution (reviews, walkthroughs)
Dynamic Code is executed during testing

πŸ“Œ Boundary Value Analysis (BVA)

Test inputs at the edges of valid ranges.
Example: For input 1–100, test 0, 1, 100, 101


πŸ§ͺ Equivalence Partitioning (EP)

Divide inputs into valid and invalid partitions and test one value from each.


🧠 Error Guessing

Based on tester's experience. Example: entering special characters in names.


πŸ’‘ Decision Table Testing

Useful for logic-based rules. Combines inputs and expected outputs.


πŸ”„ State Transition Testing

Tests how the system behaves with different inputs/states.


πŸ‘€ Use Case Testing

Tests based on end-user scenarios.


🌐 Compatibility Testing

Check if app works on different:

  • Browsers
  • Devices
  • Operating Systems

🎯 Usability Testing

Check if app is easy and pleasant to use.


🦽 Accessibility Testing

Check if differently-abled users can use the app (e.g., via screen readers).


🌍 Globalization (I18N) and Localization (L10N)

  • I18N: Support multiple languages and regions
  • L10N: Adapt app for a specific region (currency, date format)

πŸ§ͺ Smoke vs Sanity Testing

Type Description
Smoke Basic check of main functionality
Sanity Quick check after minor fix/update

πŸš€ Build vs Release

  • Build: Version given to testing team
  • Release: Version delivered to client/users

βœ… Acceptance Testing

Types:

  • Alpha Testing: Done internally before client sees it
  • Beta Testing: Done by client or real users

πŸ”§ Hotfix / Incident Management

Issues found in production are logged as incidents and resolved quickly.


🐟 Fishbone Diagram

Used to find the root cause of problems (also called Ishikawa Diagram).


πŸ” Types of Regression Testing

  • Unit Regression – One module
  • Partial Regression – Related modules
  • Full Regression – Entire system

πŸ§ͺ Entry and Exit Criteria

  • Entry: Conditions to begin testing
  • Exit: Conditions to stop testing (like 95% test cases passed)

🧬 Defect Seeding

Knowingly adding bugs to check the effectiveness of testing.


πŸ•³οΈ Defect Masking

One bug hides another.


🚨 Defect Leakage

Bug missed during testing, but found in production.


πŸ“ Defect Density

Formula:
Defect Density = Number of Valid Defects / Project Size (LOC or effort)


πŸ“ž Defect Triage

Meeting to decide the priority, severity, and assignment of open bugs.


πŸ“‰ CMMI Levels

Capability Maturity Model Integration:

  1. Initial
  2. Managed
  3. Defined
  4. Quantitatively Managed
  5. Optimizing

πŸ“Š Test Metrics

  • Test Case Execution %
  • Defect Leakage Rate
  • Test Coverage
  • Test Productivity

πŸ§ͺ Test Scenario vs Test Case

Test Scenario Test Case
High-level idea to test Detailed steps for testing
Faster to write Takes time to prepare

🧾 Example Test Case

Test Case ID: TC_001
Title: Login with valid credentials
Precondition: User must be registered
Steps:

  1. Open login page
  2. Enter valid email/password
  3. Click login
    Expected Result: Redirect to homepage
    Actual Result: As expected
    Status: Pass

πŸ› οΈ Exploratory Testing

Unstructured testing done by exploring the application.


🚧 Ad-hoc Testing

Informal testing without any planning or documentation.


πŸ” Recovery Testing

Checks app behavior after failures like power outages.


πŸ“¦ Reliability Testing

Ensures app performs consistently over time.


End of Rephrased Manual Testing Notes

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment