Software needs testing. No one in their sane mind would think otherwise. However, there are specific types of testing for specific, special kinds of activity. Ecommerce is one of those activities, and what’s more, it is an activity that comprises many –concurrent– activities, which means it is also an activity that implies the existence and use of a whole ecosystem of software applications/tools. Ecommerce platforms are complex and are often squeezed to the very limit of their possibilities in terms of processes and functions, hence, assuring that our online store has a smooth performance independent of the conditions and doesn’t present major bugs is critical for our business.

Deconstructing Ecommerce

From the front end of an Ecommerce website to its checkout and payment page, there are multiple actors in play and each one must perform in perfect coordination with the rest.

Let’s enumerate and define them briefly:

    • The Website or Online Store, the face of an Ecommerce business, the interface through which users and potential customers get to know our brand, products and services.
  • Web Services and Online Transaction methods are the machinery under the hood, what makes virtual sales real.
  • Supply Chain/Inventory Management –or ERP– systems are crucial for keeping numbers on product stock, processing orders and strategizing/coordinating deliveries.
  • Payment Systems allow the transfer of funds from bank to bank and the use of cash-substitutes like credit or debit cards over the internet.
  • Marketing Systems enable business owners to automate marketing campaigns, promote products over the internet through social media or paid ads and collect various sorts of data in order to reach a target audience. Once a customer, always a customer, must be the motto.

What to Look After

  • UI/UX bugs:

Bugs in the front end of our website can seriously hinder user experience, meaning the difference between a visitor staying in our store, shopping, or leaving it and losing that customer. Images, descriptions, prices, and stock levels should all display correctly.

  • Form bugs:

Data should be collected and stored correctly and forms should lead to the appropriate pages (such as those connecting to accounts).

  • Shopping Cart bugs:

Same as with the front end, if problems arise with the shopping cart, both a sale and a potential customer can be lost. It’s what’s known as cart abandonment.

  • Secure Payments:

Payment methods must be secure and reliable. Data like bank account or credit card numbers are highly sensitive and imply a responsibility for both customers and business owners, so, security breaches at the payment level should be approached with priority.

  • API/Web Service bugs:

Checking the consistency and correct request/response messages from our Ecommerce platform APIs when performing the different transaction operations is central to the proper functioning of our order and customer management systems.

  • Performance bugs:

According to Amazon, circa 2009, every 100 milliseconds of latency would cost 1% loss in sales, while a 2017 Akamai study showed that every 100ms delay in page load time could hinder conversion rates by 7%. This leaves the importance of page load speed and benchmarking out of discussion.

  • Forms bugs:

Forms should correctly store the entered data and redirect to the relevant pages e.g.: accounts, search results, etc.

  • Checkout process bugs:

Payment processes require serious testing. All calculations of costs should be exact (tax, shipping, etc.).

  • Database bugs:

Databases should smoothly and correctly perform transactions. Inconsistencies should be thoroughly checked.

  • Common Ecommerce Platform bugs:

Inventory, stock, product variant, customer email, billing/shipping address, product upload, server configuration, plugins, themes, 404 and 505 errors, etc, are some of the errors we might have to deal with when testing an Ecommerce platform.

Ways to Attack These Problems

  • Functional tests: check the most possible combinations of inputs and outputs across the whole system. The way in which we test our system performs according to the defined requirements.
  • Regression Tests: accessory to functional testing, they ensure new code doesn’t conflict with stable, older components of our platform.
  • Usability Tests: we should try to make the user experience as most intuitive as possible. A should lead intuitively to B, and B to C and so on. Elements and functions in the flow should be clear and logical in order to create an enjoyable browsing experience and cater to the conversion rate.
  • Security Tests: known are the risks of running an online business. Common threats like DDOS and SQL injections into online forms are some of the many that should keep us vigilant. Encryption and secure transmission of data is a must, with no exceptions.
  • Performance Tests: are primarily concerned with an app’s ability to deliver outcomes under different circumstances. Site speed, load times, performance under increased traffic are the areas that need to be considered.
  • A/B Tests: aka split testing, in which we analyze quantifiable aspects like traffic, user actions (views, clicks, etc.) between two versions of our website in order to come to a conclusion as to which of both versions yields a higher conversion rate. In the end, this will help us determine which of both versions performs better and which will be the most suitable candidate to be online.
  • End to End –or E2E–, is a software testing technique or methodology which, as the expression signifies, is employed to test a software application or system, from beginning to end, simulating real world scenarios in which the end user would go through the entire flow of the application, checking the correct –expected– behavior in all of its phases. The end goal is to test the integrity of the whole system, from components and databases, to network connectivity, data integrity and any given dependencies.

Conclusion

Ecommerce platforms offer a great range of possibilities in terms of what modern business requires, however, thorough and high-coverage is required, since such platforms are truly an integration of very heterogeneous software applications which must run smoothly and in perfect attunement. User experience and security should be at the top of concerns, since first impressions and a rewarding use experience are basically everything.