Client-side performance: make your end users stay | Software Testing Company a1qa
Do you have strong confidence about a successful customer experience (CX) on your website? If you’re not sure of the answer, this article can be helpful for you.
In most cases, when people hear about performance testing, they think about server-side optimization. Let’s imagine your server is fully tested for performance, all back-end bottlenecks are fixed, and the system can handle the desired load.
At the same time, when user navigates through your website, he or she doesn’t care about the possible server load and the response time. The only thing users care about in terms of performance is how fast they can book tickets, read an article, or put some long-awaited goods into a basket.
Even with flawlessly configured and optimized application server, client side is the key to improved CX. The best way to find this key is to perform client-side testing.
Based on the CX performance testing results, you can optimize the pages layout and speed up the application full load time in GUI.
Let’s see through real-world examples of how client-side performance can strongly affect CX.
Client-side testing essentials
Almost everyone has once faced the need to find flight tickets. With popular destinations, it is a common thing when several airlines are flying to the same place. With large choice of carriers, the final decision made by user is based not only on the best price/time combination but also on the speed and smoothness of the website. Page load time and time until UI is interactive are crucial for positive CX.
According to Google research (www.thinkwithgoogle.com), if page load time takes 1–3 seconds, the probability of bounce (when user leaves the first page without further interaction) increases by 32%, whilst page load time of 10 s increases the bounce probability by 123%.
To test from user perspective, one should think like a user and behave like a user. Customers don’t care about the response time from the server, they just want the page to load faster.
Even if an application handles thousands of concurrent users and gets responses from the server less than in a second, it doesn’t mean the page will return results to the users fast too.
Not to be unfounded, we conducted the client-side testing of the 5 biggest European airlines and compared performance from end-user perspective, measured the basic performance metrics, and identified the applications bottlenecks. We tested the main functionality of the official airlines websites: main page, user profile, and flights search.
First Meaningful Paint is a point when the primary page content is visible. Basic metrics you need to consider include:
- Speed Index is the average time at which the page displays its visible parts.
- Time to interactive is metric determining interactivity of the page by the network and JS activity.
We gathered the metrics using Lighthouse tool. The graphs for more visual information with values are presented below:
User profile page
Search flights page
Looking at the test results and evaluations obtained with the Lighthouse tool, applications rating is the following:
However, even the leader in this comparison — Turkish airlines website — takes more than 5 seconds to become fully interactive. Others — even worse. 20 seconds until the page is fully accessible for the user — this is something one cannot afford in the competitive web applications market.
How to enhance client-side performance
If you run your website through Lighthouse tool and see the page load metrics, this is half the battle. What’s left is how to decrease page load time. Let’s go through the most common client-side performance issues.
Common client-side performance pitfalls are:
- Unused CSS
- Blocking resources rendering
- Images compression and format.
- JS code minification
- JS code compression
- Unused JS code removing
- JS code caching.
Whenever the project gets rid of all unused resources, compresses images, JS code, and properly orders the resources to load, the page load can decrease a lot making end user satisfied and encouraged to continue the journey on the website.
However, client-side testing is not a performance magic wand.
Server response time still matters: if the webpage is ready to render fast but doesn’t get any response, CX is affected strongly.
If you face slow server response time, here are possible solutions:
- The server application logic optimization. If you use a server framework, it can have recommendations on how to do it right.
- Database queries optimization. Together with queries optimization, consider migrating to a faster database.
- The server hardware upgrade to have more memory and CPU.
Client-side testing is a key to smooth CX. With the increasing amount of elements on the pages as well as a high amount of competitors in the market, it is vital to ensure the website is loading and becomes interactive fast. Client-side testing has its advantages:
- Can be automated or just used to test the most significant pages
- Doesn’t require a separate testing environment
- Can be conducted under/without load
- Doesn’t take a lot of time
- Doesn’t require special skills and doesn’t consume a lot of resources.
However, client-side testing is not something that will resolve all your performance issues. It identifies front-end performance bottlenecks but works the best way when combined with server-side performance testing.
Book a free consultation with the a1qa professionals to see how we can boost the performance of your software product.
Originally published at https://www.a1qa.com.