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:

  1. Requirements Analysis

  2. Design

  3. Implementation

  4. Testing (QA’s main phase)

  5. Deployment

  6. Maintenance

Software Testing Life Cycle (STLC)

  1. Requirement Analysis

  2. Test Planning

  3. Test Case Design

  4. Test Environment Setup

  5. Test Execution

  6. Defect Reporting

  7. 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:

  1. New

  2. Open

  3. Assigned

  4. In Progress

  5. Resolved

  6. Retested

  7. 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