You are on page 1of 11

Software Quality Assurance

Session 2 Part 1

IT Industry-Academia Bridge Program


Performance Testing
Performance testing is the practice of evaluating how a system performs in terms
of responsiveness and stability under a particular workload. Performance tests are
typically executed to examine speed, robustness, reliability, and application size.

Types of performance testing for software

IT Industry-Academia Bridge Program


Load Testing
Load Testing is a non-functional software testing process in which the
performance of software application is tested under a specific
expected load. It determines how the software application behaves while
being accessed by multiple users simultaneously.
Load Testing Examples:
Some basic examples of load testing are: Testing a printer by transferring
a large number of documents for printing. Testing a mail server with
thousands of concurrent users. Testing a word processor by making a
change in the large volume of data

IT Industry-Academia Bridge Program


Stress Testing
Stress testing is a computer-simulated technique to analyze how
banks and investment portfolios fare in drastic economic
scenarios. Stress testing helps gauge investment risk and the
adequacy of assets, as well as to help evaluate internal processes and
controls.

IT Industry-Academia Bridge Program


Volume Testing
Volume testing belongs to the group of non-functional tests, which are
often misunderstood and/or used interchangeably. Volume testing refers
to testing a software application with a certain amount of data.

IT Industry-Academia Bridge Program


Scalability Testing
A scalability test is a type of load testing that measures the application's ability to scale
up or down as a reaction to an increase in the number of users. In other words, it tests
how the system is going to perform during a sudden spike or fall of user request loads.
Prerequisites for Scalability Testing
● Load Distribution Capability– Check whether the load test tool enables the load to be
generated from multiple machines and controlled from a central point.
● Operating System- Check what operating systems do the load generation agents and load
test master run under
● Processor– Check what type of CPU is required for the virtual user agent and load test
master
● Memory– Check how much memory would be enough for the virtual user agent and load
test master

IT Industry-Academia Bridge Program


Soak Testing
Soak testing involves testing a system with a typical production
load, over a continuous availability period, to validate system
behavior under production use. It may be required to extrapolate
the results, if not possible to conduct such an extended test.
A simple example is where the user stays logged into a system
for many hours executing a number of business transactions.
In this way, a lot of data gets created. There can be lots of load on
the system/database server which can result in stalling/crashing of
the system/database server.

IT Industry-Academia Bridge Program


Stability Testing in Software Testing
Stability Testing is a type of non functional software testing performed to measure efficiency and ability of a software application to
continuously function over a long period of time. The purpose of Stability testing is checking if the software application crashes or fails
over normal use at any point of time by exercising its full range of use.
examples of statistics collected under test are:
● Transaction Response Times: The average time is taken to perform transactions during the test. This statistic will evaluate whether
the performance of the server is within the acceptable minimum and maximum transaction performance time periods defined for the
system.This information will evaluate the time taken in processing the request by the web server and sent to the application server,
which in most of the cases will make a request to a database server.
● Hits Per Second: The number of hits made on the server by users. These statistics benefits to determine the number of load users
generate, with respect to a number of hits.
● Throughput: The amount of throughput on the Web server during the test which is measured in bytes. Throughput means the
amount of data that the users received from the server at any given time. This statistic helps to evaluate the amount of load that
users generate.
● Transaction per second: These are the total number of completed transactions (both successful and failed) performed during a test.
This statistic helps to check the actual transaction load on the system.
● CPU: CPU percentage utilization spent during a test.
● Memory: Memory usage during a test.
● Disk: utilization of disk spaces spent during a test.

IT Industry-Academia Bridge Program


Spike Testing
Spike Testing is a type of software testing in which a software application is tested with extreme
increments and decrements in traffic load. The main purpose of spike testing is to evaluate the
behaviour of the software application under sudden increment or decrement in user load and
determine recovery time after a spike of user load.

Examples of Spike Testing Scenarios


● When an eCommerce store is launching special deals with great discounts such as on Black
Friday.
● When a web application is live streaming a favourite TV program.
● When a flash sale is going on a daily deal site.
● When the certain content of a site goes viral over the Internet.
● A new system is released for production, and multiple users want to access the system.
● A power outage may cause all users to lose access to a system. After the outage issue resolved
all users then log back onto the system simultaneously.

IT Industry-Academia Bridge Program


Load Testing vs Stress Testing

IT Industry-Academia Bridge Program


Response Time Testing
Response time testing is a measurement of the amount of time that passes between a
user's request and a response from the server, application, website or device.

IT Industry-Academia Bridge Program

You might also like