When we talk about digital performance, there are three main focal areas: 1) uptime, 2) speed, and 3) functionality. These three areas can make all the difference for our organization. Consider these outcomes when digital performance isn’t a priority:
- 40 percent of people abandon a website that takes more than 3 seconds to load
- A 1-second delay in page response can result in 7 percent reduction in conversion
- A 2-second delay during sales transactions can result in abandonment rates of up to 87 percent
- For an e-commerce site making $100k per day, a 1-second page delay could cost $2.5 million lost in sales every year
It’s our responsibility as testers and operations engineers to ensure that when we deploy into production, we deploy confidently, knowing that we’ve tested for all possible points of failure. Then when, inevitably, something goes wrong in production, we’re able to find and fix the issue with as low of an MTTR that we can reasonably achieve.
To ensure everyone starts off 2019 in the right direction, we’ve compiled a list of common habits that impede our ability to catch performance problems in our test environments and in production. Keep reading to get actionable tips and tricks to optimize performance and the customer experience.
Common pitfalls include:
1. Executing irrelevant and incomplete tests.
Too often, we make the mistake of spending a big chunk of our time and resources on running tests in browser emulators. Unfortunately, using emulators don’t give us the most realistic or accurate representation of load on the infrastructure supporting our web applications. Additionally, comprehensive load testing also includes APIs. Not load testing APIs could be a costly decision later on.
- Create test scenarios that mirror real life scenarios. If possible, leverage production data that shows the key user journeys. You can replicate those tests for further updates that you want to push into production. Don’t forget to add in randomness and variability to account for all possible scenarios!
- LoadNinja’s TrueLoad technology uses real browsers at scale for load tests. You can spin up tens of thousands of real browsers on real servers to perform various website transactions, all in a matter of minutes. With LoadNinja, you can create performance scenarios to ensure your website is prepared for every situation.
- Load Test APIs. Modern day applications – both web and mobile – rely heavily on APIs so it’s more important than ever not to just test for functionality, but to also ensure functionality even under load. You’ll want to feel confident that your APIs function just as well under stress.
- With a tool like LoadUI Pro, you can test the speed and scalability of new changes to your APIs in minutes and preview performance behaviors before releasing to production environments.
2. Monitoring only for API availability and with tunnel vision. Monitoring whether an API is functioning or not is important, but that is just the tip of the iceberg when it comes to ensuring optimal performance. It’s also critical to monitor for whether the API is functioning and fast even when it’s under load and from various locations in the world.
- Eliminate blind spots. When monitoring, make sure to eliminate any blind spots in your digital infrastructure, especially if you have a combination of public and private websites, APIs, or applications.
- AlertSite is a synthetic monitoring tool that can fully monitor your global network of monitoring nodes in both physical and cloud locations as well as monitor private APIs, applications, and websites.
- Monitor your performance from all over the world. If you’re only monitoring from a few main locations, then you’re not accounting for how your global users may be experiencing your website or application.
- A tool like Alertsite has a global network that spreads across 5 continents, 350+ nodes, and 80+ locations so you can ensure you deliver the same amazing experience no matter where your users are.
- Monitor SLAs with your vendors. You put effort and time into ensuring that your application is available and delivering 24/7 for your customers, so you should also hold your vendors accountable. With AlertSite, you can proactively monitor 3rd party apps or public APIs for availability, performance, and functional correctness and hold your vendors accountable in case of failures or performance degradations.
3. Perpetuating the testing bottleneck. Testing should be an efficient process. Teams are spending too much time on creating tests before running them and aren’t testing early enough in the software development lifecycle. As such, the testing bottleneck stereotype is being embraced and teams are not maximizing the value they can get from testing.
- Leverage existing scripts. If you’re still scripting tests, you’re spending valuable time on creating those tests rather than running them. Make sure you reuse test scripts, such as your Selenium or SoapUI Pro scripts, for your load tests or for your monitors so that you’re being as efficient with your time as you can possibly be.
- Make sure you record your tests! It takes way too much time and effort for your Ops team to try and recreate those tests, and it could potentially leave huge gaps and blind spots in your production environment. By recording your tests, you are empowering your Ops team to do their job more efficiently.
- Test early, test often. Embrace the concept of continuous testing within your software development lifecycle because it’ll save you time in the end! The earlier you start testing, the earlier you get feedback and actionable data. Doing so saves you time in the end and allows you to run additional tests as you go.
If you found yourself identifying with any of these pitfalls while reading through the blog, these action steps will get you on your way to saving time and achieving optimal performance in no time. And hopefully 2019 will be your best year yet!