Manual testing guide

15 Checkout Test Cases for Ecommerce Websites

Checkout failures directly affect revenue and customer trust. Coverage should verify calculations and payment outcomes while also protecting against duplicate submissions, stock changes and inconsistent order states.

Example requirement

A customer can review their cart, provide delivery details, apply a valid promotion and pay using a supported payment method. The system must create exactly one order only after a confirmed payment outcome.

Generate test cases for this example

15

Test cases

6

Coverage types

11

High priority

CSV

Export format

15 example test cases

Filter the coverage, switch between card and table views, then copy or export the cases you need. Replace assumptions with the confirmed rules, environments and risks of your product.

Showing 15 of 15 cases

CHECKOUT-001FunctionalHigh priority

Complete checkout with a successful payment

Precondition

The cart contains available products.

Expected result

One paid order is created with the correct items, totals, delivery details and confirmation.

Steps

  1. 1.Open checkout
  2. 2.Enter valid delivery and payment information
  3. 3.Review the total
  4. 4.Confirm payment
CHECKOUT-002FunctionalHigh priority

Calculate totals, tax and delivery correctly

Precondition

Calculation rules and a qualifying cart are available.

Expected result

Every component and the final payable total are calculated and displayed correctly.

Steps

  1. 1.Review the cart subtotal
  2. 2.Proceed to checkout
  3. 3.Compare tax, delivery, discount and final total with the documented rules
CHECKOUT-003NegativeMedium priority

Reject an invalid or expired promotion

Precondition

An invalid or expired promotion code is available.

Expected result

The discount is not applied and the customer receives a clear reason without losing cart contents.

Steps

  1. 1.Enter the promotion code
  2. 2.Apply it to the cart
CHECKOUT-004NegativeHigh priority

Handle a declined payment without creating a paid order

Precondition

A payment method that produces a decline is available.

Expected result

The failure is explained, no paid order is created and the customer can retry safely.

Steps

  1. 1.Complete checkout details
  2. 2.Submit the declining payment
  3. 3.Review the order state
CHECKOUT-005SecurityHigh priority

Prevent duplicate orders from repeated confirmation

Precondition

The checkout is ready for final confirmation.

Expected result

At most one successful charge and one corresponding order are created.

Steps

  1. 1.Activate the final payment action repeatedly
  2. 2.Review payment and order records
CHECKOUT-006BoundaryHigh priority

Handle stock becoming unavailable during checkout

Precondition

An item can become unavailable before confirmation.

Expected result

The customer is informed before payment is finalised and the order total remains consistent.

Steps

  1. 1.Begin checkout with the item available
  2. 2.Make the item unavailable
  3. 3.Attempt to confirm the order
CHECKOUT-007AccessibilityMedium priority

Complete checkout using keyboard navigation

Precondition

Checkout is open with keyboard input available.

Expected result

Focus order is logical, validation is perceivable and the flow can be completed without a pointer.

Steps

  1. 1.Navigate every field and control using the keyboard
  2. 2.Review errors and complete payment
CHECKOUT-008FunctionalHigh priority

Complete checkout as a guest

Precondition

Guest checkout is enabled and the cart has an available item.

Expected result

One order is created and confirmation is available without forcing account creation.

Steps

  1. 1.Proceed without signing in
  2. 2.Enter valid delivery and payment details
  3. 3.Confirm the order
CHECKOUT-009NegativeHigh priority

Validate required delivery fields

Precondition

The delivery form is open.

Expected result

Progress is blocked and every missing field receives clear guidance.

Steps

  1. 1.Leave required delivery fields empty
  2. 2.Continue to payment
CHECKOUT-010FunctionalHigh priority

Update totals when cart quantity changes

Precondition

The cart contains a product with adjustable quantity.

Expected result

All displayed amounts update consistently using the documented calculation rules.

Steps

  1. 1.Increase and decrease the quantity
  2. 2.Review subtotal, discounts, tax and final total
CHECKOUT-011FunctionalMedium priority

Remove an applied promotion

Precondition

A valid promotion is applied.

Expected result

The discount is removed once and every dependent total is recalculated.

Steps

  1. 1.Remove the promotion
  2. 2.Review the updated total
  3. 3.Continue checkout
CHECKOUT-012BoundaryHigh priority

Handle an expired cart or price change

Precondition

A cart can expire or a product price can change.

Expected result

The user reviews the authoritative price and availability before payment is finalised.

Steps

  1. 1.Leave checkout open until the state changes
  2. 2.Attempt to confirm the order
CHECKOUT-013NegativeHigh priority

Recover from payment cancellation

Precondition

The payment method supports cancellation.

Expected result

No paid order is created and the cart can be reviewed or retried safely.

Steps

  1. 1.Start payment
  2. 2.Cancel at the provider
  3. 3.Return to checkout
CHECKOUT-014SecurityHigh priority

Refresh after successful payment

Precondition

A payment completed successfully.

Expected result

No additional charge or order is created and the confirmed state remains consistent.

Steps

  1. 1.Refresh the confirmation page
  2. 2.Use browser Back and Forward
  3. 3.Review payment and order records
CHECKOUT-015UsabilityMedium priority

Display a usable checkout on a mobile viewport

Precondition

A supported mobile viewport is available.

Expected result

Fields, totals, errors and the final action remain readable and operable without horizontal scrolling.

Steps

  1. 1.Open checkout on the mobile viewport
  2. 2.Enter delivery and payment details
  3. 3.Review and confirm

Coverage checklist

  • Reconcile the order, payment and inventory states after every failure path.
  • Test rounding with different quantities, taxes, discounts and currencies.
  • Verify idempotency when the final action is repeated or the response is delayed.
  • Cover payment cancellation, timeout, decline and unknown-result states.
  • Confirm that confidential payment data is never written to logs or application storage.

Common defects

  • • The displayed total differs from the charged amount.
  • • Double-clicking creates duplicate orders or charges.
  • • A declined payment marks the order as paid.
  • • Cart contents disappear after a correctable validation error.
  • • A price or stock change is not shown before confirmation.

Suggested test data

  • • Guest and registered customers
  • • Valid, expired and ineligible promotions
  • • Addresses with different tax and delivery rules
  • • Successful, declined, cancelled and timed-out payment methods
  • • Products at low stock and changing prices

Automation notes

  • • Stub provider outcomes for deterministic success, decline, cancellation and timeout coverage.
  • • Assert the UI, order record and payment record instead of checking the confirmation message alone.
  • • Use idempotency-aware cleanup so retries do not hide duplicate-order defects.

Frequently asked questions

What should ecommerce checkout testing include?+

Cover the cart, delivery details, totals, taxes, promotions, payment outcomes, inventory changes, duplicate prevention and confirmation.

How do you test duplicate payments?+

Repeat or retry the confirmation action and verify that idempotency controls allow no more than one successful charge and one matching order.

Which checkout scenarios are highest priority?+

Successful purchase, total accuracy, declined or uncertain payment outcomes, duplicate prevention and stock changes usually carry the highest business risk.

Related test case examples

Generate cases for your own requirement

Paste your real user story, choose the coverage categories and receive structured manual test cases you can review and export.

Open the free generator