0% found this document useful (0 votes)
12 views

Performance Testing

Performance testing evaluates the performance and scalability of software applications, identifying bottlenecks and ensuring systems can handle expected user loads. Key types include load testing, stress testing, spike testing, and scalability testing, each focusing on different aspects of system performance. Tools like JMeter and LoadNinja are commonly used to conduct these tests, which involve setting up a testing environment, planning tests, and analyzing results to improve software reliability and speed.

Uploaded by

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

Performance Testing

Performance testing evaluates the performance and scalability of software applications, identifying bottlenecks and ensuring systems can handle expected user loads. Key types include load testing, stress testing, spike testing, and scalability testing, each focusing on different aspects of system performance. Tools like JMeter and LoadNinja are commonly used to conduct these tests, which involve setting up a testing environment, planning tests, and analyzing results to improve software reliability and speed.

Uploaded by

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

Performance testing is a type of software testing that focuses on evaluating the performance and scalability of a system or application.

Performance testing aims to identify bottlenecks, measure system performance under various loads and conditions, and ensure that
the system can handle the expected number of users or transactions.
TYPES OF PERFORMANCE TESTING
1. Load testing
Load testing simulates a real-world load on the system to see how it performs under stress. It helps identify bottlenecks and determine
the maximum number of users or transactions the system can handle. It checks the product’s ability to perform under anticipated user
loads. The objective is to identify performance congestion before the software product is launched in the market.
2. Stress testing
Stress testing is a type of load testing that tests the system’s ability to handle a high load above normal usage levels. It helps identify
the breaking point of the system and any potential issues that may occur under heavy load conditions. It involves testing a product
under extreme workloads to see whether it handles high traffic or not. The objective is to identify the breaking point of a software
product.
3. Spike testing
Spike testing is a type of load testing that tests the system’s ability to handle sudden spikes in traffic. It helps identify any issues that
may occur when the system is suddenly hit with a high number of requests. It tests the product’s reaction to sudden large spikes in the
load generated by users.
4. Soak testing
Soak testing is a type of load testing that tests the system’s ability to handle a sustained load over a prolonged period. It helps identify
any issues that may occur after prolonged usage of the system.
5. Endurance testing
Endurance testing is similar to soak testing, but it focuses on the long-term behavior of the system under a constant load. It is
performed to ensure the software can handle the expected load over a long period.
6. Volume testing
In Volume testing , a large number of data is saved in a database and the overall software system’s behavior is observed. The
objective is to check the product’s performance under varying database volumes.
7. Scalability testing
In Scalability testing , the software application’s effectiveness is determined by scaling up to support an increase in user load. It helps
in planning capacity additions to your software system.
WHY USE PERFORMANCE TESTING?
The objective of performance testing is to eliminate performance congestion.
It uncovers what needs to be improved before the product is launched in the market.
The objective of performance testing is to make software rapid.
The objective of performance testing is to make software stable and reliable.
The objective of performance testing is to evaluate the performance and scalability of a system or application under various loads
and conditions.
It helps identify bottlenecks, measure system performance, and ensure that the system can handle the expected number of users or
transactions.
It also helps to ensure that the system is reliable, stable, and can handle the expected load in a production environment.
HOW TO CONDUCT PERFORMANCE TESTING?
Conducting performance testing involves several steps to ensure that a software application can handle expected loads and perform
well under stress. Here’s a simplified guide on how to conduct performance testing:

Performance testing process

Step 1: Set Up the Testing Environment First prepare the place where you will run the tests for the performance testing. Make sure
you have all the needed tools and understanding for the setup, like what devices and software you will be using for the performance
testing.
Step 2: Decide What to Measure Think about what you want to know from the tests. This will include things like how fast the system
responds to and how much it can handle the tests. You can also look at successful similar systems to set your goals.
Step 3: Plan Your Tests to Figure out different scenarios to test, considering things like how users might behave and what data you
will use. This helps you create tests that cover a range of situations and decide what data to collect.
Step 4: Set Up Your Tools Get everything ready for testing, including tools and ways to track what’s happening during the tests.
Step 5: Create and Run Tests Make the tests based on your plan and run them. Keep track of all the data you get from the tests.
Step 6: Look at the Results After each test, see what you find out. Adjust your tests based on what you learn, and run them again to
see if things change.
Step 7: Keep Testing Keep analyzing and adjusting your tests to get the best results. Repeat the process until you are satisfied with
the performance.
PERFORMANCE TESTING METRICS
 Throughput. How many units of data a system processes over a specified time.
 Memory. The working storage space available to a processor or workload.
 Response time, or latency. The amount of time elapsed between a user-entered request and the start of a system's response
to that request.
 Bandwidth. The volume of data per second that can move between workloads, usually across a network.
 Central processing unit (CPU) interrupts per second. The number of hardware interrupts a process receives per second.
 Average latency. Also called wait time, a measure of the time it takes to receive the first byte after sending a request.
 Average load time. The average time it takes for every request to be delivered.
 Peak response time. The longest time frame it takes to fulfill a request.
 Error rate. Percentage of requests that result in an error compared to all other requests.
 Disk time. Time it takes for a disk to execute a read or write request.
 Session amounts. The maximum number of active sessions that can be open at one time.

PERFORMANCE TESTING TOOLS


LoadNinja - LoadNinja allows you to create scriptless and sophisticated load tests within a short time without compromising on the
quality. Since it is scriptless, it removes the need for script translation and scrubbing.
JMeter - JMeter is an open-source, cloud-based testing tool that helps you to analyze and measure the performance of web
applications.
HP LoadRunner - HP LoadRunner is one of the most powerful performance testing tools capable of determining the real-time
behavior of applications under very heavy loads.
WebLoad - WebLoad is used for web and mobile load testing. It combines all the performance testing components into a single
process for the verification of web and mobile applications.

PROBLEM OCCURS IN PERFORMANCE TESTING


While performing performance testing on the application, some problems may occur, and these problems are also called
the performance issue.
The performance issues are as follows:
o Response time issue
o Scalability issue
o Bottleneck
o Speed issue
RESPONSE TIME ISSUE
The response time means how quickly the server respond to the client's request. If the user's request does not complete in the given
response time, it might have possible that the user may be lost his/her interest in the particular software or application. That's why
the application or software should have a perfect response time for responding user's request quickly.
SCALABILITY ISSUE
The scalability issues occur when the application cannot take the n-numbers of users and expected user requests at the same time.
That's why we will do upward scalability testing (check the maximum capacity of the application) and downward scalability
testing (when expected time is not matched with the actual time).
BOTTLENECK
The Bottleneck is the informal name of bug, which occurs when the application is limited by a single component and creates a bad
impact on the system performance.
The main causes of bottlenecking are software issues (issue related to the operating system), hardware issues (issues related to the
hard disk, RAM and the processor), and coding issue, etc.
Following are the most common performance bottlenecks:
o Memory utilization
o Disk usage
o CPU utilization
o Operating System limitations
o Network utilization
SPEED ISSUES
When we perform performance testing on the application, the application should be faster in speed to get the user's interest and
attention because if the application's speed is slow, it may lose the user interest in the application.

EXAMPLE OF PERFORMANCE TESTING


Let us take one example where we will test the behavior of an application where the desired load is either less than 1000 or equal to
1000 users.
In the below image, we can see that the 100 up users are increased continuously to check the maximum load, which is also
called upward scalability testing.
o Scenario1: When we have the 1000 users as desired load, and the 2.7/sec is goal time, these scenarios will pass while
performing the load test because in load testing, we will concentrate on the no. of users, and as per the requirement it is
equal to 1000 user.
o Scenario2: In the next scenario, we will increase the desired load by 100 users, and goal time will go up to 3.5\sec. This
scenario will pass if we perform stress testing because here, the actual load is greater than (1100) the desired load (1000).
o Scenario3: In this, if we increase the desired load three times as
1200 → 3.5\sec: [it is not less than or equal to the desired load that's why it will Fail]
1300 → 4\sec: [it is not less than or equal to the desired load. i.e., Fail]
1400 → Crashed
JMETER
JMeter also known as 'Apache JMeter' is an open source, 100% java based application with a graphical interface. It is designed to
analyse and measure the performance and load functional behaviour of web application and variety of services. JMeter is mainly used
for testing Web application or FTP application but currently, it is applicable in functional testing, JDBC database connections, Web
services, generic TCP connections and OS native processes. You can perform various testing activities like Performance, Load,
Stress, Regression and Functional testing, in order to get accurate performance metrics against your web server.
JMeter is not a browser and it doesn't render html pages like any browser does, rather it works on protocol level.
Following is a list of protocols supported by JMeter:
o Web Services - SOAP / XML-RPC
o Web - HTTP, HTTPS sites 'web 1.0' web 2.0 (ajax, flex and flex-ws-amf)
o Database via JDBC drivers
o Directory - LDAP
o Messaging oriented service via JMS
o Service - POP3, IMAP, SMTP
A web server carries a lot number of applications and users, so it is necessary to know that how capable a web server is to handle
simultaneous users or applications. For example; how "javaTpoint" supporting server will perform when a number of users
simultaneously access the javaTpoint website - basically have to do performance testing using performance testing tools like JMeter.
JMETER FEATURES
Some of the most important features of JMeter are listed below:
o Open source application: JMeter is a free open source application which facilitatesusers or developers to use thesource code
for developmentof other applications.
o User-friendly GUI: JMeter comes with simple and interactive GUI.
o Support various testing approach: JMeter supports various testing approach like Load Testing, Distributed Testing, and
Functional Testing, etc.
o Platform independent: JMeter is written and developed using java, so it can run on any environment / workstation that accepts
a Java virtual machine, for example - Windows, Linux, Mac, etc.
o Support various server types: JMeter is highly extensible and capable to load the performance test in different server types:
Web: HTTP, HTTPS, SOAP,
Database: JDBC, LDAP, JMS, and
Mail: POP3.
o Support multi-protocol: JMeter supports protocols such as HTTP, JDBC, LDAP, SOAP, JMS, and FTP.
o Simulation: JMeter can simulate multiple users by using virtual users or unique users in order to generate heavy load against
web application under test.
o Framework: JMeter is a multi-threading framework which allows concurrent and simultaneous sampling of different functions by
many or separate thread groups.
o Remote distributed testing: JMeter has Master-Slave concept for distributed testing where master will distribute tests among
all slaves and slaves will execute scripts against your server.
o Test result visualization: Test results can be viewed in different formats like graph, table, tree, and report etc.
WORKING OF JMETER
JMeter sends requests to a target server by simulating a group of users. Subsequently, data is collected to calculate statistics
and display performance metrics of the target server through various formats.

You might also like