feat: NCS-73 Refine Gatlin tests to reflect ordinary user behaviour #7

Merged
Janis merged 1 commits from feat/NCS-73 into main 2026-05-05 19:51:13 +02:00
Owner

Added realistic user behaviour
Smoke Test

1 user, runs once.
Executes the full user journey exactly once. The goal is a fast sanity check — if this passes, the system is up
and the critical path (register, login, import, move, resign) works end-to-end. Run this before any heavier
test.


Load Test

Ramps up to maxUsers (default 10) over rampDuration (default 60s).
Simulates normal growing traffic. Users are added gradually, each completing the full journey. This reveals how
the system behaves under typical production load and establishes a performance baseline (response times, error
rates) to compare other tests against.


Stress Test

Starts at startUsers (default 2), adds usersIncrement (default 2) users every stepDuration (default 30s) for
steps (default 2) steps, with ramps between.
Deliberately pushes the system beyond normal capacity in controlled steps. Each step holds load steady before
increasing, so you can pinpoint exactly at which user count the system starts degrading or failing — the
breaking point.


Endurance Test

Holds concurrentUsers (default 3) constant for duration (default 300s).
Keeps a steady number of users playing full games repeatedly over a long period. This is the most important test
for detecting slow degradation — memory leaks, connection pool exhaustion, database lock buildup — things that
only appear after sustained use rather than under peak load.


Spike Test

Baseline → sudden burst of spikeUsers (default 15) → 5s pause → back to baseline.
Simulates an unexpected traffic surge (e.g. a news article or viral moment). Tests whether the system can absorb
a sudden large wave of users registering and starting games simultaneously, and whether it recovers cleanly
once the spike subsides.

Added realistic user behaviour Smoke Test 1 user, runs once. Executes the full user journey exactly once. The goal is a fast sanity check — if this passes, the system is up and the critical path (register, login, import, move, resign) works end-to-end. Run this before any heavier test. --- Load Test Ramps up to maxUsers (default 10) over rampDuration (default 60s). Simulates normal growing traffic. Users are added gradually, each completing the full journey. This reveals how the system behaves under typical production load and establishes a performance baseline (response times, error rates) to compare other tests against. --- Stress Test Starts at startUsers (default 2), adds usersIncrement (default 2) users every stepDuration (default 30s) for steps (default 2) steps, with ramps between. Deliberately pushes the system beyond normal capacity in controlled steps. Each step holds load steady before increasing, so you can pinpoint exactly at which user count the system starts degrading or failing — the breaking point. --- Endurance Test Holds concurrentUsers (default 3) constant for duration (default 300s). Keeps a steady number of users playing full games repeatedly over a long period. This is the most important test for detecting slow degradation — memory leaks, connection pool exhaustion, database lock buildup — things that only appear after sustained use rather than under peak load. --- Spike Test Baseline → sudden burst of spikeUsers (default 15) → 5s pause → back to baseline. Simulates an unexpected traffic surge (e.g. a news article or viral moment). Tests whether the system can absorb a sudden large wave of users registering and starting games simultaneously, and whether it recovers cleanly once the spike subsides.
lq64 added 1 commit 2026-05-05 19:46:43 +02:00
Added realistic user behaviour
Janis approved these changes 2026-05-05 19:51:10 +02:00
Janis merged commit 25ecc1e097 into main 2026-05-05 19:51:13 +02:00
Janis deleted branch feat/NCS-73 2026-05-05 19:51:13 +02:00
Sign in to join this conversation.
No Reviewers
No Label
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: NowChess/Gatlin#7