Listen to Audio
Most of us have experienced lagging or crashing of apps from time to time. This can be very frustrating especially when you are in the middle of a transaction or placing an order. These issues occur due to the negligence of the testing team while testing the app for scalability.
All businesses have peak hours which puts their apps under unprecedented load due to high user traffic. Scalability testing of the app will ensure that the app works as expected even if the hit rate is high while using fewer resources. It is the most important type of testing when it comes to mobile application testing for apps that support payment gateways. There are some attributes on the basis on which the scalability testing is performed.
Steps to Perform Scalability Testing
To perform Scalability testing on an app, the testers need to focus on 5 key steps that will measure the success of the functional test.
Let’s have a look at these steps.
It is the time taken by the app to respond when the user calls a function. A simple example would be the time taken to load the page when you click on the Next button. Scalability testing is done to check the response time of the server under minimum load and maximum load to identify the point at which the application would break.
Usually, the response time increases or decreases based on varying user loads on the application. But an app is considered scalable if the response time is constant for varying levels of load.
In clustered environments, the load is distributed among multiple server components. Scalability testing will measure the extent to which the load is distributed among multiple servers and based on that we would know if all the servers are getting an equal amount of requests.
It is the number of requests processed over a unit time by the app. Different applications will have different throughput depending on the business model. Throughput is measured in terms of a number of queries processed in unit time for the database. An app is considered to be scalable if it can deliver the same throughput for varying levels of load on the internal applications, hardware, and database.
CPU Utilization is the measure of CPU usage by the app and it is usually measured in terms of the unit MegaHertz. To bring down the CPU utilization, it is necessary to optimize the application code.
In order to achieve this, many organizations use standard programming practices to minimize CPU Utilization. Programming practices like sleep method and removing dead code in the app will drastically decrease the CPU usage.
Memory usage is measured to check the memory consumed by the app when in use or in the background. Memory is usually in terms of GigaBytes or Tera Bytes that the app uses by accessing the Random Access Memory(RAM).
Memory usage can be reduced by avoiding redundant loops in the code, reducing the hits to the database, optimizing the use of SQL queries, reducing the use of the cache, etc.
The amount of bandwidth consumed by the application under test is considered as the network usage. Network usage is measured in terms of frames bytes or segments received/sent per second.
Compression techniques in programming can help to minimize network usage and reduce congestion. An app is considered to be scalable if it can perform with minimum network congestion and deliver high application performance.
Few other parameters such as Task execution time, Server request response time, Web Page loading time, Transaction time, Reboot time, session time, transactions per second, screen transition, hits per second, etc. The attributes for scalability testing differ from one application to another as the performance measure for mobile applications may not be the same as that of a desktop or a client-server application.
There are many tools in the market to perform scalability testing but testers need to make sure that they get good device coverage. A cloud-based testing platform like pCloudy is a good option for scalability testing as it will provide access to a number of remote devices to test the app. Testers will get a detailed report of the test to analyze the scalability of the app. Scalability testing is critical from the business point of view as it ensures customer satisfaction.