In this section, we are going to understand scalability testing, which checks the performance of an application by increasing or decreasing the load in particular scales like number of a user.
And we also learn about its needs, the purpose of scalability testing, type of scalability testing, prerequisite for scalability testing, various features of scalability testing, how to perform it, advantages and disadvantages.
Introduction of Scalability Testing
It is used to check an application's performance by increasing or decreasing the load in particular scales known as scalability testing. It is executed at a hardware, software, or database level.
It is specified as the capacity of a network, system, application, product, or process to make the function correctly when modifications are made in the system's size or volume to meet an increasing need.
In this testing, the Test Cases are designed and implemented in a well-organized manner. It also analysis the system, processes, or database's ability to meet an upward need.
For example, a web page scalability testing depends on the number of users, CPU usage, network usage. In contrast, scalability testing of a web server depends on the number of requests processed.
The Objective of Scalability Testing
Following are the critical purposes of scalability testing:
Why do we need to perform the Scalability Testing?
The execution of scalability testing is required because it ensures the even functioning of the software or the application while completing end-user's requirements without any issues.
The scalability testing is needed if we encounter the following issues:
Types of Scalability testing
Scalability testing is classified into two parts, which are as follows:
Upward scalability testing
The upward scalability testing is used to expand the number of users on a specific scale until we got a crash point. It is mainly used to identify the maximum capacity of an application.
Downward scalability testing
Another type of scalability testing is downward scalability testing. When the load testing is not passed, we will use the downward scalability testing and then start decreasing the number of users in a particular interval until the goal is achieved.
Therefore, we can quickly identify the bottleneck (bug) by performing downward scalability testing.
The Precondition for Scalability Testing
For the scalability testing, the test strategy can be changed based on the type of application being tested.
For instance, if a database is related to an application, then the testing constraints will be the database and the number of users. We have some default precondition available for scalability testing, which is as follows:
If we want to perform the scalability testing, we need to verify what operating systems are prepared by the load generation managers and load test master.
It is used to analysis if the load testing tool allows the load to be created from several devices and measured from an essential point.
Before performing the scalability testing, we must analyze how much memory would be sufficient for the virtual user and load test master.
We need to analyze what type of CPU is required for the load test master and virtual users before executing the scalability testing.
Feature of Scalability testing
Some of the vital components of scalability testing are listed below; let see them one by one:
How to perform Scalability Testing
To perform the scalability testing, we need to follow the below steps:
In the first step of scalability testing, we will assess the existing and predictable future software's possible increasing potential. They also check the criteria for the scalability test and decide the software tools needed to perform the test.
Step2: Test Execution
After the assessment, we will prepare the test plans, test scenarios, and test cases, which cover and analyze the software's working for each incremental development.
Note: While developing scalability tests, it is recommended to enhance the load for following stages to test the system at a fundamental level to an advanced stage.
Additionally, the test environment requests to be persistent and fixed for every diverse enhanced load.
Step3: Test Development
After that, we will set the testing environment, configure the hardware required to implement a scalability test, generate, validate the visual script and the load test scenarios.
Then, perform these test cases in an organized way and analysis the results.
Step4: Logging and reporting
Once the test development has been performed, we will analyze the recorded results and build the necessary report.
Advantages and Disadvantages of Scalability Testing
Below are the benefits and drawback of scalability testing.
Benefits of Scalability Testing
The advantages of Scalability testing are as follows:
The Drawback of Scalability Testing
Following are the disadvantages of Scalability testing:
In this tutorial, we have learned that scalability testing is a part of non-functional testing that tests the system's capability, a network, or a process when the size or volume of the system is modified to meet an increasing requirement.
For Scalability Testing, the Test Strategy is different regarding the type of application being tested. It is used to evaluate the application to stop scaling and identify the reason behind it.
It works as an operative tool to support the software applications to go along with the users' increasing requirements.