Test the Entire Purchase: Build a Test Matrix for WooCommerce
Category: WooCommerce. A practical test matrix makes it possible to check the entire purchase, from product selection and checkout to inventory, integrations, and accounting.

Category: WooCommerce
A WooCommerce store is not fully tested just because one person has managed to pay for one product. Professional online stores have multiple product variants, shipping rules, payment methods, customer types, and integrations. Each combination can affect what the customer sees, what is recorded on the order, and what is passed on to the warehouse, accounting system, and carrier.
A test matrix makes this complexity manageable. Instead of clicking randomly through the store, you create a limited set of test purchases that cover the most important business rules. The matrix can be used before launch, after major changes, and as a regular check during updates.

Start with risk, not every possible combination
It is rarely realistic to test absolutely every combination of products, addresses, shipping methods, and payment methods. The goal is to identify the combinations that are either used frequently or could have major consequences if they fail.
Begin by bringing together representatives from the online store, customer service, warehouse, accounting, and technical operations. Each role is familiar with different types of errors. Customer service knows which orders generate questions. The warehouse knows the problems associated with product numbers and pick lists. Accounting knows what must be correct for settlements and bookkeeping to be reconciled.
Prioritize test cases based on three questions:
- How often does this type of purchase occur?
- How serious are the consequences if the purchase is processed incorrectly?
- How many systems and rules are involved?
An ordinary purchase using the store’s most common payment and shipping methods should always be included. The same applies to less frequent, high-risk cases, such as an order with a discount, a partially out-of-stock product, or delivery to an area with specific shipping rules.
Define test products that cover the product structure
Random products produce random tests. Instead, choose a small, fixed set of test products that represents the structure of your product catalog.

The test set could include:
- A simple product with inventory tracking.
- A product with multiple variants, such as size and color.
- A physical product with a high weight or special shipping requirements.
- A digital product without physical delivery.
- A product that is on sale or covered by a discount rule.
- A backordered product, if the store allows backorders.
Check more than the product page. Product name, variant, product number, price, tax, quantity, and weight must follow the purchase correctly through the cart, checkout, order view, email, and integrations. A variant that is displayed correctly to the customer may still be exported with the wrong product number to the warehouse.
Build the matrix around real purchasing situations
Each row in the test matrix should describe one specific purchase. Avoid vague points such as “test checkout.” Write what should be purchased, by whom, using which address, shipping method, and payment method, as well as the expected result.
A test case might look like this:
- Customer: New private customer without a user account.
- Cart: One product tracked in inventory and one variant.
- Delivery: Standard domestic address.
- Payment: Card payment.
- Expected result: Correct total, inventory reduction, order confirmation, and transfer to the warehouse and accounting system.
Then create variations that cover important deviations. These could include a business customer, a coupon, free shipping above a certain amount, different billing and delivery addresses, or an interrupted payment attempt.

Check checkout as a calculation
Checkout brings several business rules together in one place. Price, discount, tax, shipping, and payment fees must be calculated correctly and presented clearly. Therefore, test both the figures and the experience.
For each test purchase, you should check:
- That mandatory fields are clearly indicated and can be completed using the keyboard.
- That error messages explain what the customer needs to correct.
- That the total updates when the address or shipping method changes.
- That discounts are applied to the correct products and amounts.
- That available payment methods suit the customer type, country and order value.
- That the customer can see what they will pay before confirming the order.
- That a double-click does not create two orders or payments.
Carry out at least some tests on mobile and with a slower connection. A checkout may work technically on a fast office computer but become unclear when loading and responses from the payment service take time. The customer must be clearly informed that the payment is being processed, and the button must not invite repeated attempts.
Test what happens when payment fails
The normal purchase journey is only half the picture. Errors often occur at the transitions between WooCommerce and the payment service. The customer may close the window, cancel the authorisation or experience a connection failure after payment.
Create separate tests for cancelled, declined and delayed payments. Check which order status is set, whether stock is reserved or reduced, and what information the customer receives. Customer service must be able to distinguish between an order that was never paid for and a payment that was registered externally but not fully updated in the online store.
Also test how a new payment is handled. The customer should not have to guess whether it is safe to try again. At the same time, the solution must reduce the risk of the same order being paid for multiple times.
Follow the order through all systems
A successful purchase in the browser is not necessarily a successful order process. Testing must continue beyond the thank-you page.
Check the order at every stage:
- Was the order created with the correct customer, product and price data?
- Does the order have the correct status for the selected payment method?
- Has stock been updated for the correct product and variant?
- Have the correct emails been sent to the customer and internal recipients?
- Has the order been transferred to the warehouse, finance system or other business systems?
- Has the receiving system interpreted the product number, tax, discount and shipping correctly?
- Can tracking information and subsequent status changes be sent back?
Do not rely solely on the integration reporting “completed”. Compare the contents of both systems. An order may have been transferred without all lines, discounts or address fields being correct.
Include changes after the purchase
Many errors occur when an order needs to be changed. The test matrix should therefore also cover cancellation, refunds and any returns.
Test a full refund and, if the business uses it, a partial refund. Check what happens in the payment service, WooCommerce, the finance system and the warehouse. It must be clear whether items are automatically returned to stock, or whether this should only happen after a physical return has been inspected.
Also try an order that is changed manually. If customer service adds a product, changes shipping or adjusts the quantity, you need to know which calculations and integrations are run again. Manual procedures should be documented when the systems cannot keep everything synchronised automatically.
Measure performance where customers actually wait
Test purchases provide a good opportunity to assess performance throughout the journey. Record where you experience noticeable waiting: when the cart is updated, when shipping is calculated, when the checkout loads and when the order is submitted.
Distinguish between slowness in the online store and waiting for external services. Payment, address lookups, shipping calculations and integrations can affect response times. This should be visible in technical logging so that the person responsible for operations can find the bottleneck without guessing.
Also test with a realistic cart size. A store where customers often buy many line items should not be tested with just one product.
Make the test matrix part of your operational routine
A test matrix loses its value if it is only used at the initial launch. Update it when you introduce new payment methods, shipping rules, product types or integrations. Remove test cases that are no longer relevant and add new ones when customer service identifies recurring problems.
Assign each test case a responsible person, expected result and status. Also record which environment and date the test applies to. When errors occur, note whether the problem lies in WooCommerce, an extension, the integration or an internal procedure.
Before a major launch or update, the business should define which tests must be approved. Critical purchase journeys must not have unresolved errors. Minor deviations must be assessed, documented and assigned to a responsible person.
A small test set is better than random clicking
You do not need to start with a comprehensive quality system. Begin with the five to ten purchase situations that account for the most revenue or carry the highest risk. Ensure that each test follows the order all the way from product selection through payment, stock, integrations and post-processing.
This makes testing a check of the business’s actual sales process, not just the website’s buttons. It leads to safer launches, faster troubleshooting and fewer orders that need to be repaired manually after the customer has paid.



