Modern Performance Metrics Page Load Time Test Automation

Time to First Meaningful Paint (TTFMT) is a modern performance metric introduced by few engineers from Google, and is the time to paint the main content that users are interested in, so the thing the users came here for.

Rendering some background color can be much easier and faster, but that’s definitely not what the users was looking for when they entered your website.

In order to identify the main content of the page, we define these primary elements as Hero Elements, but for now there is not a clear way for us to get paint times of specific elements of the DOM (Document Object Model).

first meaningful paint

No browsers exposes this metric at the moment, but it seems to get big traction. You can inspect the First Contentful Paint (FCP) and First Meaningful Paint (FMP) with KissFront, which allows easy monitoring and modern metrics inspection.

First Meaningful Paint can be also defined as the paint after which the biggest layout change has happened.

Modern Performance Metrics Page Load Time

First Paint (FP) shows the time it took for something to happen, anything at all, however this can be not so useful, as this first render, may not be very useful for the user, and for the overall experience.

First Paint entry marks the first key moment developers care about in page load – when the browser has started to render the page. More details here https://w3c.github.io/paint-timing/#first-paint

How to improve the First Paint (FP)

One idea is to trim the size of your JavaScript bundles in order to improve the FP, especially for slow networks like 3G or Edge, which are still available in areas with poor connectivity, or on low-end mobile phones.
Have a look which functionality you use from a library, and try to mimic that in a much simpler fashion.

An improvement to First Paint (FP) is the First Contentful Paint (FCP) which helps you understand the time it took to render something useful for the user.

First Paint and First Contentful Paint metrics can be identical on fast websites, but on more complex websites, with various client and server side rendering, the First Contentful Paint would be the best metric to use.

More details on how to improve issues on your website can be found by running tests with KissFront.

Modern Performance Metrics Page Load Time Website Speed Testing

A customer decides if a website is “slow” or “fast” by multiple moments experienced during the load of the website.

Definiton

First Contentful Paint (FCP) is a performance metric which measures the time from navigation to the time when the browser renders the first bit of content from the DOM. It provides feedback that the page is actually loading.

First Contentful Paint entry contains a DOMHighResTimeStamp which highlights the time when the browser first rendered any text/image or SVG, canvas or text with pending webfonts. (it excludes iframes).

first contentful paint

This is the first time users could start consuming page content, and this moment is useful for user experience assessment and quite important cause it marks the moment when a user can consume website’s content – More details here https://w3c.github.io/paint-timing/#first-contentful-paint

 

KissFront monitors websites performance, analyzes & compares it to competitors, collecting modern performance metrics and insights on best practices using Lighthouse.

first contentful paint

First Contentful Paint time still has its drawbacks – the loaded content may not be meaningful for the user that loaded the website.

First Meaningful Paint (FMP) is another performance metric which will be available, where the focus will be on content desired by the user.

First Contentful Paint vs. First Meaningful Paint

First Contentful Paint is usually used as an approximation of the First Meaningful Paint, the downside of this performance metric is that it often catches no very meaningful paints in the web page, like headers, footers, different scrolling or navigation bars, that are non very meaningful in terms of overall loading experience. The user cannot understand much about what the website is about, or cannot see yet the content that he/she was looking for.

Recent studies discovered that half of users are likely to abandon a website load in more than 3 seconds.

Apparently, 1 second delay in response time translated in 7% less conversions.

E-Commerce companies are the ones most affected by loading times, and this can actually mark the difference between losing a potential customer or finishing a sale.

That’s why the most important metrics nowadays are the ones that directly affect your customers, how they perceive your website, their confidence that the whole experience is smooth-less.A fast website does not only refer to the landing page, but you should pay attention the every page that is required as part of a user workflow.

How to Improve First Contentful Paint (FCP)?

  • Change the way your web fonts load – add font-display: swap; to your @font-face rule, will tell the browser to load first the system fonts when the DOM is rendered, and the swap to the custom web fonts you want to use.
  • Optimize images and load them with the expected resolution and in the order your users really need them – resize the images and use the right resolution

This change improves your First Contentful Paint (FCP) and your First Meaningful Paint (FMP), and it’s supported by all major browsers (excluding Internet Explorer and Edge 🙂 )

More details on how to improve issues on your website can be found by running tests with KissFront.

first contentful paint

First Contentful Paint (FCP) and First Meaningful Paint (FMP) are some of these metrics can make your website faster if you pay attention to them and continuously monitor them.

first contentful paint

Test Automation

Load Testing is all about caring for your customers.

Running load tests all year round is a best practice and you should have this idea in mind.

Here are just a few things that can affect your sales, by getting less conversions and increasing the churn rate:

  • New releases containing new code/features with performance issues
  • slow new features
  • buggy code which causes the website, web service to hang
  • freezing screens
  • slow database
  • no CDN for assets
  • non optimised code/HTML/JS/CSS files
  • heavy fonts
  • not used CSS styles and others

SEO is also impacted by slow websites, sites what experience issues when the load is higher that usual.

These are just some of the reasons why it’s a good idea to load test your web services, websites every day/week/month/year and not just at specific times.

With LoadFocus.com there is no need to write any piece of code while configuring your load tests, just a few seconds and you are ready to run load test for your websites.

Here are potential load testing errors and response codes that you may receive while running your load tests.

Load Testing Page Load Time Performance Testing

Disaster Recovery Testing is the process to ensure that an organisation can recover data, restore business critical applications and continue operations after an interruption of its services, critical IT failure or complete disruption.

A disaster recovery test (DR test) checks every step from a disaster recovery plan as outlined in an organisation’s business continuity/disaster recovery (BCDR) planning process.

Usually, the DR testing process is neglected by many organisation which makes things very difficult to recover when disruption occurs.

Main goals of Disaster Recovery Testing

Communications, data recovery and application recovery are typically a focus of all disaster recovery testing.

Disaster Recovery Plan

It’s very important to understand the following:

  • how long does it take for the services to recover?
  • how long does it take to recover the data?
  • which are the services/data affected?
  • how will the system behave if part of the infrastructure becomes unavailable?

Disaster recovery tests should be scheduled and executed on a regular basis throughout the year and be incorporated into all planned maintenance and staff training.
Audit logs and other data should be analysed to determine what worked / didn’t work as expected, what changes need to be made in the DR plan.

Disaster Recovery Testing can be executed while the application is under heavy load and carried out in conjunction with Load Testing and Website Speed Testing.

Load Testing Stress Testing

Stress testing is a simulation technique used in multiple industries to determine their reactions to different unexpected situations. In software testing, you can benefit from stress testing by showing how the application behaves under extreme load conditions.

Shortly, stress testing is used to find the limit, at which the system or software or hardware breaks, by testing with overwhelming data or resources.

Stress tests are usually cloud simulation models that test hypothetical scenarios, also highly customised stress testing methodology is also often utilised.

Use stress tests to test the stability & reliability of your system and infrastructure. These tests determines the robustness and error handling under extremely heavy load conditions.

Main goal of stress testing 

To reveal application bugs that can appear only under high load conditions. These issues can include race condition issues, memory leaks, and others.
Stress testing allows you to simulate and identify the application’s weak points. For stress testing to be successful, the application should display appropriate error message while it is under extreme conditions.

Example of stress tests

You can have a web server, that can be stress tested using various scripts, scripts, requests, bots, and various denial of service tools in order to have a better understanding of the performance of a web site during peak loads.It monitors system resources such as CPU, memory, I/O etc., and checks the ability of the application to recover back to normal when the workload is reduced.

Page Load Time Test Automation Website Speed Testing

Have you even asked yourself what happens behind the scenes when you enter a website’s URL address in the browser and press Enter?

All websites contain a lot of assets that need to load in order for a website to look good, be functional and ready for you to interact with, some of these assets can be:

  • Javascript files (JS files)
  • CSS files
  • Images
  • HTML
  • Fonts
  • Documents
  • Media
  • Others

So in order for a website to load, it need to load all these assets in a fast way, in order to please its visitors. Nowadays, fast means a matter of seconds (1-2 seconds), a few seconds more and your visitors will stop entering your website, SEO engines will give your web pages a poor ranking and so on.

The are situations when websites keep loading forever, and this may be caused by various issues:

  • a 3rd party widget (customer support, analytics, marketing, email) is not loading properly
  • your server where your website is hosted is not able to cope with the load
  • the web server is slow
  • too many visitors (this would be a nice problem to have)
  • the APIs are not responding to your requests,
  • the Database queries are pending
  • the CDN where you host your static assets is not responding
  • your website is not optimised to load the minimum assets for your website
  • and others depending on your hardware infrastructure, location, architecture stack etc

So, when your try to load a website, and the loading spinner is not stopping, there are a lot of potential bottleneck you’d have to consider. You can run a free website speed test and get more insight on the potential problems and try to debug what’s really happing with the loading time of a specific website.