QA Fundamentals
QA Fundamentals

QA Fundamentals

QA (Quality Assurance) is about preventing defects and ensuring software meets requirements, user expectations, accessibility standards, and business goals.

QA is broader than testing.

  • QA (Quality Assurance) → Process-focused (prevent problems)
  • QC (Quality Control) → Product-focused (find problems)
  • Testing → Execution activity to identify defects

Example:

A checkout page fails when discount codes are entered.

  • QA asks: Why wasn't this scenario covered?
  • QC finds the defect.
  • Testing reproduces it.

1. Test Planning

A Test Plan defines what will be tested, how it will be tested, who will test it, and when testing happens.

Typical Test Plan sections:

Objectives

What are we validating?

Example:

Verify checkout functionality works correctly across browsers and devices.

Scope

In Scope

  • Product search
  • Basket
  • Checkout
  • Payment gateway

Out of Scope

  • Legacy admin reporting

Test Types

Include:

  • Functional testing
  • Regression testing
  • Accessibility testing
  • Performance testing
  • Cross-browser testing
  • Security testing

Environment

Example:

  • QA environment
  • Staging
  • Production smoke validation

Browsers:

  • Chrome
  • Edge
  • Safari
  • Firefox

Devices:

  • Mobile
  • Tablet
  • Desktop

Risks

Example:

Risk Mitigation
Delayed requirements Clarify early
Environment instability Use backup test environment
Third-party API downtime Mock services

Entry Criteria

Conditions before testing starts:

Example:

  • Build deployed
  • Requirements approved
  • Test environment available

Exit Criteria

Conditions to stop testing:

Example:

  • No critical defects open
  • 95% test pass rate
  • UAT signoff complete

2. Test Cases

A Test Case is a documented set of steps to verify functionality.

Basic structure:

Field Example
Test ID CHK-001
Feature Checkout
Objective Verify successful payment
Preconditions User logged in
Test Steps Add product → Checkout → Pay
Test Data Visa card
Expected Result Order confirmed
Actual Result Filled during execution
Status Pass / Fail
Defect ID BUG-123

Example:

Test Case: Login

Precondition
User account exists.

Steps:

  1. Open login page
  2. Enter valid email
  3. Enter password
  4. Click Login

Expected:

  • Dashboard loads
  • User session created

Positive vs Negative Testing

Positive:

Enter valid credentials → Login succeeds

Negative:

Enter invalid password → Error shown

Boundary:

Password minimum length = 8

Test:

  • 7 characters
  • 8 characters
  • 9 characters

3. Regression Testing

Regression testing ensures:

New changes did not break existing functionality.

Example:

Developer changes checkout tax calculation.

Regression suite validates:

✓ Basket
✓ Discounts
✓ Shipping
✓ Payment
✓ Order confirmation

Regression testing happens:

  • New releases
  • Bug fixes
  • Infrastructure changes
  • Browser updates

Good regression suites are:

  • Stable
  • Repeatable
  • Often automated

Typical candidates for automation:

  • Login
  • Checkout
  • Search
  • User registration

4. Smoke Testing

Smoke testing answers:

"Is this build stable enough for deeper testing?"

Quick, high-level validation.

Example release smoke test:

Area Test
Homepage Loads
Login Works
Search Returns results
Checkout Opens
Payment Can initiate

If smoke fails:

❌ Testing stops
❌ Build returned to development

Think:

Smoke = Build verification

Usually 5–30 minutes.


5. Sanity Testing

Sanity testing validates:

"Did the specific fix/change actually work?"

Smaller and focused.

Example:

Bug fixed:

Discount code SAVE10 not applying.

Sanity tests:

✓ SAVE10 works
✓ Basket total updates
✓ Tax recalculates

No need to test full checkout.

Think:

Sanity = Change verification


Smoke vs Sanity

Smoke Sanity
Broad Narrow
Build stability Specific change validation
Before detailed testing After bug fix/change
Short suite Very focused
Entire system areas One impacted area

Example:

New release deployed:

→ Run Smoke

Developer fixes payment timeout:

→ Run Sanity


6. UAT (User Acceptance Testing)

UAT validates:

"Does the software meet business/user needs?"

Usually performed by:

  • Business users
  • Product Owners
  • SMEs
  • Client stakeholders

QA supports but often does not own signoff.

Example eCommerce UAT scenarios:

Business flow

Customer:

  1. Search product
  2. Add to basket
  3. Apply promotion
  4. Checkout
  5. Receive confirmation email

Business validates:

✓ Process matches expectations
✓ Promotions behave correctly
✓ Reports updated


UAT entry criteria:

  • QA complete
  • Major defects resolved
  • Stable environment

UAT exit criteria:

  • Business approval
  • Critical defects fixed
  • Signoff obtained

Simple release flow

Requirements

Test Planning

Test Case Creation

Development

Smoke Testing

Functional Testing

Regression Testing

Accessibility Testing

UAT

Production Deployment

Production Smoke Check

Everything Testing
About Everything Testing

QA Tips - helpful tips, articles, and guidance.

  • Helpful tips
  • Articles
  • Guides
  • Resources

Tips and articles made simple

About Everything Testing