Filed under Load Testing, Page Load Time, Performance Testing, UI Testing.

During Speed testing of your website or web application using LoadFocus (https://loadfocus.com/website-speed-testing) on the Advice section you might get the tip that you need to enable compression like in the image below:

 

advice_enable_compression

 

Compressing responses often significantly reduces the size of transmitted data.
Because the compression happens at runtime this can add a big processing overhead which can affect the performance in a negative way.

Nginx if configured correctly compresses the responses before sending them to the clients and does not double compress the responses which have been already compressed.

In the next tutorial we will show how you can enable compression in case you are using Nginx to serve your files.

1. First locate the Nginx configuration file – nginx.conf
2. Once you located the file open the file and make sure that inside the configuration you can find the following flags:

<strong>gzip on</strong>;
<strong>gzip_disable</strong> "msie6";

<strong>gzip_vary</strong> on;
<strong>gzip_proxied</strong> any;
<strong>gzip_comp_level</strong> 5;
<strong>gzip_buffers</strong> 16 8k;
<strong>gzip_http_version</strong> 1.1;
<strong>gzip_min_length</strong> 1000;
<strong>gzip_types</strong> text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;

3. Explanation of the flags:


LoadFocus.com is a Cloud Testing Platform used for Load and Performance Testing for Websites and APIs and Website Speed Testing with Analytics.

Filed under Apache JMeter, Test Automation.

In order to add an XPath Extractor to your JMeter script you need to begin by installing JMeter and create an HTTP Request. If you want to check how you can create a load test with Apache JMeter, please check our previous blog post.

Start by adding a XPath Extractor to your HTTP Request by following the below steps:

  • Select the HTTP Request on the left side, and Right-click it
  • Hover to Add -> Post Processors -> XPath Extractor
  • Click on XPath Extractor
adding-xpath-extractor

Update the XPath Extractor with the desired variable names and expected XPath. We are going to make an HTTP Request to http://example.com/ and based on the HTML response, we are going to extract the H1 tag from the website and use it in the next request.

Update the XPATH Extractor with the following details:

  • Reference Name: The name of the JMeter variable in which to store the result, var1
  • XPath Query: Element query in XPath language. Can return more than one match, //html//h1
  • Default Value: Default value returned when no match found. It is also returned if the node has no value and the fragment option is not selected, NOTFOUND

configure-xpath-extractor-jmeter


In order to run load tests with thousands of threads (users) and to run load tests from different world locations, you can use LoadFocus.com which offers a cloud load testing service, easy to use, which keeps all your tests and test runs in the history automatically.

Filed under Load Testing, Website Speed Testing.

Get every month 5 free load tests and 5 free website speed tests to your Free plan by adding our code in your website.

Our Link Program lets you run 5 website load tests and 5 free website speed tests per month completely free!

Just add the LoadFocus link to your website to upgrade. Here is the link:

<a href="https://loadfocus.com/?utm_source=link" title="load testing tool" ></a>

Once the link is visible on your site, we’ll automatically give you 5 load tests and 5 website speed tests per month for free.

LoadFocus.com is a Cloud Testing Platform used for Load and Performance Testing for Websites and APIs and Website Speed Testing with Analytics.

Filed under Load Testing, Performance Testing, Test Automation, Uncategorized.

What are assertions ?

In case you are not familiar with the term, an assertion “is a test / a condition that must be tested to confirm conformance to a requirement”. Basically a test assertion is – a condition that compares the expected value with the actual value for a specified use case.

 

Why should I use assertions ?

Before we deliver a product, we need to run many test assertions to make sure the product meets the customer’s expectations. Also, you can check our intro blog post regarding how to run a load test with Apache JMeter.

 

 

Should we use assertions in the JMeter tests ?

Usually assertions are not used when we create the scripts for load or stress testing an application. Most of the tester that run
these kind of tests base their results only on the response status codes that the application under test returns. This might be a problem and might make the final results not accurate.

What are the cases in which not using an assertions may affect your final results ?

Not all the time a successfull response from the server (200 OK) means that the application responded as expected.
You may ask yourself and the a few cases are mentioned below:

  1. the application redirects to a maintaince page
  2. the application responds a 200 OK but sends an error message in the body of the response indicating a error message
  3. the application redirects to an error page and sends back a 200 OK with and error message indicating why the error returns

To avoid these kind of errors to affect your performance report is a very good idea to use assertions:

  • in GET/POST/PUT/PATCH methods
  • in API performance testing
  • in functional testing

Be aware that if your are creating a long running test or a test with a lot of requests is good not to use a lot of assertions as
they tend to consume quite a bit of memory which could make your JMeter tool crash and means starting the test again.

What type of assertions does JMeter support ?

There are several types of assertions that you can use in your test scripts.
The most used ones are:


You can also use LoadFocus to load test your websites, APIs or any web-app with thousands of users from AWS cloud locations.

 

Filed under Page Load Time, Website Speed Testing.

During Speed testing of your website or web application using LoadFocus (https://loadfocus.com/speedtests) on the Advice section you might get the tip that you need to enable compression like in the image below:

 

advice_enable_compression
The question is why and how do you do that ?

 

  • The response to the why is that enabling gzip compression can reduce the size of the transferred response by up to 80-90%;
    This has the following benefits:
  • significantly reduces the amount of time it takes to download the resources
  • reduces data usage for the client
  • improves the time to first render of your pages
  • a better user experience for your customers
  • a better monetization for your web application

You can enable gzip compression for CSS and JavaScript files.
Apart from these any text data or XML files will also benefit from gzip compression. Don’t use gzip for image or other binary files.

Image file formats supported by the web, as well as videos, PDFs and other binary formats, are already compressed; using gzip compression on them won’t provide any additional benefit.

By default all modern browsers automatically negotiate gzip compression for all HTTP requests that are done.
To help you enable gzip compression on your server you can check out the following project

https://github.com/h5bp/server-configs

that contains the sample configuration files for quite a few different servers.
After you’ve finishes to enable compression on your server run the LoadFocus speed test again. This time the tip regarding to Enable compression should say that everything is fine.

LoadFocus.com is a Cloud Testing Platform used for Load and Performance Testing for Websites and APIs and Website Speed Testing with Analytics.

Filed under Apache JMeter, Performance Testing.

In case you want to easily start Apache JMeter load testing tool on your MAC OS, here some things which you help you get started.

Once you downloaded Apache JMeter, just go to the PATH where you’ve dowloaded it. For example, I’ve downloaded JMeter in my Downloads folder. Here are full details on how to run your first load test with JMeter.

 

Steps to Add JMeter to the PATH environment variable:

  1. Open Command-Line (Terminal)
  2. Type jmeter and press Enter
  3. If JMeter is not in the PATH variable, you’ll get the following:
    -bash: jmeter: command not found

  4. In terminal, go to the bin folder, where you’ve downloaded JMeter
  5. Press pwd command to get the current working directory
  6. Update the PATH variable with the following command:
    export PATH=$PATH:/Users/user/Downloads/apache-jmeter-2.13/bin
  7. Now type jmeter in the terminal and Apache JMeter will start

This is what you should see in your terminal:

computer:bin user$ jmeter
-bash: jmeter: command not found
computer:bin user$ pwd
/Users/user/Downloads/apache-jmeter-2.13/bin
computer:bin user$ export PATH=$PATH:/Users/user/Downloads/apache-jmeter-2.13/bin
computer:bin user$ jmeter
org.apache.jmeter.testelement.TestPlan
org.apache.jmeter.control.gui.TestPlanGui