Home Guides

WooCommerce testing guide

WooCommerce shipping test checklist

Test the postcodes, cart amounts and coupons most likely to change your shipping result. Use the free checklist yourself, or save supported checks in the plugin.

Published · Updated · Shipping Contract Guard

Free resource

Keep one repeatable shipping test sheet

Download the plain-text checklist, fill in the rules your store should follow, and reuse the same carts after each change. It works in a text editor and can be printed. No account, email address or plugin is required.

Download the checklist (.txt)

  • Test the first and last postcode inside a zone, plus one outside it.
  • Test just below, at and above a free-shipping minimum.
  • Repeat with the coupons and mixed products your store actually supports.
  • Record expected versus actual options and prices, then rerun after the fix.

For concrete before-and-after results, see our seven zone tests and free-shipping minimum tests. These examples use an invented store; adapt the checklist to your own shipping policy.

WooCommerce guides

Start with the problem in front of you

Each guide gives you a test to run, the setting to inspect, and the correct result to save for next time.

Seeing a shipping-zone debug message?

If WooCommerce says Customer matched zone “Locations not covered by your other zones”, start with the fallback-zone explanation. If the correct zone matches but checkout shows no shipping options available, check the methods and their conditions in that zone.

How can I test WooCommerce shipping without placing an order?

Choose one simple shippable product from your store and use made-up addresses, amounts, coupons, quantities, and shipping classes. Ask WooCommerce for the shipping result, record the exact options and prices, then repeat the same test carts after a change. This checks shipping calculations; test the visible checkout and payment separately.

Start with the no-shipping-options checklist when checkout cannot ship, or the shipping-class checklist when a Flat Rate cost is wrong.

1

Check the exact free-shipping amount

If free shipping starts at EUR 75, test EUR 74.99, EUR 75.00, and EUR 75.01. Use the number of decimal places configured in WooCommerce so rounding does not hide a change. If a coupon is part of the rule, repeat the three carts with and without that coupon. Check whether the store uses the amount before or after discounts.

2

Check which zone wins

WooCommerce selects the first matching shipping zone. Use made-up addresses for the zones you expect and for postcodes where two rules are close. Confirm both the chosen zone and the shipping options it shows.

3

Check shipping options and prices

Do not compare only the names customers see. Two shipping options can use the same name. Save the exact Flat Rate, Free Shipping, or Local Pickup option and its price.

4

Run the list again after a change

Retest after WooCommerce or shipping-plugin updates, zone or shipping-option edits, minimum-amount changes, coupons, and product changes. Keep the saved correct result until somebody reviews and approves a new one.

Retest after an update or store change

To check for a regression—a feature that worked before but broke after a change—run the same test carts before and after the change. Keep the saved correct shipping options and prices, then rerun them after WooCommerce, WordPress, theme, plugin, zone, coupon, promotion, or product changes.

Save a new correct result only when the shipping rule was intentionally changed. Do not replace it simply because the latest result is different.

Save and rerun these test carts in WordPress

For supported WooCommerce shipping rules, Shipping Contract Guard recommends useful test carts, shows the results for your approval, and runs them without placing an order.

Install free from WordPress.org

After activation, open WooCommerce → Shipping Contract Guard. Choose a recommended check, or open Customize if none appears. Review the test carts and approve the correct result before running your first check. Follow the first-check steps →