Manual QA
What is QA?
Quality Assurance (QA) refers to the processes and practices used to ensure that software is of high quality — functional, reliable, user-friendly, and free of bugs.
Key Goals:
Prevent defects before release
Ensure software meets business and user expectations
Maintain a consistent and predictable development cycle
Main Goal: Ensure the quality of software (web/mobile apps) by preventing, detecting, and documenting bugs.
Responsibilities:
Write and execute test cases
Perform manual and automated testing
Test UI/UX responsiveness across devices
Collaborate with developers to identify and fix bugs
Report and track bugs using tools (e.g., JIRA)
Assist in release validation and regression testing
Types of Testing
Manual Testing
Testing the application by hand without automation tools.
Includes UI, UX, exploratory, and ad-hoc testing.
Often done during initial stages or when automation isn’t set up.
Automated Testing
Scripts/test cases are written to test functionality automatically.
Tools: Selenium, Appium, Cypress, JUnit/TestNG, Playwright, Detox (React Native).
Pros: Fast, repeatable, ideal for regression testing.
Functional Testing
Verifies that features work according to requirements.
Includes user flows (e.g., login, checkout, search).
Regression Testing
Re-running previous test cases to ensure recent changes didn’t break anything.
UI/UX Testing
Check layout, responsiveness, accessibility, and consistency across devices/resolutions.
Mobile Testing
Focus on:
Touch responsiveness
App lifecycle (install, launch, background, kill, uninstall)
Permissions (camera, GPS)
Device compatibility (iOS vs Android)
Common Types of Tests
Type | Description |
|---|---|
Functional Testing | Ensures features work according to specs (login, checkout, etc.) |
Regression Testing | Check that new changes haven’t broken existing features |
Smoke Testing | Basic tests to confirm system stability after a build |
Sanity Testing | Focused testing to verify specific functionality works after minor changes |
Integration Testing | Test combined parts/modules (e.g., frontend ↔ API) |
System Testing | Test the complete system as a whole |
Acceptance Testing | Validate if software meets business requirements |
Performance Testing | Evaluate speed, responsiveness, scalability |
Usability Testing | How intuitive and user-friendly the application is |
Accessibility Testing | Ensure app is usable by people with disabilities |
Security Testing | Check for vulnerabilities, authentication flaws, etc. |
QA Process (SDLC & STLC)
Software Development Life Cycle (SDLC)
QA fits into these stages:
Requirements Analysis
Design
Implementation
Testing (QA’s main phase)
Deployment
Maintenance
Software Testing Life Cycle (STLC)
Requirement Analysis
Test Planning
Test Case Design
Test Environment Setup
Test Execution
Defect Reporting
Test Closure
Test Case Basics
What is a Test Case?
A document or script that describes an input, action, and expected outcome to test a specific function.
Test Case Template:
Field | Example |
|---|---|
Test Case ID | TC001 |
Title | Login with valid credentials |
Preconditions | User is on login screen |
Steps to Execute | 1. Enter email 2. Enter password 3. Tap Login |
Expected Result | User is redirected to dashboard |
Actual Result | Dashboard loads |
Status | Pass / Fail |
Bug Lifecycle & Bug Report Anatomy
Bug Life Cycle:
New
Open
Assigned
In Progress
Resolved
Retested
Closed (or Reopened)
QA Tools You Should Know
Manual Testing:
JIRA or Trello – for issue tracking
TestRail, Google Sheets – test case management
Browser DevTools – console logs, network tab
Automated Testing:
Use Case | Tools |
|---|---|
Web UI Testing | Selenium, Cypress, Playwright |
Mobile Testing | Appium, Espresso (Android), XCUITest (iOS), Detox (React Native) |
API Testing | Postman, Rest Assured |
CI/CD Testing | GitHub Actions, Jenkins, CircleCI |
Mobile-Specific QA Concepts
Device Fragmentation: Test across OS versions and screen sizes
App Lifecycle: Install → Open → Minimize → Kill → Relaunch
Permissions Handling: Test what happens when permissions are denied
Network Scenarios: Offline, slow network, airplane mode
Orientation Testing: Portrait to landscape changes
Push Notifications: Delivery and handling
Battery/Memory Usage: Resource efficiency matters in mobile
Frontend-Specific QA Concepts
Cross-Browser Testing: Chrome, Firefox, Safari, Edge
Responsive Design Testing: Across breakpoints (mobile/tablet/desktop)
Accessibility Testing (a11y): Tab navigation, screen readers, contrast
Form Testing: Validation, required fields, error handling
Console Errors: Check JavaScript issues in DevTools