Checkout testing

Billing Address vs Shipping Address

A billing address is usually associated with payment records, while a shipping address is where a package or physical item is intended to be delivered. They can be the same, but checkout systems should handle them as separate data fields.

Billing address

Billing address fields are commonly used by payment, invoice, tax, and fraud-review systems. Test data should include names, postal codes, country fields, and state or region fields that match the validation rules expected by your payment flow.

Shipping address

Shipping address fields often need more delivery detail, such as apartment, suite, building, locality, delivery instructions, and phone number. International checkout testing should include countries with different postal code shapes and address order.

What to test

Use test data safely

Random address data is useful for checkout QA and screenshots. It should not be used as verified cardholder information, real delivery information, or identity data.

Checkout state transitions to test

ActionExpected resultCommon defect
Select “same as shipping”Billing fields inherit a clear snapshot or referenceLater shipping edits leave stale billing values
Clear “same as shipping”Billing fields become independently editableFields remain disabled or are unexpectedly blank
Change shipping countryOnly shipping labels and rules changeBilling state and postcode are overwritten
Return to checkoutBoth addresses restore in the correct field orderAddress Line 2 or region is lost

Do not simulate payment approval with an address

Address data alone cannot reproduce card authorization, address-verification response codes, tax calculation, or fraud decisions. Use the payment provider's official sandbox cards and documented test responses. Use synthetic addresses only to test your own fields, display logic, storage, and handoff payload.

Example assertion set

After order creation, compare billing and shipping objects field by field. Confirm that country codes are explicit, postal codes remain strings, optional lines do not produce stray commas, and the customer-facing confirmation uses the correct address for each purpose. Mask or remove fixtures before analytics and fulfillment jobs run.