Introduction to Neoload Performance Testing Tool (Part-1):
In this Neotys Neoload training series, we are going to discuss Performance testing using the Neoload tool.
We will be covering the complete training of Neoload i.e. from installation, scripting, mobile recording, parameterization, correlation, logical actions, scenario creation, cloud load test and test execution till reporting.
List of Neoload Tutorials in this series:
Tutorial #1: Neoload Introduction, Download and Installation (This Tutorial)
Tutorial #2: Web and Mobile Recording Methods and Parameterization in Neoload
Tutorial #3: Correlation and Logical Actions in Neoload Tool
Tutorial #4: Create populations, Scenarios, Test execution and Reports in Neoload
What You Will Learn:
Neoload is a low-priced high-efficiency load and stress testing tool that is used to measure the performance of web and mobile applications.
Neoload simulates traffic through virtual users to determine the application performance under load and analyze the transaction response times and pinpoint the number of the simultaneous users which the internet, intranet or the mobile application can handle.
I have worked on various performance testing tools that include LoadRunner, JMeter, RPT, and Neoload. Among all the performance testing tools, I feel comfortable with Neoload because of its user-friendly record and script enhancement options that make the tester’s job much easier when compared to the other tools.
Before starting with the Neoload tutorial let’s discuss a little about what is performance testing and why we need it along with performance testing tools feature comparisons.
Performance testing is used to determine how fast a website or app will be responding to a user request when multiple users access it.
It is also performed to check the stability of the system i.e. whether the server is able to handle thousands of users at a time.
Why Performance Testing?
If the site or app is not performing well then it may lead to user drops i.e. the user may not be interested to use that site due to poor performance.
We need to do Performance testing in order to get the answers to the below questions:
- How fast is my system responding to load?
- Is my system able to handle a large volume of users?
- Is my system responding quickly? If no what will be the reason?
#1) Load Testing
- Testing the application with different workloads based on the usage pattern. It gives the probable workload application support under the normal working conditions.
- To determine the System’s response time & resource utilization under load.
#2) Stress Testing
- Load testing executed to find issues due to low resources or competition for resources to find the Max capacity of the system.
- To identify the bottlenecks in the application like DB connection & to determine the Max no of user requests that a server can handle.
#3) Endurance Testing
- To identify the stability of an application under constant load for an extended period of time.
- Helps to determine problems related to memory leaks, garbage collection etc.
Neoload vs LoadRunner vs Jmeter
Let’s explore the features of Neoload, LoadRunner, and JMeter using the below table.
|Scripting Language||Java script/java||C/Java/Java script||Groovy/Java
|Script maintenance||Easy to use user path maintenance feature which reduces redesigning/re-scripting effort by 40 to 50%||Not available||Not available
|Correlation|| Automatic and easy|
- Session and cookies handling is not required
- Frameworks for all protocols
- No scripting involved
- Rules need to be established first
- Manually set parameters using scripting language
Manual correlation only
|Select any element(s) with a right-click||Type characters “/” to be entered or blocks of script with “*/”||Select any element(s) with a right-click|
|Continuous Integration||Jenkin- with custom graphs |
Hudson, Bamboo & Team city
No custom graphs
|Jenkin, Bamboo and Hudson
No custom graphs
|EUX metrics for web|
|It’s possible to measure browser rendering event related 4 metrics|
using Integration with selenium
|Trueclient protocol- gives only single metrics||It’s possible to measure browser rendering event related metrics
by Integration with selenium.
|MQTT, JSMS, SOAP, RESTAPI|
Dedicated advance action for MQTT- No coding needed. Proven technology.
|Recently started supporting IOT with extensive coding in Visual studio.||MQTT Plugin available to support IOT Performance Testing|
|Reporting||Good reporting and test results comparison||Excellent reporting, test result comparison|
and detailed analysis available
|Results analysis tables and charts are primitive; more sophisticated analysis requires other charting tools (e.g., Excel)|
|Mobile Enabled||Built into NeoLoad (nothing more to buy)|
• Allows direct recording from mobile device or desktop
• Emulate mobile browsers during recording and runtime
• Generate realistic traffic on the server with WAN emulation (bandwidth, latency, packet loss). Its free with Neoload controller.
• EUX metrics collection-using perfecto, selenium, seetest, Appium etc..
| Not included in the HTTP Protocol:|
- HP Mobile Applications
- HP Mobile True Client
• Allows direct recording from Android devises, require a native HP app to install in devise.
•No script replay on devises
• WAN emulation needs (Shunra) not free module
|No bandwidth emulation
|Cloud Testing Solution||Built into NeoLoad (No additional software license needed)|
• Deep integration with cloud providers makes it easier to quickly provision infrastructure on demand.
• Multiple providers available through Neotys cloud platform • Neotys cloud platform includes Amazon EC2, Cloud Sigma, Rackspace, Joyent, and even HP!
|No cloud module integrated into Loadrunner.|
• Requires one of two services:
- HP Elastic Test
- HP Cloud Assure
|No cloud module integrated into JMeter
Require additional services like Blazemeter
|Monitoring|| Ability to deploy several monitoring engines in sub networks|
• Integration with Dynatrace, CA APM, and AppDynamics, Newrelic.
|Need separate tool|
- HP Performance Center
|No monitoring built-in|
Will cover most of the above-mentioned features in this tutorial series.
Please find the system requirements here.
Download the latest version and choose the OS bit version depending on your operating system from here.
- Install the controller on the system.
- It is recommended to install “load generator agent’ on the designated agent machines to handle more user load.
- Install Monitoring agent on the servers which are to be monitored.
Note: For now, we just need a controller.
Detailed installation steps can be found here.
Once Neoload is installed successfully. Open the Neoload and create a new project.
Once the project is created successfully then the tool looks as shown below.
Neoload includes 3 components under one section. They are:
Design: It is for script design like VUgen in LoadRunner.
Design again includes 3 sections as shown in the above screenshot.
- User Paths: Used to record and enhance the scripts.
- Populations: Used to add scripts to the scenario.
- Monitors: Used to add the monitoring servers.
Runtime: It is like the controller in LoadRunner. Runtime is used to create scenarios.
Results: It is like Analysis in LoadRunner. And is used to run the test and generate a report.
Before starting with script design, configure the below 2 things.
- Certificate installation
- Proxy setup
- Browser Proxy
- Application Proxy
To record the SSL Authorized application like https, a Neoload certificate should be installed.
The certificate can be installed in two ways:
- Install an Operating System
- Install in Browser
#1) Install in Operating System
If a certificate is installed on an operating system that will apply for Chrome and Internet Explorer then no need to install separately on those browsers. But that will not be applicable to Mozilla. If we are using Mozilla for recording, a certificate should be installed on that browser separately.
Step #1: Open Neoload and go to Help -> Open Logs Folder.
It will open the logs folder and then click on the Neoload version from the top menu and open the ‘Conf’ folder which is included in the certificate.
Find the details in the below screenshot.
Step #2: Once you double-click on a certificate, the Certificate installation wizard will open.
Then click on install certificate -> click next -> click place all certificates in the following store -> browse -> select trusted root certification authorities and select nest to validate and then finally click on Finish once all the steps are done.
You will get a message stating “certificate installed successfully”.
You can find all the above details in the below screenshots.
#2) Install in Browser
Install certificate in the Operating system is not applicable for Mozilla browser. So, we should install separately in the browser.
Step #1: Open Mozilla->Tools->options->Advanced->Certificates->View Certificates-> click Import the certificate wizard will open.
Step #2: Browse to Neoload ‘Conf’ folder as explained above in the operating system installation and select the certificate Neoload_Root_CA.cer and then click ok. It will show that one popup certificate is successfully installed.
Step #3: If latest Mozilla browser doesn’t have an advanced option then click on settings and search for certificates and click on view certificates.
Step #4: Click on import and copy the path under file name ‘C:\Users\nagendramma.mallala\AppData\Roaming\Neotys\NeoLoad\v6.1\conf ‘and click open and you will find the certificate.
Step #5: Click on the certificate and you will get one popup as shown in the below screenshot. We should select all the options and click ok.
Proxy setup includes Browser Proxy and Application Proxy which are explained below in detail.
#1) Browser Proxy Setup
Before starting the web script design, set up a browser proxy.
Port and the Neoload running host should be provided to set the proxy.
The default port for Neoload will be ‘8090’.
Open any browser and set the proxy. Here we are showing IE browser.
Step #1: Open IE go to settings -> Internet options -> select ‘connections’ from the menu and click on LAN settings.
Step #2: Click on use proxy server for LAN and enter the host address and port number of Neoload running and click ok.
The Neoload running host address will be ‘localhost’.
#2) Application Proxy Setup
To record the script, browser proxy setup will be enough but some applications have specific proxy i.e. we can’t access the application publicly, so we should set their server proxy, only then the application will be accessible.
To record those type of Applications we should set the proxy in Neoload recording preferences.
Step #1: In Neoload select record -> click on recording preferences and then record preferences wizard will open.
Step #2: Click on the proxy, and you will find two options i.e., Internet proxy and Application proxy.
Step #3: Click on add from the right-hand side and enter ‘name’ and add proxy details, for Example, host tutorial.exmple.com and port 8889.
Step #4: If Application proxy requires authentication, then we should give login credentials as well.
Step #5: Once the required details are filled click ok.
Step #6: Go to Application proxy and select the created proxy from the drop down and finally click on apply.
So far we learned what is performance testing, why is performance testing done along with few types of Performance testing and how Neoload is different from other tools, its installation, certificate installation, Proxy setup, etc.
I hope that you must have gained more knowledge about Neoload tool through this informative tutorial.
About Author: This series is written by STH team member Naga Mallala. She is having 8 years of experience as a Lecturer and Senior Software Engineer with good experience in Neoload, Jmeter, LoadRunner, SOASTA, Newrelic, and Mpulse tools.
In our upcoming part 2 tutorial, we will know more about script Design in Neoload tool.