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.