NeoLoad Tool for Performance Testing
Contents of Presentation
Load Testing with NeoLoad
About Load Testing Load testing is necessary to: Test a web site's vulnerability to crashing under load. Check response times under the predicted load. Determine the number of simultaneous users supported by the application.
Define hardware and bandwidth requirements.
Load Testing with NeoLoad Recording Http traffic between browser and server.
Defining Test Parameter/Scenario.
Quick Start ……… Our Test will undergo following phases:
Recording the Test Scenario.
Recording the Test Scenario
Click on the "Start recording" button on the controller to start recording the scenario.
Recording the Test Scenario – cont… NeoLoad will capture pages and record them into a virtual user profile. Choose the name of the profile to record, then select "Adobe RTMP" if your application is using the RTMP protocol. By default, NeoLoad records only HTTP traffic.
Next, specify which web browser is to be used for the recording and whether the browser's cache and cookies should be cleared before recording.
Recording the Test Scenario – cont… 3. Entering the URL to be recorded The browser displays the NeoLoad recording page, indicating that the browser settings are correct.
The browser is now ready to record the scenario. Enter the URL of the site to be tested and browse as normal.
Recording the Test Scenario – cont… 4. Grouping recorded pages by business transaction At any time during the recording, you may create named containers in which to group the visited pages.
These containers represent the business transactions within your scenario.
Recording the Test Scenario – cont… 5. Stopping the recording
Close the browser to stop recording. You may also click on the controller's "Stop recording“ button.
Recording the Test Scenario – cont… 6. Creating your first virtual user Once the recording is finished, a pop-up wizard is displayed.
Follow the steps through the wizard.
Recording the Test Scenario – cont… On the "Virtual Users" tab, you may configure the think time for the user. The think time is a simulation of the time spent by the user on the previous page before accessing the current page.
This delay may be for each page individually, for all pages globally or variable within a given range.
Recording the Test Scenario – cont… 7. Checking the validity of the virtual user Complex scenarios may require advanced settings. A failure to implement these settings will result in errors and an unexpected behavior for the virtual user. For example, the virtual user will not create entries in the database.
Check the validity of the virtual user via the "Run / Start checking" menu item.
Recording the Test Scenario – cont…
The "Check Virtual User" dialog displays the HTTP request and the HTTP response of
Recording the Test Scenario – cont… NeoLoad automatically flags in error any responses whose HTTP response code is an error code, for example "500 Internal Error". Nevertheless, many applications return error messages within a valid "200 OK" response. In these cases, NeoLoad does not automatically detect the error. If the virtual user does not behave as expected, check the responses to see if they contain an error message or an unexpected content.
Failure to handle a dynamic parameter will cause an error. Generally, it means that you may need to extract and inject some data.
Recording the Test Scenario – cont… Click on the "Populations" tab. A pop-up wizard prompts you to create a population for the test.
A population is a group of virtual users. In this example, the population only contains the previously recorded virtual user.
Running the Test Click on the "Runtime" button, then on the "Scenarios" tab.
Configure the settings such as test duration, load policy (constant, ramp-up, peaks, custom) and the number of virtual users.
Running the Test – cont…
Run the test by clicking on "Run" top menu, and then click on the "Start playing" button.
Running the Test – cont… 2. The Runtime Overview tab This panel monitors the test sequence. It provides immediate statistics such as hits/sec., average response time and errors.
The test may be stopped at any time by clicking on the "Stop" button.
The test summary provides general statistics for the test, including total test duration, throughput, total number of hits, number of errors and average response time, together with important information such as slowest pages, pages with the highest error rates etc.
Test Results – cont… Quickly plot all the graph curves for a web page, HTTP request, a monitor or an indicator. Sort the request and web page statistics. Use "Filters" to filter the displayed results by load generator, population or virtual user.
Use the "Type" drop-down list to switch between Web Pages , HTTP Requests , Performance counters and Indicators .
Test Results – cont… The "Graphs" tab can be used to plot a graph curve for any statistic in any request. Simply select the required statistic among average response time, hits/sec., error rate etc., then drag and drop a Web Page , a HTTP request or a Performance counter into the graph pane to the right. You may also plot a curve for a previous test by selecting that test in the Results drop-down list
or compare two tests by selecting "Compare..." .
Test Results – cont… This tab displays detailed information on request errors encountered during the test. It itemizes the requests sent to the server, the server's response and the results of the assertions checking its validity. To help pinpoint the source of the error, you may access the request that precedes the request
containing the error from this tab.
Communication methodology Neoload uses agent less communication between client and server. It is based on the Push technology. Push technology is a type of communication where information is "pushed" by the server to the browser, contrary to the normal "pull" principle whereby the browser initiates the request for information.
There are several Push methods: polling, long polling or streaming.
FAQ What is RTMP: Real Time Messaging Protocol which is proprietary of Adobe for streaming audio/video and data over the internet between Flash player and a server.
What is xml code in NeoLoad: XML code is actually amf request in binary, sent by client to server.