TEST, TEST, then TEST SOME MORE!!!
Why test?
Because you owe it to yourself (and your client, if applicable). Things don't always work as they should with ecommerce. There are lots of moving pieces. Think for a moment about a “simple” transaction. These are some of the systems involved:
Your website (and your links, forms, javascript, etc.)
FoxyCart, our code (the stuff you can't change)
FoxyCart, your code (the stuff you can change like templates)
FoxyCart, your decisions (shipping, tax, categories, emails, etc.)
The shipping carrier(s) you selected
Your Payment Gateway
Your Customer's Bank
Your Merchant Account
Emails (receipts, spam filters, 100 different mail clients)
-
The store admin (who's actually fulfilling orders)
Lots of different pieces that you need to test to make sure everything's working properly.
How to test
The more people you have testing, the better off you'll be. Here's a quick checklist of people to help you test:
You and your employees, co-workers, and bosses.
Your client, store owner, etc., and their employees and bosses.
Your parents, or other “average” or “below average” internet users.
Anybody else that will do it.
What to test
The following list is not exhaustive, but should get you started. If you have more ideas please add them.
ADD-TO-CART LINKS and FORMS (on //all// pages)
Make sure your input is validated. For example, if you're using a
CMS, what happens to your links/forms if the user enters a single quote or double quote or line break or other special character?
CART and CHECKOUT Templates
All the browsers your customers are likely to use.
With separate shipping addresses.
From different countries. In different parts of your country.
RECEIPT Template
People always forget this one.
RECEIPT EMAILS
Do a reality check. Make sure they're going out to the expected recipients.
SHIPPING
Make sure the options you offer are available in all states/provinces of your country. (ie. Some express shipping methods aren't available in all places in the US.)
Make sure the prices returned are accurate.
Make sure handling fees are appropriate and accurate.
TAXES
Consult a tax professional for the state/country you're in.
PAYMENT GATEWAY
Test Visa, MasterCard, American Express, Discover, and whatever other cards you might be able to accept (Maestro, debit, Diners' Club, etc.)
Test with a real card (your own). You can void the transactions so you don't get charged.
Check your gateway's fraud controls.
Check your gateway's defaults.
Turn off your gateway's CSC (CVV2, CSC2, CID, etc.) requirement, if necessary. Since the CSCs aren't allowed to be stored, those are not sent on subscriptions and when a customer uses a saved card.
MERCHANT ACCOUNT
Run a few live transactions. Make sure the money goes from your gateway to your merchant account without any problems.
Make sure you're aware of any default settings and fraud controls on that end.
Make sure you know how to refund a transaction.
DOWNLOADABLE PRODUCTS (if applicable)
Make sure your files can actually be uncompressed on both Windows and Mac (and Linux) computers.
Make sure the files are usable/playable, and not corrupted or anything.
SUBSCRIPTIONS
If you're using subscriptions, run a real one on your LIVE gateway with your REAL credit card. Set it for a 1 day cycle so you don't have to wait. Make sure it goes through.
Turn off any CSC requirements on your gateway. THIS IS IMPORTANT, since the CSCs do not get sent on subscriptions (other than the first (unless it's set to a future date)).
Watch your error log in your FoxyCart admin just to be sure.
3rd Party / XML Integrations
FULFILLMENT / BUSINESS PROCESSES
What happens when an order comes in? Who's notified? What if they're on vacation? What if their computer crashes? (Hint: Set up a distribution list rather than sending stuff to a single person.)
What's the process from order to shipment to followup? Map it out, delegate, set goals and expectations.
What if there's a problem with an order? Who's calling the customer? Who has access to void a transaction?
Who has passwords for the gateway, the merchant account, the bank account, FoxyCart, any 3rd party services, etc.? (Keep your passwords safe, please.)
What verification is done on orders prior to shipping them? What fraud controls do you have on your end?