Paying attention to the test environment, there
must be a network dedicated to testing and a good machine to run test automation
tools and tools to monitor the net and the CPU of
the server.

Recording selected scenarios.

Choosing adequate reports to analyse the data from
execution.

Analysing and generating reports.

Using Jmeter

Jmeter is an opensource
tool used in performance testing, load testing
and stress testing. It can be used to
simulate a heavy load on a server, network or object to test its strength or to
analyze overall performance under different load types.

The Jmeter installation is very simple. It requires JRE/JDK correctly installed and the JAVA_HOME environment variable set. Just unzip the zip/tar file into the directory where you want JMeter.In the Jmeter/bin directory you can run the jmeter.bat (for Windows) or jmeter (for Unix) file.

Jmeter Interface

First element is Test Plan, selecting and
rigth click add the component Thread Group needed for the test.TestPlan -> Add ->
Threads (Users) -> Thread Group.
It's interesting to add the element called Recording Controller. It will help to organize the test scenarios according to
functionality to be tested.Right Click on Thread Group
-> Add -> Logic Controller -> Recording Controller
Then, it's good to add listeners to see the data generated by tests.Thread Group right click
->Listener -> Agregate GraghThread Group right click
->Listener -> Summary Report

If you want to collect isolated results, add listener just for Recording
Controller.Recording Controller right
click ->Listener -> Agregate Gragh
After, the element HTTP Proxy Server must be added, it allows Jmeter to record
the user requests and turns them into object
Samplers.

When it finishes just go back to Jmeter and Stop HTTP Proxy
Server. It's good to delete images, css files and scripts before running the tests.

Next, select Thead Group, in Thread Properties
and set:

The
number of threads: they are used to simulate concurrent connections to your server
application.

The
ramp-up period: how long it take to "ramp-up" to the full
number of threads chosen

Number
of times to execute the test.

Example:
Set 10 threads and the ramp-up period 100 seconds. So, it will take 100 seconds
to get all 10 threads up and running.

The next step is
to select the Play button in Jmeter toolbar.

OBS: If you set a large
number of threads for example 1000 and the Jmeter freezes showing Memory leak in
command line. Verify the RAM memory of the computer and Edit the following line
of Jmeter.bat :set HEAP=-Xms2048m -Xmx2048mFor a good performance. It
is recommended to execute a large number of threads in Jmeter using a computer
with more then 4GB RAM.
When the execution stops, observe the Summary Report. It will show values on measurement.

Label: http request recorded.

Samples: number of http request ran for threads.

Average:
average response time for http request. T

Min: the minimum response time taken by the http
request.

Max: the maximum response time taken by the http
request.

Std.Deviation: how
many cases were deviating from the average value of the receiving time.

Error %: error
percentage in samples during run.

Throughput:number of requests per
unit of time sent to server.

In Agregate Graph, the results are plotted and it is possible to identify bottlenecks of the http requests.