Performance Testing and Types


What is performance testing?

Performance testing is the process of introducing a load to an application and observing how it responds. The results of this test show how rapidly the server replies to user requests.

We will focus on several aspects like Response time, Load, and Stability of the application while performing performance testing on it.

  • Response time:
    Response time refers to how quickly the server responds to a client request.
  • Load:
    The term "load" in this context refers to the N-number of users who are using the application concurrently or who are simultaneously submitting requests to the server.
  • Stability:
    When N users are using the application simultaneously for a specific period of time, we may conclude that the application is stable.

Why Performance testing is necessary for every application:

Let's understand this with one example,
If a new year's sale is taking place on any e-commerce platform and 10,000 consumers are attempting to make a purchase at once. If the application couldn't handle the load at that time, the server would crash. Therefore, you must conduct adequate testing to manage application load.

Performance Testing Types:

The following are the various performance testing types:

  1. Load testing:
    The term "load testing" refers to the process of applying a load that is either less than or equal to the desired load in order to evaluate how well an application performs.
    Let's say, when performing load testing, the customer specifies a desired load of 1000 people, and the target response time is 3/seconds.

    Example:
    Government Web Portal: Assessing a government agency's website, especially around the time that tax returns are due, and traffic is expected to be very heavy.

  2. Stress testing:
    Stress testing involves introducing a load that is higher than the desired load to test an application's behavior.

    If we take the previous example and increase the intended load from 1000 to 1100 users, the goal becomes 4/second. This scenario will pass the stress test because the load is higher (100 up) than the desired load, which is why the stress test is being conducted.

    Example:
    E-commerce applications: During sales, the introduction of new products, and holidays, e-commerce platforms frequently see a spike in usage.
  3. Scalability Testing Scalability testing is the process of examining an application's performance by varying the load at specific scales (i.e., the number of users). The parts of scalability testing are as follows: Upward scalability testing In order to find the point at which the system crashes, we test by gradually increasing the scale of users. Upward scalability testing will be used to determine an application's maximum capacity. Downward scalability testing When the load testing fails, the downward scalability testing is performed to gradually reduce the number of users in a given interval until the objective is met.

  4. Stability Testing:
    Stability testing involves loading an application and measuring its performance for a predetermined amount of time.

    Example:
    Software or website performance issues can have a serious negative impact on stakeholders as well as developers.
    It is the responsibility of the stability testing team to find these problems and notify the development team so they can take preventative action.

Comments

Popular Posts