Bird
Raised Fist0
Testing Fundamentalstesting~10 mins

Performance metrics (response time, throughput) in Testing Fundamentals - Test Execution Trace

Choose your learning style10 modes available
Test Overview

This test measures the performance of a web API by checking its response time and throughput. It verifies that the API responds within an acceptable time and can handle a set number of requests per second.

Test Code - unittest
Testing Fundamentals
import time
import requests
import unittest

class TestAPIPerformance(unittest.TestCase):
    def test_response_time_and_throughput(self):
        url = "https://api.example.com/data"
        request_count = 10
        max_response_time = 0.5  # seconds
        start_time = time.time()

        for _ in range(request_count):
            response = requests.get(url)
            self.assertEqual(response.status_code, 200)
            self.assertLessEqual(response.elapsed.total_seconds(), max_response_time)

        total_time = time.time() - start_time
        throughput = request_count / total_time
        self.assertGreaterEqual(throughput, 5)  # at least 5 requests per second

if __name__ == '__main__':
    unittest.main()
Execution Trace - 7 Steps
StepActionSystem StateAssertionResult
1Test startsTest framework initialized, ready to run test method—PASS
2Sends first GET request to https://api.example.com/dataAPI server receives request and processes itResponse status code is 200PASS
3Checks response time of first request is <= 0.5 secondsResponse received with timing infoResponse elapsed time <= 0.5 secondsPASS
4Repeats sending GET requests until 10 requests are completedAPI server handles multiple requests sequentiallyEach response status code is 200 and response time <= 0.5 secondsPASS
5Calculates total time taken for 10 requestsTest records start and end time—PASS
6Calculates throughput as requests per secondThroughput calculated from total requests and total timeThroughput >= 5 requests per secondPASS
7Test ends with all assertions passedTest framework reports success—PASS
Failure Scenario
Failing Condition: API response time exceeds 0.5 seconds or status code is not 200 or throughput is less than 5 requests per second
Execution Trace Quiz - 3 Questions
Test your understanding
What does the test verify about the API response time?
AResponse time is less than or equal to 0.5 seconds
BResponse time is exactly 1 second
CResponse time is more than 1 second
DResponse time is not measured
Key Result
Measuring both response time and throughput together helps ensure an API is not only fast for single requests but can also handle multiple requests efficiently.

Practice

(1/5)
1. What does response time measure in performance testing?
easy
A. The total number of requests per second
B. How fast a single request is completed
C. The amount of data transferred in a request
D. The number of users accessing the system

Solution

  1. Step 1: Understand response time meaning

    Response time measures the duration taken to complete one request from start to finish.
  2. Step 2: Differentiate from throughput

    Throughput measures how many requests happen over time, not the speed of one request.
  3. Final Answer:

    How fast a single request is completed -> Option B
  4. Quick Check:

    Response time = speed of one request [OK]
Hint: Response time = speed of one request [OK]
Common Mistakes:
  • Confusing response time with throughput
  • Thinking response time counts total requests
  • Mixing data size with response time
2. Which of the following is the correct unit commonly used to measure throughput?
easy
A. Milliseconds (ms)
B. Bytes
C. Requests per second (RPS)
D. Percentage (%)

Solution

  1. Step 1: Identify throughput unit

    Throughput measures how many requests are processed per unit time, commonly requests per second (RPS).
  2. Step 2: Exclude other units

    Milliseconds measure time, bytes measure data size, and percentage is not a throughput unit.
  3. Final Answer:

    Requests per second (RPS) -> Option C
  4. Quick Check:

    Throughput = requests per second [OK]
Hint: Throughput counts requests per second [OK]
Common Mistakes:
  • Using time units for throughput
  • Confusing data size with throughput
  • Selecting percentage as throughput unit
3. Given a system that processes 120 requests in 10 seconds, what is the throughput?
medium
A. 10 requests per second
B. 0.12 requests per second
C. 1200 requests per second
D. 12 requests per second

Solution

  1. Step 1: Calculate throughput formula

    Throughput = Total requests / Total time = 120 / 10 seconds.
  2. Step 2: Perform division

    120 divided by 10 equals 12 requests per second.
  3. Final Answer:

    12 requests per second -> Option D
  4. Quick Check:

    120 ÷ 10 = 12 [OK]
Hint: Divide total requests by total time [OK]
Common Mistakes:
  • Dividing time by requests instead of requests by time
  • Multiplying requests and time
  • Confusing throughput with response time
4. A tester recorded the following response times (in ms): 100, 200, 150, 250. The average response time was incorrectly calculated as 700 ms. What is the correct average response time?
medium
A. 175 ms
B. 700 ms
C. 150 ms
D. 200 ms

Solution

  1. Step 1: Sum all response times

    Add 100 + 200 + 150 + 250 = 700 ms total.
  2. Step 2: Calculate average response time

    Divide total 700 ms by 4 requests = 175 ms average.
  3. Final Answer:

    175 ms -> Option A
  4. Quick Check:

    700 ÷ 4 = 175 [OK]
Hint: Sum times, then divide by count [OK]
Common Mistakes:
  • Using total sum as average
  • Dividing by wrong number of requests
  • Mixing units in calculation
5. A web server has a throughput of 50 requests per second and an average response time of 200 ms. If the server's throughput doubles but response time remains the same, what happens to the server's capacity and user experience?
hard
A. Capacity doubles; user experience stays consistent
B. Capacity stays same; user experience worsens
C. Capacity doubles; user experience worsens
D. Capacity halves; user experience improves

Solution

  1. Step 1: Understand throughput doubling

    Doubling throughput means the server can handle twice as many requests per second, so capacity doubles.
  2. Step 2: Analyze response time unchanged

    Since response time stays at 200 ms, the speed per request remains consistent, so user experience does not worsen.
  3. Final Answer:

    Capacity doubles; user experience stays consistent -> Option A
  4. Quick Check:

    Throughput ↑, response time same = better capacity, same experience [OK]
Hint: More throughput + same response time = better capacity, same experience [OK]
Common Mistakes:
  • Assuming response time worsens with throughput increase
  • Confusing capacity with response time
  • Thinking capacity decreases when throughput increases
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard