by Nataliia Vasylyna | March 25, 2016 10:33 am
Note: the article was updated in June 2018.
Scalability is a system capacity to function under overloads without affecting response time and requiring no redesign to cope with the workload. It isn’t a core software requirement, but an unscalable system has rather limited capacities.
Scalability testing is performed with the aim of checking the software capability to operate properly under various loads. It also shows the level of product resistance to crashes and defines user experience in case of a high load. Scalability testing is a type of non-functional testing.
In comparison to load testing, verification of scalability focuses on performance capacities of your software, hardware, and server under different stages of load, while load testing[1] defines at what load level a system will fail.
Verifying software scalability, you can test the attributes connected with time, e.g., screen transition, time for a reboot, response and execution, time, and ones connected with capacities, e.g., CPU (Central Processing Unit), memory and network usage.
Before proceeding to scalability testing, you should specify load distribution to be generated, OS and processor types to be used, and memory size enough for testing.
You are able to conduct scalability testing following two approaches: vertical scaling or scaling up and horizontal scaling or scaling out. Vertical scaling means to replace a system component by another one that will ensure better operability of software. Horizontal scaling means to add a new component to the existing system, for example, add a new server. This approach is more complicated and expensive, but it can bring better results.
Source URL: https://blog.qatestlab.com/2016/03/25/scalability-testing-procedure/
Copyright ©2024 QATestLab Blog unless otherwise noted.