An Introduction to Web Optimization Testing

[article]
Summary:
When testing websites, most software testers check the functionality and the UI of the page. But webpage optimization is another area that should get consideration. There are a variety of factors, such as relevance and readability, that search engines consider in webpages before assigning a position in search results, and testers can help positively influence this ranking by increasing site speed and removing blockers to usability.

When testing websites, most software testers—including me—used to check the functionality and the UI of the page. But there are more factors that test engineers need to check.

First, we need to look at what is optimized on the webpage. There are many definitions of web optimization, but basically, it is the process of improving a webpage by doing experiments to a certain standard in order to drive the goal of a business. The goal can differ from one company to another, but generally with web optimization, it’s web traffic and conversions. Webpage optimization is also called search engine optimization (SEO), as the website’s ranking in search engine returns is improved.

To improve web optimization, test engineers can add relevant keywords and phrases to the website, as well as edit meta tags and image tags and ensure they are easily accessible by search engines. There are a variety of factors, such as relevance and readability, that search engines consider in webpages before assigning a rank or position in search results.

What to Consider for Webpage Optimization

When creating a webpage, make sure that it is adaptive in any platform, whether it is mobile, desktop, or tablet. 

Google Developers wrote some rules for their PageSpeed Insights API about how to improve site speed. The following are the main factors that test engineers should consider when optimizing webpage speed, which plays a lead role in user experience.

Avoid landing page redirects: If you have more than one redirect from the given URL to the final landing page, it triggers an additional HTTP request-response cycle, which delays page rendering.

Enable compression: Gzip compression can reduce the size of the transferred response by up to 90%, which can significantly reduce the amount of time to download the resource, reduce data usage for the client, and improve the time to first render of your pages.

Improve server response time: Server response time is the time it takes to load the necessary HTML to begin rendering the page from the server, subtracting the network latency between Google and server. If this takes a while, it indicates performance issues.

Leverage browser caching: Server responses should specify a caching policy to help the client determine if and when it can reuse a previously fetched response.  Otherwise, it costs more data to the visitor when fetching resources from the internet and rendering the page.

Minify resources: Minifying resources means removing unnecessary or redundant data without affecting how the resource is processed by the browser, such as modifying code comments and formatting, or removing unused code.

Optimize images: Since images normally have most of the downloaded bytes of a page, try to improve the performance needed to optimize images by finding the optimal format.

Optimize CSS delivery: When a browser renders content, it must process all the styles and layout information for the particular webpage. In this process, the browser will block rendering until external stylesheets are downloaded and processed, which leads to a delay the first time to render content. One way to optimize CSS delivery is by inlining small CSS files.

Prioritize visible content: If you need additional network round trips to render the above-the-fold content of the webpage, it will delay the page loading. Aim to limit the data (HTML markup, images, CSS, and JavaScript) needed to render this content.

Remove render-blocking JavaScript: Before a browser renders a page, it processes all scripts for it. It will wait until the resource downloads, which may cause additional network round trips and delay rendering the page. Try to avoid or minimize blocking JavaScript.

Tools and Techniques for Optimizing Webpages

Google PageSpeed Insights can analyze the ways a webpage needs to optimize and gives a full diagnostic report, generating suggestions to make that page faster. It grades the website on a scale of 1 to 100. And since this is a Google tool, it undergoes continuous improvement. 

One of the best things about PageSpeed Insights is that it analyzes both the desktop and mobile versions of your website. At first, I didn't understand the things it was recommending, but it also provides links to each area, so I was able to learn more about the various opportunities for optimization.

PageSpeed Insights gives results in three parts. The first part gives field data, which is real-world user experience. For this, the tool looks into the Chrome user experience report dataset (if available) and provides details. The second part is lab data, which includes debugging performance issues in a controlled environment. It uses different metrics to generate a performance score by using tools such as First Contentful Paint, Speed Index, and First CPU Idle.

And the third part is audits, which has three categories: opportunities, diagnostics, and passed audits. For mobile and desktop, these audits can differ. They also can be matched to improvements based on the PageSpeed Insights rules outlined above.

Opportunities: This part gives suggestions on possible improvement areas of the page and tells you how fast the website will be if these improvements are implemented. Based on these estimated savings, you can determine whether to implement the changes or not.

As an example from the site speed rules, this audit indicates if there is an opportunity to remove unused CSS files and, if you do it, gives estimated time saved when a page loads. It also lists those files with the potential savings in the size of each particular file. The most interesting part is you don’t have to go and look for the files—the tool even provides that. 

This audit also gives other opportunities for improvement from the PageSpeed Insights rules, like properly sized images, serving images in next-generation formats, estimating render-blocking resources including removing render-blocking JavaScript, and enabling text compression.

Diagnostics: This part gives additional information on website performance and how to improve it. For example, it may recommend to keep request counts low and transfer sizes small, which tells you how many requests from a particular resource type (image, stylesheet, script, font, etc.) you’re getting and its transfer size.

There are also other diagnostics suggestions, such as ensuring text remains visible during webfont load, reducing JavaScript execution time, and serving static assets with an efficient cache policy by leveraging browser caching.

Passed audits: This shows the passed audit factors of your webpage. If your site minifies CSS and JavaScript, enables text compression, avoids multiple page redirects, or efficiently encodes images, it will let you know your site is doing these things as optimally as possible.

Testers Have the Power

It is essential to have an optimized webpage, not only to rank high up in search engine results, but also to give a better user experience to our customers.

If your team or organization doesn't have its own rules to test webpage optimization, you can stick to the Google Developers’ PageSpeed Insights rules described above. And to get fast and accurate results about what to optimize, you can use PageSpeed Insights. Since this tool gives a full diagnostic report, it helps both developers and test engineers, and it is a good way to get knowledge and suggestions for better identifying issues with your webpage.

Now that you have a basic understanding of web optimization, it’s your choice to improve testing in a better way.

About the author

StickyMinds is a TechWell community.

Through conferences, training, consulting, and online resources, TechWell helps you develop and deliver great software every day.