Load Testing is one of the forms of Performance testing methodology. It may be seen as a sub category of performance testing, as load testing is done to assess and analyse the performance of a software product under different and varying load. Similarly, stress testing is also a type of performance testing and is just an extreme and brutal form of load testing due to involvement of stringent and non-favourable conditions and environment, in addition to load factor.
It is pertinent to mention that both load and stress testing constitutes to the branches of the non-functional testing tree also. Due to presence of only functional requirements and in the non-availability of non-functional requirements, it becomes very hectic for the testers to validate the non-functional traits of a software application.
Here, we are providing the checklist for the load/stress testing to nullify the deficiency of functional requirements and to ensure productive results from the testing activities.
Prerequisites:
Below given are the activities or tasks that may be considered prior to the execution of cross browser compatibility testing activity.
It is pertinent to mention that both load and stress testing constitutes to the branches of the non-functional testing tree also. Due to presence of only functional requirements and in the non-availability of non-functional requirements, it becomes very hectic for the testers to validate the non-functional traits of a software application.
Here, we are providing the checklist for the load/stress testing to nullify the deficiency of functional requirements and to ensure productive results from the testing activities.
Determining the scope and amount of testing needed.
Listing out the targeted browsers for each different operating system including mobile browsers to maximize the pool of users.
Equipping the test environment with the different sorts of browsers as identified & needed above, along with other necessary tools & resources like mobile devices, etc.
Checklist Before Testing:
In this section, we are listing out some of the activities that may be considered prior to actual testing.
Identifying and describing the scope, goal and objective of testing.
Identifying and planning out the areas or features to be monitored, assessed and analysed during load/stress testing.
Identify and defining the performance metrics and acceptance criteria, which may include
Defining different and varying load for the software application in multiple categories such as extreme, heavy, moderate, normal, low, etc.
Identifying and outlining the different and critical business and user scenarios.
Identifying the SLAs metric for the load/stress testing.
Identifying the threshold limit for the software performance and quality in terms of throughput, response time, number of times software goes in the failure state, CPU, memory & network usage.
Setting up the test environment which requires
Identifying and procurement of the resources required to carry out the testing such as hardware, software, tools, network configuration & settings, frameworks, handy devices, simulators, etc.
Equipping the test environment with the virtual users to create desirable load for the application, at any instant of time.
Identifying and creating unique, diverse and random pool of data.
Designing and developing the test plans and cases to verify and validate the critical business scenarios, as identified above.
Checklist During Testing
Execution of the test plans and test cases as strategized and created prior to actual testing.
Evaluating the application functionalities before & after performing the load testing.
Scheduling the tasks to carry out the load/stress in and effective manner within the stipulated time period.
Simulating the virtual load with the aid of data generation tool as per the need and the requirement.
Executing the system's functionalities concurrently by multiple users in parallel, along with the variation in the execution speed.
Stress on the system needs to be increased gradually throughout the testing process like first low stress, then medium and thereafter at high stress.
Performing different forms of stress testing such as application stress testing, exploratory stress testing, transactional stress testing, distributed stress testing, etc.
Monitoring and analyzing the performance and behaviour of the application under varying load.
Gathering and analysing the test result data.
Reporting the test results.
It is a general checklist to make testers aware about the important aspects to be considered, implemented and tested during load/stress testing process. However, an adroit tester may add on more points and customize the checklist depending upon his/her experience, skill, logical & analytical thinking to provide extensive coverage and better results to the testing process.
Conclusion:
In light of the above, it may be concluded that the load/stress testing checklist is a best option to pursue and adopt in order to carry out the respective testing activities in a guided and effective manner.