Every tester has heard the phrase “testing is testing.” Regardless of technology stack, tool, or application, once you understand the craft of software testing, you should really be able to test just about anything. I like this phrase for what it represents. The testing mindset – being analytical, understanding the way things are meant to work, and creating test ideas to explore that – these things are all-powerful.
But different types of software have different priorities. In a risk-based approach to testing, understanding the priorities that exist for your industry vertical, your domain, or your software type is essential to ensuring a quality product.
Ecommerce sites have become part of our daily lives in recent years, and the pandemic has taken the popularity and necessity of shopping online to all-new levels. Retail and ecommerce are fast-paced industries that are always changing; whether that’s refreshing your product catalog by bringing in new products or just rearranging the products that you have to attract the attention of ever-fickle consumers.
Testing ecommerce sites can be complicated because they are always evolving, but in a competitive landscape where bugs that impact a site’s ability to convert a visit to a buy have a huge implication on profit, testing well has important ramifications.
Let’s talk about where you need to be thinking about testing when it comes to ecommerce sites:
Content Management Systems (CMS)
Whether you’re using an off-the-shelf CMS or one that you’ve built in-house, an effective CMS should control the majority of the rapidly changing content on your ecommerce site. This includes product catalogues, special offers, and features, as well as marketing materials.
I once worked at a company where the presentation of marketing materials was done manually through manipulated code. We updated them daily and every second or third day, an issue would escape. This meant that we were forced to manually test every single marketing release in production. Given that this was evening testing, it meant that the testers themselves didn’t want to be there, which increased the likelihood of them missing issues as they raced through the testing – not an ideal situation for anyone involved.
It’s not that you don’t have to test a CMS, but there’s a difference between testing one and testing the content that it serves. Once you have properly tested your CMS and have faith in its capabilities and limitations (and maybe even some automation protecting against changes coming in future releases), you can focus your testing differently.
Ensuring that there is a proper process for vetting new or replacement content will give you confidence that these materials won’t cause you problems in the future. Having a system that can take care of deployments is part of what a CMS is meant to do, meaning that you can test your changes in your test environment and be confident that what will go to production works.
The cart and checkout flow is critical in ecommerce testing. While having a failed product catalogue is bad, rarely will the entire catalogue fail and that issue can be easily reminded by having a well-tested CMS. On the other hand, when your cart and checkout flow has a bug or an issue, your customers can’t do the one thing that came to your site to do: buy something.
Carts are often the more complicated part of an ecommerce application; verifying addresses, quantities, taxes, and totals make them difficult to maintain and to test. It’s important to dedicate the attention necessary to ensure that they work properly, every time. You need to understand how they operate, what widgets are being incorporated (i.e. for address verification or taxation rules), and the complicated flows that can lead to and from your cart.
The complexity of carts is one of the reasons that plug-in cart flows are popular in ecommerce solutions. After a plug-in flow is implemented and properly tested, you won’t need to test it too deeply until your next release with that specific plug-in.
Automation becomes the cornerstone of stability and confidence in your ecommerce site. For continuing quality in your data points, develop a robust suite of API tests that can pick up various combinations of products, pricing, and destinations and ensure that these can flow through your system effectively.
As mentioned, include enough GUI testing that you can spot-check your CMS integrations to ensure that your customers are being presented what they expect. Focus on making sure the different components of your site function well on their own, but since the full visit to check-out experience is so important, include some end-to-end tests to ensure an overall experience. Round out your testing coverage with a complete set of API tests. These tests will ensure data flow, consistency, and accuracy better than GUI tests. They are also less prone to breakage, easier to maintain, and run significantly faster than GUI tests.
It’s important that your testing strategy includes proper thought and analysis of the performance of your site and that you understand peak loads, scaling of servers, and the impact that more CPU intensive parts of your site may have when you focus people more directly on those areas. Promos and deals can become hugely negative experiences when your site suddenly slows to a crawl because you’re using a flow that has never been used in this way before.
Lastly, it’s important that you do not skip out on thorough security testing. In this day and age, the public getting any whiff of the fact that your site might be insecure or that their credit card information may be at risk will spread quickly and could have disastrous ramifications. We recommend training your testers and developers on security concepts, and to engage a security professional to review and test your site.
In the end, the core concepts of an issue-free user experience remain true regardless of the type of testing you are taking on. In ecommerce, however, these experiences become the most important thing for the success of both your site and company.