Bird
Raised Fist0
Testing Fundamentalstesting~10 mins

Performance test types (load, stress, spike, soak) in Testing Fundamentals - Test Execution Trace

Choose your learning style10 modes available
Test Overview

This test simulates different performance test types on a web application to verify how it handles various user loads and stress conditions.

It checks if the application responds correctly under normal load, heavy stress, sudden spikes, and prolonged usage.

Test Code - unittest
Testing Fundamentals
import unittest
import time

class PerformanceTest(unittest.TestCase):
    def simulate_load(self, users):
        # Simulate normal load by sending requests equal to users
        return users <= 100  # Assume system supports up to 100 users normally

    def simulate_stress(self, users):
        # Simulate stress by sending requests beyond normal capacity
        return users <= 150  # System should handle up to 150 users under stress

    def simulate_spike(self, spike_users):
        # Simulate sudden spike in users
        return spike_users <= 200  # System can handle sudden spike up to 200 users

    def simulate_soak(self, duration_hours):
        # Simulate prolonged usage
        return duration_hours <= 5  # System stable for up to 5 hours

    def test_load(self):
        self.assertTrue(self.simulate_load(80))

    def test_stress(self):
        self.assertTrue(self.simulate_stress(140))

    def test_spike(self):
        self.assertTrue(self.simulate_spike(180))

    def test_soak(self):
        self.assertTrue(self.simulate_soak(4))

if __name__ == '__main__':
    unittest.main()
Execution Trace - 6 Steps
StepActionSystem StateAssertionResult
1Test startsTesting framework initialized, tests ready to run—PASS
2Run test_load: simulate 80 users normal loadSystem simulates 80 users sending requestsCheck if system supports 80 users under normal loadPASS
3Run test_stress: simulate 140 users stress loadSystem simulates 140 users sending requests beyond normal capacityCheck if system handles 140 users under stressPASS
4Run test_spike: simulate sudden spike of 180 usersSystem simulates sudden spike of 180 usersCheck if system handles sudden spike of 180 usersPASS
5Run test_soak: simulate 4 hours of continuous usageSystem simulates continuous usage for 4 hoursCheck if system remains stable for 4 hoursPASS
6All tests completedTest results collected—PASS
Failure Scenario
Failing Condition: System fails to handle user load beyond its capacity in any test
Execution Trace Quiz - 3 Questions
Test your understanding
What does the test_load check in the performance tests?
ASystem stability over long hours
BSystem behavior under sudden user spikes
CSystem behavior under normal user load
DSystem failure under extreme stress
Key Result
Performance tests should cover different scenarios: normal load, stress beyond capacity, sudden spikes, and prolonged usage to ensure system reliability.

Practice

(1/5)
1. Which type of performance test checks how a system handles normal user traffic over a period?
easy
A. Load test
B. Stress test
C. Spike test
D. Soak test

Solution

  1. Step 1: Understand the purpose of load testing

    Load testing measures system behavior under expected normal traffic to ensure it can handle typical user demand.
  2. Step 2: Differentiate from other test types

    Stress tests push beyond normal limits, spike tests check sudden jumps, and soak tests check long-term stability, not normal traffic.
  3. Final Answer:

    Load test -> Option A
  4. Quick Check:

    Normal traffic = Load test [OK]
Hint: Normal user traffic means load test [OK]
Common Mistakes:
  • Confusing stress test with load test
  • Thinking spike test handles normal traffic
  • Mixing soak test with short-term tests
2. Which of the following is the correct description of a spike test?
easy
A. Testing system reaction to sudden traffic increase
B. Testing system under gradually increasing load
C. Testing system limits by pushing beyond capacity
D. Testing system stability over a long period

Solution

  1. Step 1: Define spike test

    Spike testing checks how a system reacts to sudden, sharp increases in traffic or load.
  2. Step 2: Compare with other test types

    Gradual increase is load test, pushing beyond capacity is stress test, and long period stability is soak test.
  3. Final Answer:

    Testing system reaction to sudden traffic increase -> Option A
  4. Quick Check:

    Sudden jump = Spike test [OK]
Hint: Sudden traffic jump means spike test [OK]
Common Mistakes:
  • Confusing spike test with load test
  • Mixing stress test with spike test
  • Thinking soak test is about sudden changes
3. Consider this scenario: A system is tested by gradually increasing users from 100 to 1000 over 30 minutes, then holding steady at 1000 users for 2 hours. Which test types are being combined?
medium
A. Load test and stress test
B. Stress test and spike test
C. Load test and soak test
D. Spike test and soak test

Solution

  1. Step 1: Identify gradual increase phase

    Gradually increasing users from 100 to 1000 is typical of a load test to check normal traffic handling.
  2. Step 2: Identify steady high load phase

    Holding 1000 users for 2 hours tests long-term stability, which is soak testing.
  3. Final Answer:

    Load test and soak test -> Option C
  4. Quick Check:

    Gradual increase + long hold = Load + Soak [OK]
Hint: Gradual rise + long hold = Load and soak tests [OK]
Common Mistakes:
  • Confusing spike test with gradual increase
  • Thinking stress test applies to steady load
  • Mixing soak test with short duration tests
4. A tester wrote this description: 'Stress testing is done by suddenly increasing the load to check system limits.' What is wrong with this statement?
medium
A. Stress testing uses gradual load increase, not sudden
B. Stress testing checks long-term stability, not limits
C. Stress testing pushes beyond limits but not suddenly
D. Sudden load increase describes spike testing, not stress testing

Solution

  1. Step 1: Understand stress testing

    Stress testing pushes the system beyond its limits to find breaking points, usually by increasing load beyond normal gradually or rapidly.
  2. Step 2: Identify sudden load increase meaning

    Sudden load increase is characteristic of spike testing, which tests system reaction to abrupt changes.
  3. Final Answer:

    Sudden load increase describes spike testing, not stress testing -> Option D
  4. Quick Check:

    Sudden jump = Spike test, not stress test [OK]
Hint: Sudden jump means spike, not stress test [OK]
Common Mistakes:
  • Mixing stress and spike test definitions
  • Thinking stress test is only gradual
  • Confusing soak test with stress test
5. A web app must be tested to ensure it can handle 500 users normally, survive sudden spikes to 2000 users, and remain stable under 500 users for 24 hours. Which combination of tests should be planned?
hard
A. Stress test, spike test, soak test
B. Load test, spike test, soak test
C. Load test, stress test, soak test
D. Stress test, load test, spike test

Solution

  1. Step 1: Identify normal user handling test

    Testing 500 users normally is a load test to check typical performance.
  2. Step 2: Identify sudden spike handling test

    Handling sudden spikes to 2000 users requires spike testing to check system reaction.
  3. Step 3: Identify long-term stability test

    Remaining stable under 500 users for 24 hours is soak testing for endurance.
  4. Final Answer:

    Load test, spike test, soak test -> Option B
  5. Quick Check:

    Normal + sudden spike + long run = Load + Spike + Soak [OK]
Hint: Normal + spike + long run = Load, spike, soak tests [OK]
Common Mistakes:
  • Replacing spike test with stress test incorrectly
  • Confusing soak test with stress test
  • Ignoring long-term stability requirement
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