Explained: Network Throttling to Test Website Performance
It does not matter whether the site is a shopping site, a news site or a business site; users want to access the pages faster. But the connectivity of the networks differs due to different network conditions and this may affect the user experience of the content.
To fill this gap and make sure that all the folks have a smooth experience, Network Throttling comes into play. QA team can use this technique to simulate different network conditions and understand how a website behaves under varying speeds.
Network Throttling can be made easy with the help of Chrome DevTools that enable testers to switch to the 3G or 2G network simulation to see how the site performs in such conditions. Also, we can utilize TestGrid, where developers and testers are able to launch a powerful testing environment where one can simulate numerous network states on actual devices rather than on emulators and that means, the testing in TestGrid is more accurate and can cover a wider scenario.
Network Throttling In Detail:
Users all over the world observe uneven speeds of constructed networks which has a direct impact on the internet browsing. Many individuals will be able to gain from the availability of fast internet connection, however, others specifically those who live in rural or areas experiencing high levels of traffic may not be able to get good bandwidth speeds. Such conflicts can lead to an unusual situation, for instance, a flawless site that navigates smoothly on a high-end network connection may turn out to be slow and unresponsive on a low connection.
Not all users can afford to use high connection speeds on the Internet. Some might still be on low internet connections such as 2G or 3G since a considerable number of them reside in areas that have a slow or even having no internet connection. Through such network emulation developers get to see how their application will work for users who cannot afford to have high internet speeds.
Google and other search engines currently take into consideration the speed at which a page loads. Slow loading websites causes some decline in the ranking of the website resulting in less visibility and traffic. Network throttling allows solving the speed problem on its own, which is a direct positive effect on the work with search engines.
In the next section you will see why Network Throttling is Important.
Why Network Throttling is Important for Web Development?
It is widely used in web development since it is important to test websites and applications for performance under different network limitations. Here are some factors which assist us in knowing Why Network Throttling is Important.
- Real-World User Experience:
Users visit sites from different geographic locations and use different devices with different connectivity – be it wireless broadband connection, 3G, 4G or even slower connections such as GPRS. To achieve such performance throttling assists in creating such environments during development.
Developers get to experience how their site performs to the user under the different networks such as 2G, 3G or a volatile network connection. This way, developers will know where it can be a problem for certain users such as slow loading time and even broken functionality under slow networks.
- Performance Optimization:
Network throttling has the advantage of helping determine how fast necessary materials (such as JavaScript, CSS, and images) are retrieved under a slow Internet connection.The feedback that this gives to developers in these resources may include the use of features like lazy loading, optimizing images, or script minification to ensure the accomplishment of faster loading times that lead to a better user experience.
- Identifying Latency Issues:
Latency has an impact on loading and interaction of web Page’s part and various other aspects. Throttling can cause slow response times to loading a page, and other issues that a user might experience when using a website, like when they click a button or complete a form.Knowing which areas are affected by latency helps developers be prepared to solve them, primarily for users located in the areas with the worst Internet connection.
- Ensuring Consistent Quality Across Devices:
As there are hundreds of millions of different devices from the newest generation of high-performance smartphones to the oldest and slowest models with limited processing capabilities, throttling makes it possible for developers to determine how the app or site behaves under different network conditions.
This makes the accessibility consistent in its quality of experience with an attempt not to make the message a frustration for the users that seem to be far from a high-speed connection to the internet.
In the next section you will see the Methods for Network Throttling.
Methods for Network Throttling
Below are some of the methods for Network Throttling
Method 1 :Perform Network Throttling Using Chrome DevTools
Open Chrome DevTools:
Right-click on any page in the Chrome browser and select “Inspect”
Go to the Network Tab:
Navigate to the “Network” tab in DevTools, where you can monitor network requests and performance.
Select Throttling Profile:
In the top menu of the Network tab, find the dropdown menu labeled “Throttling.” Click on it to select a predefined throttling profile like “Slow 3G,” “Fast 3G,” or “Offline” to simulate different network conditions.
Reload the Page:
Once you select a throttling profile, refresh the page to see how it behaves under
the simulated network speed. Analyze the load times and how the page elements render.
Explanation with Example :
To understand how the response time varies under the different networks, let’s take an example by hitting the URL testgrid and verify the response time of the GET request for /welcomeMessages? request.
With Fast 4G, server response time for the request is around 290 ms
With Slow 4G, response time of the request is around 569 ms
With 3G, response time of the request is around 2.03 s
Method 2: Network Throttling on Real Devices using TestGrid
TestGrid is a cloud-based testing platform that provides more advanced options for network throttling, especially for real devices.
Here’s are the steps of how Network Throttling can be done using TestGrid :
Access TestGrid Dashboard: Log in to your TestGrid account and navigate to the dashboard. Click on Real Device Cloud
It will launch the page with various devices that you can connect by clicking on the Connect button.
Select Network Profile: In TestGrid, you can choose from various network options (like GPRS,2G, 3G, 4G,5G, Wi-Fi) to simulate different network speeds by clicking on Network Throttling option.
When the user clicks on Network Throttling option it will open the below screen from where you can select any network.
The available options simulate various network speeds and types, such as:
GPRS: A slower, early mobile network technology.
Regular 2G / Good 2G: Simulates basic 2G network conditions, with “Good” indicating a slightly better speed.
Regular 3G / Good 3G: Simulates moderate 3G speeds.
Regular 4G / Good 4G: Represents faster 4G network conditions.
WIFI VDSL: Simulates a fast VDSL (Very-high-bit-rate Digital Subscriber Line) connection.
WIFI Fiber: Represents high-speed fiber internet.
Regular 5G / Good 5G: Simulates the latest 5G network speeds, with “Good” providing an optimal 5G experience.
None: No network throttling is applied, allowing the device to use the available internet speed without restrictions.
Run Tests on Real Devices: After selecting the desired network profile in TestGrid in the above step, we can execute our test cases on real devices under different networks. Network throttling simulates the bandwidth, latency, and reliability and variability of the different network types so that we can get an idea of the application as it is used in the various networks by the various users.
By running these tests, we can analyze how this application behaves when the networks are slow or fast, in terms of the user experience. This allows us to observe values such as page loads, response times and the general behavior of the application under various network conditions as well as making the application more robust and user friendly regardless of the quality of the network a particular user may be using.
Conclusion
In conclusion, as users demand quick loading and fast running sites increase it becomes crucial to provide the best performance possible under different network conditions. Internet connection may also be affected by location and may affect how users use a site for browsing. Network Throttling is an important approach to close this gap to help QA teams understand how websites perform under these conditions.
Source: This article was originally published at https://testgrid.io/blog/network-throttling/.
Subscribe to my newsletter
Read articles from Steve Wortham directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
Steve Wortham
Steve Wortham
Experienced Software QA Manager passionate about delivering top-quality software, writing intuitive content, and fostering connections with industry peers.