Today it is not enough to use a simple functional and load testing if you want to test the efficiency of modern sites. They just can’t give the warranty for total product serviceability in real conditions. Today the IT sphere requires the usage of more considered and subtle applications and products.
Web 2.0 era made all sites more interactive – now any web application can recognize its visitor and is easily arranged under his/her expectations. Customers became more demanding to websites, expecting that those sites will seize their meaning at once. Similar regularity resulted in the growth of the server load and appearing of strict demands to the level of services – now even the most insignificant error in the site functioning steadily leads to the loss of certain part of visitors.
Site performance today is the most critical aspect for many web companies, and failure cost of its potential efficiency increased markedly. All of this makes the process of load testing quite actual and needed.
The Base of Future Results at Load Testing
Before performing load testing, it is necessary to understand what exactly you want to receive at the end. Any testing, no matter what is the field of activity, requires thorough preparation. In the case of load testing, it is necessary to define the most important test criteria, to understand, what exactly will be considered as success, and what will be recorded as wrong work of the service (for example, time of an answer from a server, loading database).
The Types of Load Tests
There are three types of load tests:
- Load (load testing) – it is testing of the general system productivity at certain load;
- Test of the system stability (stress testing) – is testing of system parameters in the most extreme environment. The main purpose of this test is to break the unity of the whole system functioning. Additionally, there is testing of developed system’s ability to save the integrity of the information in case of unexpected technical break-downs;
- Test of efficiency (performance test) – it’s the base test that includes 2 tests described above. Performance tests allow defining the common productivity of all parameters in the complex and separately.
All these actions are needed for one reason – to receive the total amount of customers who in the future can get access to the web resource simultaneously, the number of requests processed by the server, or the time of its response. On the base of received results, network manager and developers can know beforehand weak spots of their product which appear because of some components defect, as well as to fix the situation before the software will be delivered to the client and/or released to the users.
During similar testing, there’s an imitation of simultaneous work of a few hundreds of customers. For a more real situation of programmed actions, each user can surf the site according to an individual scenario and have personal parameters.
Also during such test, it is possible to simulate rapid peak loads, when the number of users is increased or decreased unevenly, and this really looks like work of sites with the irregularly distributed audience.
All described above is performed with the use of special utilities and applications which allow setting up a necessary type of test and executing load testing in conditions, which are maximally similar to real. One of such applications is NeoLoad.
The NeoLoad utility is a specialized program solution for load testing of mobile and web apps by creating virtual conditions when customers’ actions in the network are imitated. With its help, you can monitor the productivity of the whole server infrastructure on the project.
NeoLoad is qualitative and professional software for performing load testing with all necessary functions which are required while performing similar testing and further analyzing the received data. Making an imitation of a situation with a big number of users, NeoLoad product allows analyzing not only the time of system response to incoming requests but also testing the productivity of all server infrastructure, including database and web server.
The number of virtual customers at load testing, which is performed with the help of NeoLoad, can easily vary from 100 thousand to half a million! This IT solution is a great tool with the original combination of usage simplicity and maximal productivity!
The system of NeoLoad software records the actions of customers during their interaction with utilities inside the profiles of certain virtual users. It allows using available sample scenario, without the need to write the new ones.
Relying on the profiles of virtual customers, it is easy to create similar thematic “communities” which will interact with applications with the help of different virtual devices, on channels with various specifications, as well as from different geographical locations. The modules of NeoLoad monitoring allow measuring the level of network infrastructure capacity during the execution of load testing.
Before you start performing the test which will allow testing the software productivity during started load, it is necessary to specify the number of simulated customers in strict accordance with the server technical prescriptions and the purposes of the future test.
The following purposes of tests are available:
- Testing of the software performance at normal load;
- Testing of the maximum number of the customers by gradual increasing the virtual user number;
- Testing of the total utility performance restoration after the activity burst (for example, to check a possible leakage of main storage on the server).
Analysis of the Received Data
After test completion, the NeoLoad app displays the most significant results of testing and the group of messages concerning these bugs. Similar approach immediately pays tester’s attention to the most critical moments in the functioning of the developed software.
Also, the technical arsenal of this product has the whole complex of parameters and functions for the deep analysis of data.
Flexible Architectural Environment
NeoLoad software contains 2 main components: controller and allocated load generator. They can easily function on the platforms of any operating systems: Linux, Windows and OS X.
If you want to do a quick deployment of this software (NeoLoad), the load generator comes along with the controller.
To execute a test on average settings it is enough to have only one local machine with the installed load generator in stock. During a test on maximum speed, you need to use additional load generators which should be installed on different machines.
Similar architectural flexibility allows performing different tests, including those ones which analyze a lot of user data. The NeoLoad program supports load generation on local machines, from a cloud, on the basis of Neotys Cloud Platform resource.
During test execution, NeoLoad program collects the data concerning server infrastructure on the basis of monitoring modules. Such information allows a quick finding of the existing problems in servers functioning. Parameters of monitoring modules provide its performance in a remote form, without direct influence on the network performance.
Each used module comes initially configured, with rationed counters of the general performance monitoring of the customer’s IT infrastructure. From the very beginning, NeoLoad software has threshold values of the most known and popular servers and database functioning, which were chosen on the base of a general analysis of proven practices. If the threshold value is exceeded, a system will give certain information alert.
The main controller functionality:
- A graphic interface which allows the customer to create and edit scenario, to start tests, and to analyze the received data;
- Tests performance, the control of the load generator traffic;
- Monitoring of the different web architecture components without previous installation of the agents to the server.
Load generator has the next functionality:
- It simulates the behavior of customers who interact with tested software;
- It collects information about the nominal performance of the given product.
NeoLoad System Requirements
NeoLoad software is compatible with all known web servers and web applications: SOAP, ASP, AJAX, PHP, J2EE, CGI and other.
Used Program Platforms
NeoLoad software (version 5.1) supports such operating systems:
- Windows XP and above;
- Windows Server 2003 and above;
- Linux (OpenSuse and above);
- OS X (from version 10.10 Yosemite and above).
As this utility was written on the Java programming language, the NeoLoad web product can function on any platform that is able to support Java Virtual Machine 7 (security testing companies must have such product). If you want to begin using the NeoLoad you need to have at least 500Мb empty space on a disc.
Tests results will take additional space on the disk. For the installation of the load generator or the monitoring agent, you need to have 300 Мb free space.
Additional requirements to hardware supplying completely depend on specific features of scenario creation. The more load is on a server, the more hardware resources are required. During testing, you can easily control the usage of the processor and generator memory.
If the processor constantly displays more than 90%, you need to think about lowering the number of virtual customers or raising the time of response while a user goes from one web page to another. NeoLoad developers recommend installing auxiliary load generators for better performance of the whole system.
In conclusion, we can say that NeoLoad, the urgent facility of load testing, allows to take into account all features of modern web applications, as well as to test qualitatively the developed utilities and projects even with limited budgets, having enough time for testing.
NeoLoad is a perfect product of corporate and individual class which excellently executes different tasks, allowing to reach a necessary result in the shortest terms.