Performance Testing


Non-function Testing

  • To determine how fast the system performs under particular workload

  • To know the response time for the server under certain workload / response time of the app under certain workload

  • Compare between two servers or two environments

  • To detect what part of the system that cause the system perform badly

Main Process

Planning

Validate Recourses

  • Server

  • Version of server is stable

  • Environment is stable and ready for Performance testing

  • Write High Level scenarios

  • Identify the performance Acceptance criteria it's the more important part [you must to know how the response should be , what is accepted and what is rejected ]

  • Plan and design performance tests

Development

  • Write the scripts of performance

Executions

  • Run the scripts

  • Analyse the Results

  • fine Queuing the server till find the best Result Increase Ram High a CPU Or Update the script itself

  • after many Queuing we write a Report Send the report to Customers and developer and check if it meets the expectation and acceptance criteria or Not


Why We do Performance Testing ?

  • identify the problems early

  • Produce Better Quality & More Scalable Code

  • Because Poor Performance Affected on Our Customers Productivity

Types

Load Testing

  • More Important Type -> because it can tell me how the system will behave in the normal and in incase of load

Stress Testing

  • Check the Error rate that helping in monitoring the CPU and memory usage

  • Check the recovery of the server

Endurance Testing

  • Take a long time [7 hours or sometimes for a day or two days]

  • similar to stress testing for check Error rate but the difference is we do the testing with fixed users does the same activities

  • if the response time is stable then it's good if response time is not stable that's mean we have a memory leak [CPU become 100%]

Spike Testing

  • sudden increase & decrease of users

  • similar to Endurance testing that the aim is check if there is memory leak or not

Volume Testing

difference type of testing because it is focus on comparison between data [ number of data and size of data ]and response time

Scalability Testing

  • Check if the system can scalable with the increasing number of users or not

  • the response time that the system will take in the scalability does [increase the ram according the increasing of users]