• Home
  • Testing
  • SAP
  • Web
  • Must Learn!
  • Big Data
  • Live Projects
  • Blog

What is Scalability testing?

Scalability Testing is the ability of a network, system or a process to continue to function well, when changes are done in size or volume of the system to meet growing need. It is a type of non-functional testing.

Scalability testing ensures that an application can handle the projected increase in user traffic, data volume, transaction counts frequency, etc. It tests the system, processes and databases ability to meet a growing need.

It is also referred as performance testing, as such it is focused on the behavior of the application, when deployed to a larger system or tested under excess load.

Scalability Testing: Complete Guide

The idea behind Scalability Testing is to measure at what point the application stops scaling and identify the reason behind it.

Why to do Scalability Testing

  • Scalability testing lets you determine how your application scales with increasing workload.
  • Determine the user limit for the Web application.
  • Determine client-side degradation and end user experience under load.
  • Determine server-side robustness and degradation.

What to test in Scalability Testing

Here are few Scalability Testing Attributes:

  • Response Time
  • Screen transition
  • Throughput
  • Time (Session time, reboot time, printing time, transaction time, task execution time)
  • Performance measurement with number of users
  • Request per seconds, Transaction per seconds, Hits per second
  • Performance measurement with number of users
  • Network Usage
  • CPU / Memory Usage
  • Web Server ( request and response per seconds)
  • Performance measurement under load

Test Strategy for Scalability testing

Test Strategy for Scalability Testing differ in terms of the type of application is being tested. If an application accesses a database, testing parameters will be testing the size of the database in relation to the number of users and so on.

Pre–requisites 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 does 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

General process of performing Scalability Testing

  1. Define a process that is repeatable for executing scalability tests throughout the application life-cycle
  2. Determine the criteria for scalability
  3. Shortlist the software tools required to run the load test
  4. Set the testing environment and configure the hardware required to execute scalability tests
  5. Plan the test scenarios as well as Scalability Tests
  6. Create and verify visual script
  7. Create and verify the load test scenarios
  8. Execute the tests
  9. Evaluate the results
  10. Generate required reports

Scalability Test Plan

Before you actually create the tests, develop a detailed test plan. It is an important step to ensure that the test conforms as per the application requirement.

Following are the attributes for creating a well-defined Test Plan for Scalability Testing.

  • Steps for Scripts: The test script should have a detailed step that determines the exact actions a user would perform.
  • Run-Time Data: The test plan should determine any run-time data that is required to interact with the application
  • Data Driven Tests: If the scripts need varying data at run-time, you need to have an understanding of all the fields that requires this data.

Scalability testing Vs Load testing

Scalability Testing
Load Testing
  • It focusses on the performance of your websites, software, hardware and application at all the stages from minimum to maximum load.
  • Load testing focusses on testing an application under heavy loads, to determine at what point the system response time fails.

Summary:

  • It is a type of software testing that tests the ability of a system, a network or a process when the size/volume of the system is changed in order to meet a growing need.
  • The idea behind Scalability Testing is to measure at what point the application stops scaling and identify the reason behind it
  • Test Strategy for Scalability Testing differ in terms of the type of application is being tested.

 

YOU MIGHT LIKE:
Software Testing

Protocol Testing

What is Protocol Testing? Protocol testing is a generic term used by companies working in the...