0% found this document useful (0 votes)
92 views19 pages

LOAD TESTING - AdhamSedh

Load testing evaluates a system's performance under high workload conditions by simulating many simultaneous users accessing it. The goals are to determine the maximum capacity and identify bottlenecks. It is important because it can prevent revenue loss from crashes under real-world loads and ensure the system scales as needed. While load testing finds issues, it requires specialized tools and expertise which increase costs.

Uploaded by

Abrar Mohammad
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
92 views19 pages

LOAD TESTING - AdhamSedh

Load testing evaluates a system's performance under high workload conditions by simulating many simultaneous users accessing it. The goals are to determine the maximum capacity and identify bottlenecks. It is important because it can prevent revenue loss from crashes under real-world loads and ensure the system scales as needed. While load testing finds issues, it requires specialized tools and expertise which increase costs.

Uploaded by

Abrar Mohammad
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 19

LOAD TESTING

Done By:
• Adham Seddeh
-What I Will Talk About Here:
.What is Load Testing In Software Testing?

.What Are The Goals/Objectives of Using Load Testing?

.What Are The Differences Between Load & Stress Testing?

.Mentioning Some Examples of Load Testing.

.What Are Types of Load Testing Tools?

.How Load Testing is Done?

.What is The Importance of Load Testing With Examples?

.What Are The Advantages and Disadvantages of Load Testing?


What is Load testing in software testing?
• Load Testing is a Non-Functional performance testing
technique.

• Load testing is the process of putting demand on a


software system or computing device and measuring its
response under specific expected load, on both normal
and at peak conditions.

• It helps to identify the maximum capacity of an


application as well as any bottleneck and determines
which element is causing degradation.

• It’ s basically used to ensure that the application


performs satisfactorily when many users access or use it
at the same time, and also It tells us how many
simultaneous users can the application handle.
What is Load testing in software testing?
• Load testing differs from Stress Testing, which evaluates
the extent to which a system keeps working when
subjected to extreme works’ loads or when some of its
hardware or software has been compromised.

• Load testing falls under the category non-functional


testing Its mainly used for testing the performance of
Client/Server and applications which are web based.

• In many organizations load testing process is performed


at the end of the software development life cycle(SDLC).
-Goals for Load Testing
• Response time for each transaction.

• Performance of System components under various


loads

• Performance of Database components under


different loads

• Network delay between the client and the server

• Software design issues

• Server configuration issues like a Web server,


application server, database server etc.

• Hardware limitation issues like CPU maximization,


memory limitations, network bottleneck, etc.
Load Testing vs Stress Testing

• Both are under the expression Performance


Testing, and it’s basically Non-functional testing in
which we perform to determine the system
parameters in terms of response and stability
under various workloads and environments.

• Stress Testing is defined as testing the app with


more than maximum number of users and inputs,
so it keeps measuring until the system reaches
the breakpoint, until the resources are overloaded.
• A load test and stress test are
• Load Testing is a process for measuring the certainly not completely
performance of the system based on the a specific independent from one another
volume of users, and those loads that will be
measured are expected for the system to face, as
concurrent number of users on the app.
-Examples of Load Testing

Downloading a series of large files from the internet.

Running multiple applications on a computer or server simultaneously.

Assigning many jobs to a printer in a queue.

Subjecting a server to a large amount of traffic.

Writing and reading data to and from a hard disk continuously.


-Types of Load Testing Tools
1. Load Testing Performed Manually
This type of load testing is done manually, it cannot
provide enough stress on the app, it could be very
expensive to do manually as it requires lot of
manpower.

2. Load Testing Tools Developed Within The


Company
An organization could build its own proprietary tools to
perform load testing on its applications.

3. Load Testing Tools (Open Source)


These tools are available free for charge but they are
not as classy as licensed load testing tools mentioned
below.
Most commonly used open source load testing tool is
JMeter.
• JMeter is an Apache project that can be used as a
load testing tool for analyzing and measuring the
performance of a variety of services, with a focus
on web applications.

4.Licensed load testing tools (Enterprise)


Licensed load testing tools support many protocols
so that load testing could be performed on many
different types of applications such as ERP/CRM,
Streaming Media etc.
They are also able to simulate a lot of virtual
users.
Most commonly used licensed load testing tool is
LoadRunner.

• LoadRunner is a software testing tool from Micro


Focus. It is used to test applications, measuring
system behavior and performance under load, It
-Process –How to Do Load Testing?
1. Test Environment Setup
The test environment should be setup as close to the
production environment as possible in terms of hardware,
network, software specifications etc.

2. Define Performance Criteria


Performance metrics for the load test are defined in this step
and success criteria are finalized. This can include defining
acceptable limits on throughput, response time, transactions
etc.

3. Planning The Test


It involves development of a clearly defined load test plan
and setting up the test environment.
4. Creation of Virtual Users (VUser)
Involves creation of VUser scripts which contain various tasks
performed by every VUser.
Tasks performed by VUsers could be measured as transactions.

5. Creation of Scenarios
A scenario is a combination of machines(agents), scripts, and
VUsers that run during a testing session.
In LoadRunner, scenarios are created using LoadRunner
controller.
Scenarios could be of two types: manual and goal oriented.
• Manual scenario the numbers of VUsers are distributed
among Vusers’ scripts depending upon the settings we
made in load generators percentage

• Goal-Oriented scenario, the controller will create a


scenario based on the goals, and the goals will be
automatically created by controller based on number of
transactions per sec, number of hits per sec.
6. Running the scenario
The load on the server is emulated by running multiple
VUsers to perform the tasks simultaneously.
Before running the scenario, scenario configuration and
scheduling need to be set up.
We can run the entire scenario, VUser groups or individual
VUsers.

7. Monitoring the scenario


Scenario could be monitored using the LoadRunner online
monitors such as run-time transaction, system resource,
web resource, network delay etc.

8. Analyzing test results


This is the most important step in load testing process.
In this step tester analyzes the performance bottlenecks
using graphs and reports generated during scenario
execution.
Load test may have to be repeated after fixing issues
identified in the load test.
-Why Load Testing is Important?

1. Load testing simulates real user scenarios


While testing the website or an app under a load, tester
is actually simulating how it will perform when
hundreds, thousands or even millions of users visit it in
real time.
The application might perform well for one user during
functional testing but its performance might degrade
when many users try to access it simultaneously during
load testing due to lack of system resources.
Therefor it is better to load test to understand, analyze
and fix bugs before they actually happen in real time.
-Why Load Testing is Important?
2. Code Changing Can Affect The Performance
of The Application
Even if you performed load testing as part of the
testing process few months ago but if the code got
changed several times after that then it is better to
perform load testing again.
All the changes that have been made to the code
after your load testing might have affected the
system’s ability to handle load.
To make sure that the end user is not surprised by
the system’s performance, it is good to run an
automated load test as part of continuous
integration cycle.

3. Load Testing Saves Money and Indirectly


Generates Revenue
Hiring testers to do load tests could incur additional
cost but the cost of fixing a website that crashes in
mportance of Load Testing - Examples
• Target.com lost $780,000 in sales in just 3
hours when the site was down during a
promotion in 2015.
• When Amazon.com servers crashed in 2013
for 30 minutes, Amazon lost $66,240 per
minute
• According to a survey, 75% users said that if a
site crashed or if it was slow, they would leave
the site
• 50% of the users said that they will shop
elsewhere if the website or app did not load in
3 seconds
• As you can see, more people tend to purchase
products during a promotional event like Black
Friday, Cyber Monday, Diwali or when there is
a promotional offer/discount etc.
• More people tend to book flight tickets during
-Advantages of Load Testing
• Issues related to performance and bottlenecks
could be identified before production.

• The system’s scalability is improved in terms


of database, software, network etc.

• There is minimization of the risk associated


with down time of the application / system

• Cost of failure is reduced and satisfaction of


the customer is increased
-Disadvantages of Load Testing
• Testers need knowledge of tools and in some
complex cases, the programming languages
to perform load testing.

• There is significant cost associated with load


testing as tools may be expensive, additional
resources with special knowledge of the
testing tools may be required

• Need programming knowledge to use load


testing tools.

• Tools can be expensive as pricing depends on


the number of virtual users supported
-Summary of The Project
• Load Testing is defined as a type of software non-
functional performance testing that determines a
system's performance under real-life load conditions.

• Load Testing literarily increases performance, improves


bottlenecks, scalability and stability before putting it
into customers’ hands.

• Load Testing helps in identifying the maximum


operating capacity of applications, by using tools to
simulate the expected environments for the
application.

• Load Testing is very important, because if it’s been


ignored it will cause a lot of losses for the organization.
Thank You

You might also like