Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 19

Performance Testing

•Performance Testing is the type of Non-Functional Testing.

•to evaluate the performance of components of a particular system under


a particular workload.

•Performance Testing Attributes: Speed, Scalability, Stability &


Reliability.

•Performance Testing Tools : Jmeter, Open STA, Load Runner, Web Load
etc.
Goal
•Speed - Determines whether the application responds quickly wrt Response Time

•Scalability - Determines maximum user load the software application can handle.

•Stability - Determines if the application is stable under varying loads


Load Testing

• Testing the behaviour of the system under a specific load .

• Testing to get the breakeven point where system starts downgrading it’s
performance.

• To test the system by constantly and steadily increasing the load on the system till
the time it reaches the threshold limit.

• This is a type of Non-Functional Testing.


Load Testing

• The primary goal of load testing is to define the maximum amount of work a system
can handle without significant performance degradation.

• To determine the upper limit of all the components of application like


database, hardware and network etc.

• To monitor the response time and staying power of application when system is
performing well under heavy load.

• It is also called as “Endurance testing” and “Volume testing”.


Stress Testing
•To determine or validate an application’s behavior when it is pushed beyond normal or
peak load conditions.

•to find the upper limit capacity of the system and also to determine how the system
performs if the current load goes well above the expected maximum.

• It is basically testing the functionality of the application under high loads.

•Stress Testing is a type of Non-Functional Testing.


Load Testing to test the system to test the system behavior
behavior under normal under extreme conditions
workload conditions.
to break the system by testing
simulating with the actual with overwhelming data or
workload resources

Stress Testing
does not break the system like load testing but increasing
the load on the server
JMeter
•Apache Jmeter is a open source performance testing tool.
•To analyze and measure the performance of web application or a variety of services
against heavy load, multiple and concurrent user traffic.
•JMeter originally is used for testing Web Application or FTP application. also, it is used
for a functional test, database server test etc.
•JDK Environment, Windows/Linux
Thread Group

•Thread Groups is a collection of Threads.


•In thread group , we are creating a simulations
of the users. So we are simulating number of
requests.
•Each thread represents one user using the
application under test.
•Each Thread simulates one real user request to
the server.
•The controls for a thread group allow to Set
the number of threads for each group.
Test Plan
It mean initial planning . So for web application what could be test plan ? Number
of requests , time between successive requests.

Ramp-up Period : time period between successive requests.

Loop count : If I set it to 1 , then my 5 requests will run for 1 time only. If set to
infinite , then my 5 requests will run for infinite time.
Sampler = actual server that you want to check. It could be http server / jdbc
server / FTP server

Type of requests for Thread Groups :


HTTP/FTP/JDBC.
Configuration Elements
set up defaults and variables for later
use by samplers.

1. FTP Request :
◦ To performance test an FTP server
◦ FTP request sampler
◦ Get/Put File
2. HTTP Request : This sampler lets to send an
HTTP/HTTPS request to a web server.
3. JDBC Request : This sampler lets to execute Database testing. It sends a JDBC Request (an
SQL query) to a database.
Listeners
shows the results of the test execution in a different format such as a tree, table, graph or
log file
Assertion
Assertion help verifies that server under test returns the expected results.
Response Assertion
add pattern strings to be compared against various fields of the server response.
Duration Assertion
each server response was received within a given amount of time.
Any response that takes longer than the given number of milliseconds (specified by the user)
is marked as a failed response.
Size Assertion
The Size Assertion tests that each server response contains the expected number of byte in it.
specify that the size be equal to, greater than, less than, or not equal to a given number of
bytes.
Controller
•Logic Controller to handle the order of processing Samplers/Requests in a Thread.
•Logic Controllers will decide “When & How” to send a request to a web server.
1. Simple Controller :
Simple Controller is just a container for user request.

2. Module Controller :
Module controller adds modularity to the JMeter Test Plan.
To construct test plan consists of small units of functionality
3. Loop Controller:
the user request run a specified number of times or run forever.

4.Random Controller :
samplers/requests to run in random order in each loop
Master

Distributed Testing Jmeter


GUI
(x.y.z.1)
•Distributed Testing is to use multiple systems to
perform Stress Testing. Control Control Control
•Distributed testing is applied for testing websites
and server applications when they are working Jmeter- Jmeter- Jmeter-
with multiple clients simultaneously. Sever Sever Sever
(x.y.z.2) (x.y.z.3) (x.y.z.4)
Master: the system running JMeter GUI, control Slave Slave Slave
each slave. Request
Request Request
Slave: the system running JMeter-server, receive a
command from the master and send a request to a
server under test.
Target: the web server under test, get a request
from slaves.

You might also like