Different Types of Performance Tests

In the following blog post, we will make a very brief description of the different types of tests for software. Primarily, we will focus on performance tests. To develop examples of these tests, we will use the SoapUi and Jmeter tools. We will also show how to call an external file with a .csv extension with registers to load the .xml request parameterized with the Soap protocol.

Basic description of the tests

The loading .csv file will allow us to perform any of the following types of tests.

Performance tests determine how a system reacts in terms of responsiveness and stability under a given data load.

Types of performance tests:

Stress testing consists of verifying the limits that a system can support. In these types of tests, they usually send more requests than the system can process.

Load testing involves looking at the behavior of a system with an increasing workload.

Stability testing consists of verifying if the application can have a continuous performance within or above the established period.

Volume testing involves analyzing system performance by increasing the volume of data in the database.

Scalability testing evaluates the system’s ability to grow by increasing different indicators, such as the workload per user, the number of concurrent users, or the size of a database.

Resistance tests define problems that can occur with prolonged execution. Evaluates the behavior of a system when there is a significant workload continuously.

You can perform two types of requests in the shipment of records, they are:

Concurrent and sequential

Concurrent: Record blocks are sent at the same time.

Sequential: Record blocks are sent but processed one at a time.

For example, send 100 records at the same time every 20 seconds in 1 hour. In total, 3 blocks of 100 records will be sent, which will add 300 records in 1 hour.

In this case, we have a hybrid that considers the two cases, but they can be clearly differentiated.

Practical example

To make the example, we are going to use the Jmeter tool.

Note that we are only going to focus on the Jmeter components that reference the performance testing example.

In this example, we are going to call a .csv file with records to load in the .xml that is sent sequentially or concurrently.

Jmeter configuration

performance testing

As we see in the print, we have the Thread Properties configuration, which contains the options:

Number of Threads (users): Here, you enter the number of records to be sent.

Ramp-Up Period (in seconds): Here, you enter how often the records will be sent.

Loop Count: Forever: Here you enter the number of times the records will be sent.

Basically, with these settings we can perform the different types of tests.

The arrows that are one below the other indicate the sending of records sequentially, the arrows that parallel indicate the sending of records concurrently.

Example

As can be seen in the example, the Thread Group is configured to send a record in a second and a single repetition.

Component CVS Data Set Config

As can be seen in the Filename field, the specific path of where the .csv file is located must be added. Format of the .csv file inside

Format of the .csv file inside

performance tests

The Variables Names (comma-delimited) field adds the variables to be called from the .csv file and in the same order that is specified.

Component HTTP Request

As can be seen in this component, the configuration variables are added, and in the Body Data section, the request .xml with the soap protocol to be sent is added.

Body Data in more detail

As you can see in the .xml, the variables that are configured in the CSV Data Set Config component are called in the form $ {var1}.

Componente View Result Tree

This component shows the results of the requests in the form of a tree.

Each shipment shows us a simple result, the data sent, and the response data.

In it, you can verify if the .xml that was sent, the property variables are taking their value correctly.

Menu