0% found this document useful (0 votes)
15 views10 pages

Stress Testing

Stress testing is a type of software testing focused on evaluating a system's stability and reliability under extreme conditions and heavy loads. It aims to identify risks, analyze system behavior after failures, and ensure proper error handling and recovery. The process involves planning, executing scripts, analyzing results, and optimizing the system, with various tools available to assist in the testing.

Uploaded by

monishasekar438
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)
15 views10 pages

Stress Testing

Stress testing is a type of software testing focused on evaluating a system's stability and reliability under extreme conditions and heavy loads. It aims to identify risks, analyze system behavior after failures, and ensure proper error handling and recovery. The process involves planning, executing scripts, analyzing results, and optimizing the system, with various tools available to assist in the testing.

Uploaded by

monishasekar438
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/ 10

What is Stress Testing?

Stress testing emphasizes robustness, availability, and error handling


under a heavy load rather than what is correct behavior under
normal situations.
Stress testing is defined as a type of software testing that verifies the
stability and reliability of the system.
This test particularly determines the system on its robustness and
error handling under extremely heavy load conditions.
It even tests beyond the normal operating point and analyses how
the system works under extreme conditions.
Stress testing is performed to ensure that the system would not
crash under crunch situations.
Stress testing is also known as Endurance Testing or Torture Testing.
Characteristics of Stress
Testing
1. Identification of Risk: Stress testing’s main objective is to locate and evaluate
a system’s possible hazards and weaknesses.
2. Quantitative and Qualitative Analysis: While numerical data are crucial, it’s
also critical to comprehend the qualitative characteristics of the system’s
response and potential weak points.
3. Variable Parameters: Stress testing include changing variables including
interest rates, market conditions, transaction volumes and outside influences
that could have an impact on the system.
4. Cross-Functional Involvement: Many departments within an organization
must work together and participate in stress testing. This cross-functional
strategy makes sure that the stress testing procedure benefits from a variety
of viewpoints and specialties.
5. Open and Honest Communication: Stress testing necessitates open and
honest communication regarding the goal, approach, and outcomes of the
testing procedure.
Need for Stress Testing
1. To accommodate the sudden surges in traffic: It is important to
perform stress testing to accommodate abnormal traffic spikes. For
example, when there is a sale announcement on the e-commerce
website there is a sudden increase in traffic. Failure to accommodate
such needs may lead to a loss of revenue and reputation.
2. Display error messages in stress conditions: Stress testing is important
to check whether the system is capable to display appropriate error
messages when the system is under stress conditions.
3. The system works under abnormal conditions: Stress testing checks
whether the system can continue to function in abnormal conditions.
4. Prepared for stress conditions: Stress testing helps to make sure there
are sufficient contingency plans in case of sudden failure due to stress
conditions. It is better to be prepared for extreme conditions by
executing stress testing.
Purpose of Stress Testing
1. Analyze the behavior of the application after failure: The purpose of stress
testing is to analyze the behavior of the application after failure and the
software should display the appropriate error messages while it is under
extreme conditions.
2. System recovers after failure: Stress testing aims to make sure that there
are plans for recovering the system to the working state so that the system
recovers after failure.
3. Uncover Hardware issues: Stress testing helps to uncover hardware issues
and data corruption issues.
4. Uncover Security Weakness: Stress testing helps to uncover the security
vulnerabilities that may enter into the system during the constant peak load
and compromise the system.
5. Ensures data integrity: Stress testing helps to determine the application’s
data integrity throughout the extreme load, which means that the data
should be in a dependable state even after a failure.
Stress Testing Process
The stress testing process is divided into 5 steps:
1. Planning the stress test: This step involves gathering the
system data, analyzing the system, and defining the stress
test goals.
2. Create Automation Scripts: This step involves creating
the stress testing automation scripts and generating the
test data for the stress test scenarios.
3. Script Execution: This step involves running the stress test
automation scripts and storing the stress test results.
4. Result Analysis: This phase involves analyzing stress test
results and identifying the bottlenecks.
5. Tweaking and Optimization: This step involves fine-
tuning the system and optimizing the code with the goal
meet the desired benchmarks.
Types of Stress Testing
1. Server-client Stress Testing: Server-client stress testing also known as distributed stress testing
is carried out across all clients from the server.
2. Product Stress Testing: Product stress testing concentrates on discovering defects related to
data locking and blocking, network issues, and performance congestion in a software product.
3. Transactional Stress Testing: Transaction stress testing is performed on one or more
transactions between two or more applications. It is carried out for fine-tuning and optimizing
the system.
4. Systematic Stress Testing: Systematic stress testing is integrated testing that is used to perform
tests across multiple systems running on the same server. It is used to discover defects where
one application data blocks another application.
5. Analytical Stress Testing: Analytical or exploratory stress testing is performed to test the
system with abnormal parameters or conditions that are unlikely to happen in a real scenario.
It is carried out to find defects in unusual scenarios like a large number of users logged at the
same time or a database going offline when it is accessed from a website.
6. Application Stress Testing: Application stress testing also known as product stress testing is
focused on identifying the performance bottleneck, and network issues in a software product.
Stress Testing Tools
1. Jmeter: Apache JMeter is a stress testing tool is an open-source, pure Java-based
software that is used to stress test websites. It is an Apache project and can be used
for load testing for analyzing and measuring the performance of a variety of services.
2. LoadNinja: LoadNinja is a stress testing tool developed by SmartBear that enables
users to develop codeless load tests, substitutes load emulators with actual
browsers, and helps to achieve high speed and efficiency with browser-based
metrics.
3. WebLoad: WebLoad is a stress testing tool that combines performance, stability, and
integrity as a single process for the verification of mobile and web applications.
4. Neoload: Neoload is a powerful performance testing tool that simulates large
numbers of users and analyzes the server’s behavior. It is designed for both mobile
and web applications. Neoload supports API testing and integrates with different CI/
CD applications.
5. SmartMeter: SmartMeter is a user-friendly tool that helps to create simple tests
without coding. It has a graphical user interface and has no necessary plugins. This
tool automatically generates advanced test reports with complete and detailed test
results.
Metrics of Stress Testing
1. Pages Per Second: Number of pages requested per second and number of pages
loaded per second.
2. Pages Retrieved: Average time is taken to retrieve all information from a particular
page.
3. Byte Retrieved: Average time is taken to retrieve the first byte of information from the
page.
4. Transaction Response Time: Average time is taken to load or perform transactions
between the applications.
5. Transactions per Second: It takes count of the number of transactions loaded per
second successfully and it also counts the number of failures that occurred.
6. Failure of Connection: It takes count of the number of times that the client faced
connection failure in their system.
7. Failure of System Attempts: It takes count of the number of failed attempts in the
system.
8. Rounds: It takes count of the number of test or script conditions executed by the
clients successfully and it keeps track of the number of rounds failed.
Real world Examples of Stress
Testing
1. During mega sales, eCommerce websites would see a
significant increase in traffic.
2. When university websites publish exam results,
multiple users will check the results simultaneously.
3. News or an important event that boosts traffic to
news websites or blogs.
4. When the stock market fluctuates, finance-related
applications or websites surge in traffic
Difference between Load Testing and Stress testing

Load Testing Stress Testing


Understand the system's behavior and
Determine how the system behaves
identify its breaking point under
under expected and peak loads.
extreme conditions.
Ensures the system can handle
Pushes the system beyond its capacity
expected user load and helps
to understand how it fails and
identify bottlenecks that can impact
recovers, ensuring system robustness.
performance.
Applies loads that go beyond peak,
Simulates normal to peak load
pushing to the system's breaking
conditions.
point.
Simulates a high number of users
Simulates a situation where the system
accessing the application
is stressed with extreme loads,
simultaneously during peak usage
potentially causing it to fail.
times.
Helps to identify performance
Helps to identify how the system
bottlenecks, establish a performance
handles failure, its recovery process,
baseline, and validate that the
and its maximum capacity.
system can handle high load.

You might also like