Content Copyright © 2023 Bloor. All Rights Reserved.
Also posted on: Bloor blogs
Keysight Eggplant is a test design automation platform that leverages AI and other technologies to test “through the eyes of the user”. It has many significant qualities (some of which I have discussed in previous articles) but in this blog I want to talk about its application to e-commerce systems in particular.
First of all, let’s think about a typical test scenario for e-commerce. There will be a huge number of potential user journeys, to begin with, since customers are going to be freely – and often chaotically – interacting with your system. At the same time, it’s really quite important that your e-commerce system works consistently, especially since it contains what is probably the most crucial point of customer interaction – giving and receiving payment. If it doesn’t, pretty soon your customers will take their business to a competitor. In fact, even a short downtime can have a big effect, so having an e-commerce system that works consistently is really quite important. The same thing can happen if your system is just a pain for customers to work with, so you’d better make sure it’s reasonably performant and easy to use, as well: poor search capabilities, complicated checkout processes, and even slightly longer than usual load times can all cause customers to abandon an otherwise appealing purchase. Amazon rather infamously reported that 100ms of latency lost them 1% in sales, and that was almost 15 years ago. Standards have only gotten higher since, as more recent studies have shown: some suggest that the conversion rate for that 100ms has risen to as much as 7%.
In short, you need to build a good customer experience, and to do that consistently and effectively you will you need to validate it through testing. There’s no better way to do that than by automated testing with a platform like Eggplant, which enables you to test for a good customer experience and modify your system appropriately if it’s not achieved. The automated part is important: manual testing just isn’t fast or efficient enough to cover a meaningful number of potential user journeys for any system of significant size in a reasonable amount of time. It might be able to create good experiences for the customers on happy paths – although frankly even that is doubtful – but practically ensures awful experiences for the customers that deviate, which, customers being customers, will happen frequently.
Eggplant goes even further with this than most test automation products, in that it leverages AI to detect potential user journeys, then generates maximally covering test cases accordingly. You just need to specify the makeup of your system by building a model of it, at which point you never need to leave it up to an unfortunately fallible human to decide what needs to be tested. This is very useful for providing a consistently good experience to your customers, regardless of how they interact with your system, and for reducing the risk that a catastrophically poor experience will befall any of them, again regardless of how they interact. Moreover, although Eggplant can use various different methods for testing your system, it primarily operates on the visual layer, leveraging image and optical character recognition to determine test success or failure. This means that even if an element under examination exists in your code, your tests won’t pass unless it is appropriately visible and interactable by the user. This further improves coverage and helps ensure a good customer experience. In addition, the nature of automated testing is that it lets you test early and often, making it easier and less costly to fix any issues that arise.
In the same vein, Eggplant tests can run interchangeably between different devices, such as phones, desktops, laptops, and different versions of the same. This is particularly important because user journeys frequently span multiple devices, and can even be interrupted mid flow – by a phone call, for instance – which Eggplant can also test for. In fact, Eggplant have partnered with Sauce Labs, and are able to provide access to Sauce Labs virtual and physical device farm to fully capitalise on this. This is all possible because Eggplant tests are completely decoupled from your system’s underlying code. What’s more, this design methodology provides a degree of future proofing: even if the underlying system changes completely, you can still keep your tests. Those tests could even be beneficial during such a migration, in order to verify that everything still works – or doesn’t – after the fact. Third party systems can be incorporated into your Eggplant tests, and your tests can be run automatically in any number of different programming languages, without alteration.
Eggplant also benefits from ease of use on the backend, which is particularly helpful for facilitating collaboration between technical and non-technical users. It also stands to improve the productivity and efficiency of your existing testers, and decrease the time it takes to onboard new ones. In addition, the “write once, test many” style of model-based testing that Eggplant employs makes it easy to maintain your test cases even as the underlying system changes. In fact, it is largely automatic.
Eggplant can test on production environments, and combined with its CI/CD pipeline integration this can offer greater confidence in your live system, mitigating “but it works on my machine” style issues. Lastly, Eggplant is a single platform that covers a multitude of testing needs, rather than a selection of individual tools that need to be combined together yourself. The end result is that Eggplant is a formidable platform for test (design) automation in general, and for e-commerce systems – among other things – in particular. To find out more, check out Keysight’s webinar, “Making the Impossible Possible – Testing Every User Journey.”