Typically in today’s web user experience, web user turnaround starts from more than 3 seconds of response time. This demands that companies perform optimization on all application levels, client side resources contributes on response time more than back-end. Optimizing the front-end performance from a single user point of view is a good practice before testing an application with high user loads.
With the arrival of Web 2.0, this has put an emphasis on the look and feel of web applications which puts more and more complexity on the front-end. Today, bad user experiences not only occur due to application, database, servers and infrastructures tuning but also due to the time it takes to load the web page and displaying its contents on end-user screen.
This has led to companies, identifying and resolving all client-side web application’s performance issues without losing the look and feel of the web application are of utmost importance for good user experience. Another factor which makes the front-end performance more important is now Google rank websites in search results based on their web page speed.
In years past, when you talked about website performance optimization this typically meant optimizing the server-side only since web sites were mostly static and almost all the processing was done on server side. With the advent of Web 2.0 technologies, now web applications are dynamic. Client side should be given due importance as well besides server side processing. Web application architecture has forced performance engineers to rethink their performance testing optimization strategies.
So what is Front end performance testing?
Front end performance testing is about “How fast does this page load ?” from a single user point of view. We also call this activity “Web performance optimization”
While, traditional load testing us is about “How fast does this page load when 1000 users are working on the application?” that is from a multiple users point of view where resources are used concurrently.
HAR stands for HTTP Archive. This is a common format for recording HTTP tracing information. This file contains a variety of information, but for our purposes, it has a record of each object being loaded by a browser. Each of these objects’ timings is recorded.
The HAR file format is still an evolving standard, and the information contained within is both flexible and extensible. You should expect the HAR file to include a breakdown of timings including:
• how long it takes to fetch the DNS information
• how long each object takes to be requested
• how long it takes to connect to the server
• how long it takes to transfer from the server to the browser of each object
• whether the object is blocked or not
The data is stored as a JSON document and extracting meaning from the low level data is not always easy, but with practice, a HAR file can quickly help you identify the key performance problems with a web page, which in turn will help you efficiently target your development towards the areas that will deliver the greatest return on your efforts.
For a full description of HAR please take a look at – HTTP Archive
At ATF our Front end performance testing solution involves using Selenium, Firebug, NetExport and HAR. The purpose of this is to provide detailed timing information about HTTP traffic initiated by a web page and page load performance.
Selenium automates browsers. That’s it! What you do with that power is entirely up to you. Primarily, it is for automating web applications for testing purposes, but is certainly not limited to just that. Boring web-based administration tasks can (and should!) also be automated as well.