Performance testing refers to test activities that check a system's performance under different workloads. The objectives are to validate performance requirements, check current capacity, and identify performance issues. Performance problems can include memory leaks, inefficient algorithms, and hardware/software incompatibilities. Key aspects of performance tested are response time, throughput, stability, availability, and speed. Common types of performance testing are load testing, stress testing, endurance testing, spike testing, volume testing, and availability testing.
2. What is Performance Testing ?
• Performance testing – refers to test activities on checking system performance. It
is conducted to determine the responsiveness, throughput, reliability & scalability of
a system/application under a given workload.
The major objectives of performance testing:
• To confirm and validate the specified system performance requirements.
• To check the current product capacity to answer the questions from customers
and marketing people.
• To identify performance issues and performance degradation in a given system
3. Why Performance Testing?
• Scalability – Will the application handle the expected load and beyond?
• Stability – Is the application stable under expected and unexpected user loads?
• Availability – Is the application available to the end user without any
interruption?
• Serviceability – Can the system quickly recover from a Failure?
• Speed - Does the application respond quickly.
• Confidence – Are you sure that clients will have a positive experience on go-live
day?
4. What Performance Problem may arise ?
• Memory-related problems:
• Application uses more memory than it should.
• Memory leaks.
• Excessive garbage allocation, i.e. application creates a lot of temporary objects.
• Code-related problems:
• Application algorithms are not optimal, and there are performance bottlenecks.
• Hardware/Software related Problem:
• Hardware you select for your database is not in vendor Hardware
Compatibility List
5. Response Time :
• After a request is sent to an application, "response time" measures how long it
takes for a response to return back from the application.
• This is also sometimes referred to as "round-trip" time
• Slow response time equals an unhappy user experience, and may also result in
the loss of revenue.
6. Throughput :
• Throughput” is the amount of transactions produced over time during a test.
• It’s also expressed as the amount of capacity that a website or application
can handle.
• Before starting a performance test it is common to have a throughput goal
that the application needs to be able to handle a specific number of request
per hr.
8. 1. Load Testing :
• Load Testing help us to study the behavior of the application under various
loads. The main parameter to focus is response time. This study reveals how
the application handles concurrent users effectively.
• Main parameter to focus:
• Response Time
9. 2. Stress Testing :
• Stress Testing help us to observe the stability of the application. The main
intention is to identify the breaking point of the server. The main parameter
to focus is throughput (how much data is being transferred between client
and server)
• Main parameter to focus:
• Response Time , and
• Throughput
10. 3. Endurance Testing :
• Endurance testing reveals about memory utilization when you load your test
for prolong executions. Say if you execute your test 1 hour to perform load
testing. But in endurance testing, you execute your test at least for 8 hours
with significant load.
• Main parameter to focus:
• Memory
11. 4. Spike Testing :
• Spike Testing is performed by sudden increase/decrease in load and observing
the behavior of the application. This help us to determine whether the
application can handle or not under significant changes in the load.
• Main parameter to focus:
• Response Time
12. 5. Volume Testing :
• Volume Testing is performance to identify whether the server can handle
more number of high complex queries under significant load. The main
intention is to observe how the database acts under various circumstances.
• Main parameter to focus:
• Response Time of Queries
13. 6. Availability Testing :
• This test ensures whether the application is available 24x7x365 days. If you
would’ve noticed any website hosting providers, they advertise as 99.9 per
cent up time. Availability testing helps us to determine whether the
application is up and running fine without any issues.
• Main parameter to focus:
• Response Time