Stay in the Black: Prepare for Traffic Spikes with Web Application Load Testing Using Gatling

Stay in the Black: Prepare for Traffic Spikes with Web Application Load Testing Using Gatling
By Dzmitry Prymudrau, Head of Test Automation Innovations Department

Peak holiday sales are coming…  

Do you feel dismayed as an owner of an e-commerce web application about to experience spikes in traffic that can potentially cause undesirable load issues on your website?

There’s no need to panic. You don’t want your website to crash on its first Black Friday, just like the stock market did in 1929. Keep calm and prepare your B2C web application for the inevitable spike of holiday traffic. Doing this will help you maintain your brand’s reputation and retain your existing consumers while gaining some new ones along the way. 

It’s essential to opt for load and performance testing of your web applications to withstand extreme Black Friday and Cyber Monday traffic. 

Using the relevant and best load testing tools is as critical as always. Our Test Automation Innovations Department recommends taking advantage of Gatling.

Why Gatling? Let’s dig deeper and find out what makes Gatling testing so special, how to load-test web applications and the value proposition that Gatling provides for the e-commerce niche and for your individual business. 

Why It’s Essential to Perform Load and Performance Testing of Your Web Applications

If you experience a one-second increase in load time, you can lose around 11% of your website viewers. Deloitte reveals that performance lags worsen your user’s experience along with deteriorating customer satisfaction, which drops by 16%. Conversions drop by 4.42%. Obviously, these results are the exact opposite of what you’re looking for.

Factor in two more critical areas. First, your audiences often shop via smartphones, while they’re on the go, and they expect fast and seamless interactions with the web apps they use. 

Second, in the middle of their shopping weekend, consumers are likely to jump ship if they can’t buy what they want as quickly as possible from you – they often have long shopping lists, and you might lose out on potential sales. 

You need an advantage over your competitors if you wish to attract more buyers and have them proceed to the checkout. 

One of the tests to do is to ensure your app’s excellent functioning while it’s experiencing a heavy load. It’s best to keep an eye on how robust your application performance is while under a specified workload, which involves speed and reliability tests under various loads.  

That’s where web application load and performance testing come into play. 

QA engineers use tests to simulate a massive number of virtual users accessing your platform, so they can see if the infrastructure and the server can handle the increased load without drops in performance while maintaining functionality. 

To sum it all up, here are the value-adding deliverables you can expect as a result of performance and load testing web applications by well-versed specialists:  

  • Measured response time that shows if an application reacts to queries adequately and meets specific requirements and KPIs

  • Proper functioning of all your e-commerce app’s business while under heavy load

  • Verified scalability of the app's infrastructure (its readiness to adapt to a heavy load)

  • Reduced customer churn

You might want to go above and beyond and also test the user interface elements of your e-commerce web apps by performing API testing (a healthy website is better for your business). But let’s get back to load testing.

E-commerce Load Testing Scenarios: What They Are

To evaluate one or another load and performance testing scenario, engineers need to simulate how users may potentially interact with your online store. For example: shopping for fashion items, computer games, custom software and more. Load testing different scenarios simulate the stress on the site as the number of users increases and decreases.

Typical Scenarios

Consumers usually come to your e-commerce platform and make purchases by following these common patterns:

  • Visiting. A user opens the Home Page and then finishes the session.

  • Browsing. It starts off as Visiting, but then users may open random categories, scroll for products, open some item pages and then leave.

  • Searching. Like the previous pattern, it begins with visiting the app. A user types into the search field to find some products and opens some item pages and then leaves.

  • Add Items to Cart. Users may click on some random categories, add products to the cart, open item pages and then abandon the platform.

  • Guest Checkout and Registered Checkout. These two scenarios are pretty much the same thing. Both start with Add to Cart, and then a user goes to the checkout process and then leaves without creating an order. In Registered Checkout, a user logs in before interacting any further with the platform.

  • Guest Order and Registered Order. In this case, a shopping session ends with order placement.

  • Registering. A user completes the registration process on your e-commerce website.

  • Crawling. This scenario simulates background-noise traffic. Users click links and send requests to pages randomly.

These scenarios are the basis for load testing e-commerce applications which should be sufficient for your web app’s needs. If that’s not enough, let’s see what can be done for more complex, unique situations.

online shopping

Custom Scenarios

If you have a unique case that requires special attention, QA engineers can rewrite test scripts and also apply smart and client-specific tests.

The choice of which profound testing scenario to use depends on the way your users interact with your website, the scope of the web traffic, the user interface elements and also your unique business requirements. 

For example, test engineers may use load and performance testing tools to simulate the cases of adding a random amount of products to the cart and then opting out of some of the items. Or they may need to open several products without adding them to the cart and just click on another product. 

Wishlist scenarios are also in demand for load-testing of e-commerce web applications. It starts off with a customer logging into an account. It simulates customers browsing for products and adds some of them to a wishlist from four random pages, which can include the product listing page, quick view, product details page and recommendations zone.

One more scenario is checking how Guest Order Placement works if a customer uses a promo code. Customers often add some products to the cart and then enter a promo code while creating an order.

Your e-commerce solution may need other types of simulations, which our experienced  QA specialists will be glad to discuss with you in detail. Just contact us, and let’s discuss your individual needs and the solutions we can tailor.

How to Load Test Web Applications with Gatling

In an ideal world, you need to test, diagnose, conduct stress and functionality testing of your web app on a regular basis and make the needed adjustments based on the test results. 

Consider that if you’re still up for it. QA engineers can run small but regular tests and fix critical bugs the moment they occur. That can save time during the debugging phase at the end of a project stage.

As for web application load testing using Gatling, you should make it a permanent part of a CI/CD life cycle. 

Gatling is a continuous load-testing tool for web applications. It’s an open-source solution that engineers may use separately or integrate with other tools they need. 

QA engineers prefer Gatling because it simulates hundreds of thousands of requests per second while providing metrics that are very accurate. Gatling also helps aggregate testing results and automatically generates dynamic reports with colorful and easy-to-understand tables.

Gatling Load Testing Advantages

There are strong arguments for using Gatling to test e-commerce websites that are built, for example, on Salesforce or AWS: 

  • This powerful tool is ideal for continuous testing. It uses machine resources more efficiently than some of the other tools, like JMeter. The latter uses one thread per user, and when a virtual user is waiting for a response from the backend, it blocks the thread. That’s not the way Gatling works. When a response comes back, it sends a new request asynchronously. If JMeter allows simulating a 300-user load on the load testing server, Gatling works with 1000, while using the same machine capacity.

  • It provides great HTTP protocol support. By default, Gatling supports JMS and WebSocket protocols.

  • The code-like scripting of Gatling eases the work with different testing scenarios and test automation. 

  • The core engine doesn’t depend on protocol, making it easier to create custom protocol support for Gatling.

  • Gatling is based on the Scala language that uses JVM for execution. Engineers have Java and Scala for all utils and the application logic. 

  • This tool makes load testing of client's e-commerce applications faster while requiring fewer resources.

Disadvantages of Using Gatling

This tool has a few drawbacks: 

  • Gatling is limited to supporting such protocols as HTTP, JMS, WebSockers and Server-sent events only. That might not be sufficient in some specific or custom cases.

  • It can be difficult to master how to load test web applications with Gatling. This testing tool is very code-heavy. 

  • Gatling has less support documentation and a smaller user base compared to some of the other tools. It’s also not as intuitive as some of the other tools.    

  • While testing is under execution, the level of information that’s available is poor.

At Solvd, we have learned insights into Gatling the hard way by doing our best for our e-commerce clients. It’ll be helpful for you to take a look below at some of the customer stories we have to share with you.

Why Choose Solvd When You Need Web Application Load Testing?

Because of the clients you are going to read about who turned to us and didn’t regret it. They got their testing costs reduced and their websites prepared for potential challenges. 

Last year, Solvd QA and testing engineers worked for a sports e-commerce brand that needed load testing of websites before the Black Friday hustle began. They had one month to test an e-commerce solution that involved such architectures as a legacy SiteGenesis Salesforce and Storefront Reference Architecture. Our engineers successfully deployed load testing on four localized sites for different countries using Gatling. Business saved – capitalizing on holiday sales assured!

ecommerce during black friday

Another load testing story started with a request to check the functioning of a jewelry e-commerce website. The client had time and resource restrictions, and as a result, one engineer had to complete all testing activities in just a week and a half. Gatling usage allowed our QA professional to meet the demanding objectives successfully. 

If you’re stuck with e-commerce website testing, don’t hesitate to contact us and discuss your needs. Your web application deserves to be the best it can be. We can help you get your web application up to its full potential.

In Conclusion

As an e-commerce website owner, Black Friday might freak you out because of the traffic nightmare and resulting web application performance issues it can bring.

What you need to do is to focus on the quality of the customer shopping experience your e-commerce web platform offers. You should test how B2C applications will work when the number of potential buyers rises sharply. 

Efficient testing tools, like Gatling, do an excellent job with typical and custom tasks. They aid with fixing specific website load issues and help increase sales while elevating the overall shopping experience.

Dzmitry Prymudrau
Dzmitry Prymudrau
Head of Test Automation Innovations Department
Dzmitry Prymudrau graduated from BNTU with a Bachelor's degree in Industrial and Civil Engineering. He represents Solvd at international tech conferences and teaches students who are taking courses at Solvd.Laba.

Tell us about your needs