Are you aware of the various factors that must be checked for the scalability of your app? As you can understand by its name, application scalability is how much you will scale the product with the increased workload. To make you understand better, suppose the users of your system increase by 2 times the load it can take, you will have to increase the server performance and lessen the server response time for a good UI experience.
Scalability testing is your answer to all the woes. It defines of the common problems like:
The Need for Scalable Testing
Why do you need a scalability test? Well, the answer is clear. It helps you determine how your application performed with increased load and helps you understand the total number of users it can withstand. The reason behind this is to understand at what point the systems starts lagging and what can be done to overcome such challenges.
How to Create a Scalability Test
Scalability testing is performed by conducting a series of load tests with complementary hardware and software changes made while keeping the other conditions same. It tests for various attributes as below:
The scalability test should be performed systematically to ensure that all the attributes are covered and the data is collected. Obviously, the type of load may differ for each system depending upon its web server, users and type of system. Think about all the other parameters that might get affected when load increases.
Essential Requirements for Conducting the Scalability Test
Clear and concise requirements before the tests are performed is a basic necessity. The pre-requisites for scalability testing includes:
Memory: Evaluate the need for memory allocation for all the virtual users using the system
Processor: Check the requirements of the processor before you start
Operating System: Check which OS acts as an agent and tests the load
Load distribution capability: Make sure you have a centralized system where all the results are collected and evaluated from multiple users and machines.
Steps to Create a Scalability Test
Analysing the Test Results
By running the test cases, you are actually just determining 40% of your performance testing objective. The critical part of this being the analyses and rectification of results. The scalability testing results can be compared and analysed in the following manner:
1. Virtual Users vs Response time
Some companies set a specific time interval, say for 2 minutes, in which they increase the number of users for a specific server load and test the behaviour of the application. In short, you will be testing the applications response time for a specified number of users.
2. Users vs Latency
This analysis is done to check the latency of the network on which the users operate.
3. Hits vs users
Hits per second are observed after 3 minutes of response and latency time starts.
4. Users vs errors
The load on the system giving rise to errors and bugs are tracked against a specific number of persons.
Once the scalability testing has ended, whatever the outcomes are, make sure you have all the data recorded for further enhancing the load capacity of the system at any given time. It is always a good practise to have a backup in plan for the tests. Meaningful reference is essential for the next time you perform the same tests.