Role: QA Manual Tester (portfolio project)

App under test: demoblaze.com — an online store widely used as an industry-standard QA practice site

I designed and executed a full manual testing cycle on the critical flows of an online store: login, catalog, cart and checkout. The goal was to apply black-box test case design techniques and document everything to the same standard used on real QA teams — so anyone can reproduce each case without asking me twice.

Manual Testing Equivalence Partitioning Boundary Value Analysis State Transition Bug Reporting
DemoBlaze — app preview

Test Plan & Scope

In scope: Login (valid/invalid credentials, empty fields), catalog navigation and browsing, cart (add, remove, verify total) and full checkout.

Out of scope: real payments (the app is a mock with no real transactions), performance, cross-browser and accessibility — separate audits, not covered in this round.

Environment: Chrome (latest stable version), Windows 11.

Test case design methodology

Instead of testing at random, each case was designed with a specific black-box testing technique:

Equivalence Partitioning — grouping similar inputs

Equivalence Partitioning: group inputs into equivalent classes and test one representative per group (e.g. "invalid credentials" as a single group, without repeating redundant variants).

Boundary Value Analysis: test the edge values — empty fields, a single product vs. several products in the cart, the "minimum" possible input.

State Transition: validate complete state changes — empty cart → with product → checkout → confirmation.

Test Cases (10)

IDCaseExpected resultStatus
TC001 Login with valid credentials User authenticated, menu switches to "Welcome [user]" Pass
TC002 Login with incorrect password Login rejected with a clear error message Pass
TC003 Login with empty fields System does not process the login without required data Pass
TC004 Add product to cart Product appears in Cart with correct name and price Pass
TC005 Remove product from cart Product disappears and the total updates Pass
TC006 Full checkout (happy path) Confirmation modal with order ID, amount and date Pass
TC007 Checkout with required fields empty System blocks the purchase without minimum data Pass
TC008 Catalog category navigation Each category shows only its corresponding products Pass
TC009 Catalog pagination (Next/Previous) Next/Previous navigate without repeating or losing products Pass
TC010 Correct cart total with multiple products Total = exact sum of individual prices Pass

↳ Full detail of each case (preconditions, exact steps) in the GitHub repository.

Bugs found (7)

Documented to the same standard I'd use on a real team: exact reproduction steps, actual vs. expected result, severity (technical impact) and priority (urgency to fix).

BUG007 — [Checkout] The system allows completing a purchase with an empty cart
Chrome · Windows 11 · demoblaze.com
  1. Reach the "Place Order" modal with no products in the cart
  2. Fill the form with any data
  3. Click Purchase
Expected resultBlocks checkout if the cart is empty
Actual resultGenerates a confirmed order with "Amount: 0 USD" — no validation that products exist
Purchase confirmation modal showing Amount: 0 USD
Severity: High Priority: High
BUG003 — [Checkout] Credit Card, Month and Year accept non-numeric text
Chrome · Windows 11 · demoblaze.com
  1. Cart → Place Order
  2. Type text into "Credit card", "Month" and "Year" (e.g. "asdasda")
  3. Click Purchase
Expected resultRejects non-numeric values in those fields
Actual resultAccepts the text and confirms the order anyway (Card Number: asdasd)
Checkout form with letters accepted in Credit Card, Month and Year
Severity: Medium Priority: Medium
BUG006 — [Checkout] Name, Country and City accept numeric values
Chrome · Windows 11 · demoblaze.com
  1. Cart → Place Order
  2. Type only numbers into "Name" (e.g. "4545456")
  3. Click Purchase
Expected resultRejects purely numeric values in text fields
Actual resultAccepts the number as a name and confirms the order without warning
Severity: Low/Medium Priority: Medium
BUG004 — [Cart] Duplicate product is not consolidated into a quantity
Chrome · Windows 11 · demoblaze.com
  1. Add the same product to the cart twice
  2. Go to Cart
Expected resultOpen question: consolidated row with quantity vs. 2 separate rows
Actual resultTwo identical rows appear (e.g. "Iphone 6 32gb" x2) instead of one row with quantity — the total does add up correctly
Cart showing duplicate products in separate rows
Severity: Low Priority: Low
BUG002 — [Checkout] "Purchase" accepts the form without required fields
Chrome · Windows 11 · demoblaze.com
  1. Add 1 product to the cart
  2. Cart → Place Order
  3. Leave all fields empty
  4. Click Purchase
Expected resultBlocks the purchase and requires at least Name + Credit Card
Actual resultNot reproduced — the system does validate and blocks with an alert
DemoBlaze alert asking to fill out Name and Creditcard
Not reproduced
BUG001 — [Cart] Total doesn't update when removing a product
Chrome · Windows 11 · demoblaze.com
  1. Add 2 products to the cart
  2. Verify the total is the sum of both
  3. Click "Delete" on one of the products
  4. Observe the total without manually reloading the page
Expected resultThe total updates immediately
Actual resultNot reproduced — the product is removed from the table correctly with no reload needed
Not reproduced
BUG005 — [Sign up] Duplicate username message is poorly integrated into the UI
Chrome · Windows 11 · demoblaze.com
  1. Sign up with a username that already exists
  2. Observe the error message
Expected resultError integrated into the UI, suggests logging in instead
Actual resultNot reproduced — the system does notify that the username is already registered
Not reproduced

↳ Full testing cycle complete — all 10 test cases executed and all 7 bug candidates verified. Full detail in the GitHub repository.

View repository on GitHub → ← Back to QA & Testing