Last year, 103 million Americans shopped online over the Thanksgiving/Black Friday weekend. Are you and your shopping interfaces ready for that kind of customer load and impact on the bottom line? By load testing your mobile app and website make sure you are prepared for the number of transactions that are headed your way.
In 2016, Thanksgiving in the US is November 24, and is immediately followed by Black Friday on November 25. That’s only three months away! Thankfully there is plenty of time to check out those awesome online bargains, right? Yes, this is true if you are a consumer who is looking to make purchases. But if you’re an online retailer, you had better be thinking right now about how to prepare for this two-day spending spree.
Last year, 103 million Americans shopped online over the Thanksgiving/Black Friday weekend. They spent $4.45 billion online over the two days, and a third of those purchases were made on mobile phones. More consumers shopped online than those who actually went to brick-and-mortar stores – an estimated 102 million, and even more are expected to shop online in 2016.
Proper Preparation Prevents Pretty* Poor Performance
It’s never too early, and it’s never too late to start preparing for high volume traffic on your site. If your site isn’t ready, the penalties can be high. Remember, your competitor’s site is only a click away. You need to make sure that if customers come to your site, you don’t give them a reason to leave. If your UI isn’t responsive—or worse, if they can’t access your site at all—you’ll lose them. And once you’ve lost them, they’re unlikely to come back.
Performance engineering should be baked into your development processes from the start. But in case you’re not quite ready, there are things that you can do today to make sure your customers enjoy a responsive user experience while they browse your site, add items to the shopping cart, and complete purchases.
What should you be doing?
Development teams today need to think about performance optimization from the start. As you work on the architecture of your application, consider the performance implications. Think about how you can scale that architecture up to support hundreds, thousands and tens of thousands of users.
Much of the preparation revolves around testing:
- Include performance testing in your unit tests. These can uncover potential problems before they get too far down the line.
- Run performance tests on a similar environment to your production environment. Run a variety of scenarios to cover the most likely situations that your application will encounter.
- Use emulated services during testing. If your application depends on third-party services, it’s vital to ensure that the application can respond quickly if a third-party service is unavailable, or takes a long time to respond. By simulating different behaviors of the third-party services, you can see how your application responds, and if necessary, you can modify the behavior of your application to improve the user experience.
- Test in production. Testing in the lab is great, but you still need to test in production to make sure that all of the pieces are working well, such as load balancers and databases.
- Continuously perform real-time user experience monitoring. You should always know your customers are experiencing the product at any given moment in time.
Here are some things to consider when you plan your performance tests:
- Test from different geographies. A lot of testing is done in-house, using computers that have been set up in a lab near your data center, and performance is pretty fast from there. But your customers aren’t going to be coming to your data center to do their online shopping on Thanksgiving. They’ll be doing it from the couch at home, or from their local park. These locations could be hundreds or thousands of miles away from the data center. Each of these users will have a different experience, and by testing the behavior of the application from these various locations, you’ll understand what their user experience really is.
- Test across different networks and network conditions. A user that is connected to a poorly performing network will not only experience poor performance, they will also put additional load on the system that can affect users on faster networks.
- Use different client devices to test. You should be testing the desktop experience, the tablet experience, and the mobile phone experience. And each of these platforms can host a variety of operating systems, so you need to make sure you’re testing at least the most common combinations that your users have.
What can you do now?
It’s never too late to start. If you’ve not been consistently embedding continuous performance testing into your development practices, here are some concrete actions you can take right now, to make sure you’ll be in good shape for Thanksgiving and Black Friday crowds:
- Assess your application’s performance right now. Run some simple scenarios to measure the system’s response times and characteristics. This gives you a starting point to understand what your customers are experiencing today. This is your benchmark.
- See what happens when you increase the load. Conduct a high-volume test to see how your application will perform when subjected to a similar load to that expected on Thanksgiving/Black Friday. Pick a time when relatively few users are accessing your site to run this test. Yes, the test might temporarily affect their experience, but remember that it’s for the greater good.
- Monitor key performance metrics. As you run the high-volume test, make sure you are monitoring key performance metrics so that you can understand what parts of the application start to respond poorly.
- Make the changes that will improve the user experience. Use the results of these tests to decide which changes you need to make to the system to provide your users with an experience that is at least as good as today’s experience.
Hewlett Packard Enterprise can help!
HPE StormRunner Load is a website load testing solution that lets you quickly spin up tests using hundreds of thousands (and more) virtual users from different geographies, and help you analyze the results. Sign up for your free trial now.
HPE Service Virtualization lets you simulate the behavior of services in a production environment, while HPE Network Virtualization emulates real-world network conditions, to help you understand how your application behaves under various network scenarios.
The HPE AppPulse suite helps you enhance your user experience by using synthetic monitoring to proactively emulate real user performance on desktop and mobile devices, and perform root-cause analysis.
Can you think of other steps to do now to prepare for Black Friday? Let me know by leaving a comment in the box below!
* Yes, I know there’s an alternative version. But this is a family blog ☺
Originally published on Hewlett Packard Enterprise