top of page
  • Writer's pictureNick

Performance Testing

A non functional testing , It is the testing process to determines if the software meets the expected speed, scalability, and stability requirements under various workloads.

 

Types


Load Testing

In this type, The system or application behavior is observed or noted at different loads.

This type is the most popular type and in industry sometime performance testing is referred as Load testing.

It is an important part of testing for those application , website or software which based on to large user traffic for example eCommerce website ,Hospitality website ,Online gaming application.

The objective is to identify bottlenecks.


Stress Testing

In this type, The behavior of the system or application is tested at an excessive load or higher than normal capacity to generate a breaking point.

The objective is to identify a breaking point.


Spike Testing

In this type, The behavior of the system or application is tested between maximum and minimum capacity, but with a sudden increase and drop in load.

The objective is to determine whether the system will be able to sustain the workload.


Soak Testing / Endurance Testing

In this type, The behavior of the system or application is tested with a constant expected load to detect whether the system is performing as expected over a longer period of time, or to monitor certain parameters such as memory leaks or other performance issues in this test.

The objective is to discover the system's performance under sustained use.


Volume Testing

In this type , The behavior of the system or application is tested with database for larger data and the overall software system's behavior is monitored.

The objective is to validate software application's performance under different database volumes


 

When to ?


A question is arise, should performance testing be done at the beginning or at the end of the software’s development? we have to consider the software development methodology that is being used to build the application


For waterfall methodology Performance testing should be perform at the end of development. Testing, in this case, is a simulation of the expected load scenario in an environment that is very similar to the production environment, which has the benefit of being very realistic.


For Agile methodology, performance testing is executed at the beginning of the software’s development and it continues to be applied throughout the whole process. In this case, those in charge of QA perform unit testing. In the Agile method, the development team reduces the risk of bugs in the application or of creating software that does not satisfy the client’s needs. This method also lowers costs and allows the team to implement continuous integration.


 

How to ?


  1. Identify the test environment : identify and test the production environment, which also includes the hardware, software, and networks where the product will be used.

  2. Acceptance criteria : Identify the entry and exist criteria of the Performance testing in respect of response time, throughput, and resource utilization goals and constraints.

  3. Plan and design tests : Determine how to simulate the scenarios, data, and metrics that will be collected during test execution.

  4. Configure the test environment : prepare the environment, tools, hardware, network, and anything related to the use of the product.

  5. Implement the test design : Develop the test in accordance with what was previously designed.

  6. Execute the test : Run and monitor test execution.

  7. Analyze results, reports, and retest : Analyze the collected data and evaluate if it meets the metrics previously established by the team. The test execution is either accepted or changes are applied in order to run another execution that includes suggested enhancements.


 

Popular Tools

 


The main purpose of performance testing is to identify bottlenecks where the application may fail or lag. So that those things can be improved before release.







Comments


Watermark Big.png
bottom of page