In the current world, where a lot of users try to access a website or application at the same time, it is very important to assure that the product can endure that load or not. So to systematically validate the performance of the software in real-world conditions and load, performance testing is done on it. Volume tests are one such performance tests involved.
The Performance Test is a type of non-functional test in which the software’s ability to respond as quickly as possible in user load is evaluated instead of the correctness of the output. It gives info about the maximum load a website or system can take before reaching breaking point. It also evaluates the performance of the system at average or peak user load.
This test exposes the weakness of the software. Volume testing is one among various performance tests like load test, stress test, soak or an endurance test, spike test, breakpoint test, step-up test, failover test.
What is Volume Testing?
The volume test is a kind of non-functional Performance test. This test is generally performed to analyse the performance of an application that deals with a large volume of data. Examples of such types of application are banking applications and telecommunication applications. Both the applications store a large amount of user data, so they should be strong enough to handle it without losing the system’s efficiency and speed.
These applications use the batch processing mechanism to process data of large volume. Volume testing is also known as a batch test or flood test. It can be performed either manually or by developing some custom tools to ease out the testing. Batch processing is not the only place where automation is used. To perform this test a large volume of test data is required which can be created using Automation tools.
Test data from the direct production line can make the testing more effective and efficient otherwise time would have to be spent to generate the test data. The time required for volume tests is a subjective thing and it depends upon the volume of data involved.
Since it is not performed iteratively, the testing lasts till all the batch of data is processed. The defects and incidents expected to be encountered while performing this test are application crashing, or application failing to process the data.
Why is Volume Testing performed?
1. The Middleware system plays a vital role in the smooth functioning of such applications so it is necessary to test its performance and volume tests are very effective in doing it.
2. Database is the place that stores all this large volume of data. It will not only accept new data but also provide the stored data when asked to.
Hence, it is a must to check the performance of the database for potential bugs or defects acting as obstacles in its working.
3. Even volume tests provide the time required by the system to process the batch, which is also very valuable information. An application is acceptable only if this time is within certain limitations.
4. Along with that, it also allows us to find out the processing time of the system to deal with files or data.
5. While dealing with a large volume of data it might be possible that some data is lost during processing, which is not acceptable in the real world. You do not ever want a banking application to lose the data of an account holder during processing and volume test let you test it before the application is sent to the real world.
6. It also helps in evaluating the percentage utilisation of resources during batch processing. If a test is performed in a scaled-down environment then resource utilisation and capacity of the system can be predicted for a large volume of data.
Volume Tests NFRs
Various Non-functional requirements are used to prepare for the volume tests. Some of them are:
It is the first NFR that belongs to the volumetric category. This requirement states that the system should be able to process a certain number of batches each having a fixed amount of data within some acceptable time limit and all the processing should be done without any data loss.
It is an example of quantitative NFR. So this NFR needs three important information for strategizing the volume test:
1. The number of batches to be processed.
2. The amount of data in each batch.
3. The expected time to finish the whole processing.
This requirement is used to evaluate the performance of the database and also helps in determining its capacity to process data. According to this requirement, the database should be able to store another batch of data, if it is already holding a large volume of data. This requirement may also involve adding a certain amount of data when the database is empty.
This NFR is used to analyse the performance of the system in terms of resource utilisation. While the test is under process, the use of the resources like CPU, memory and drive space to process the batch is observed. This utilisation is expected to be under certain limits to prevent any damage to the machine due to the application.
How to perform Volume Tests?
1. While performing the volume tests it is very important to understand the non-functional requirements properly. Like what is it’s objective and what to expect from it.
2. Based on the NFR
- Prepare the number of data batches
- Create the number of records in each batch
3. Detailed discussion should be done within the team to find the way a batch will be processed by the application.
4. Based on the method used for processing the data, the performance testing strategy should be prepared to find out the loopholes in the system.
5. The processing time should be observed and compared with the expected time in the NFR.
6. It should be ensured that the data has been processed correctly without any loss.
7. Resource utilisation should be given special attention.
8. The defects detected in the processing should be informed to the one responsible for fixing them.
So we hope now you are clear with ‘what is volume testing?’. Volume tests are very effective in evaluating the performance of the system that involves the processing of a large volume of data.