Skip to main content Link Menu Expand (external link) Document Search Copy Copied

Task 01 - Implement load testing

Below is a sample load testing plan. Learners should have a plan with a similar overall feel, although some specific details may vary.

  • Define what services and the scope of your testing
    • We will be simulating an average day when a user hits our website during normal business hours 8 AM - 5 PM. We will be testing all endpoints to ensure all features are tested.
  • Environment Requirements
    • Because we are testing user workloads, we will need the following resources at the same level as production.
      • App Service
  • Identify the load characteristics and scenario
    • Our current average daily load is 1000 users/hour. We will mimic the average daily load by spinning up 30 concurrent threads, hitting all endpoints. Because there is a consistent daily load, we will mimic this with gradual load increasing linearly.
  • Identify the test failure criteria
    • Our test will fail if we are unable to support 30 concurrent users, as we already know this is the current demand.
    • We will also consider this a failed test if we find performance below the expected threshold of 600ms per call on average or if more than 10% of calls fail, as this may impact customer satisfaction.
  • Identify how you will be monitoring your application
    • We will be monitoring our applications with Application Insights to detect any errors and monitor performance.
  • Identify potential bottlenecks or limitations in advance
    • Although we do not cache data, the fact that the application is using an in-memory database should mitigate any data transfer bottlenecks.
  • Identify any assumptions or risks in your plan
    • We are assuming these are only casual end users and not other 3rd parties who could be trying to obtain information about our traffic.
    • We are using consumption-based model for Azure App Services.
    • The application does not make any database calls.

Reinforce the importance of using existing metrics, usage patterns, and data to inform the load testing plan on learners’ own applications.