Skip to content

Commit 0ccf1ee

Browse files
authored
Update the Load test types to mention common scenarios (#1204)
* Test types: rewrite note * Update `smoke tests` to include `mini-load` tests * Update test types based on common use cases * Edit `spike testing`
1 parent d4dc09a commit 0ccf1ee

File tree

6 files changed

+26
-26
lines changed

6 files changed

+26
-26
lines changed

src/data/markdown/translated-guides/en/06 Test Types/00 Load test types.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ The main types are as follows. Each type has its own article outlining its essen
3434

3535
<Blockquote mod="note" title="">
3636

37-
In k6 scripts, configure load in the [`options`](/using-k6/k6-options/reference/) object with [Scenarios](/using-k6/scenarios) (or the [`stages` shortcut](/using-k6/k6-options/reference/#stages)). This separates workload configuration from iteration logic.
37+
In k6 scripts, configure the load configuration using [`options`](/get-started/running-k6/#using-options) or [`scenarios`](/using-k6/scenarios). This separates workload configuration from iteration logic.
3838

3939
</Blockquote>
4040

@@ -44,12 +44,12 @@ The following table provides some broad comparisons.
4444

4545
| Type | VUs/Throughput | Duration | When? |
4646
|------------|-----------------------|----------------------------|------------------------------------------------------------------------------------------------------------------|
47-
| Smoke | Low | Quick (seconds or minutes) | Every time new code or a change is done. It checks scripts, baseline system metrics, and deviations from changes |
48-
| Load | Average production | Mid (15-60 minutes) | Often to check system maintains performance with average use |
49-
| Stress | High (above average) | Mid (15-60 minutes) | When system may receive above-average loads to check how it manages |
50-
| Soak | Average | Long (hours) | After changes to check system under prolonged continuous use |
51-
| Spike | Very high | Quick (seconds to minutes) | Rarely, when system risks sudden rush |
52-
| Breakpoint | Increases until break | As long as necessary | A few times to find the upper limits of the system |
47+
| [Smoke](/test-types/smoke-testing) | Low | Short (seconds or minutes) | When the relevant system or application code changes. It checks functional logic, baseline metrics, and deviations |
48+
| [Load](/test-types/load-testing) | Average production | Mid (5-60 minutes) | Often to check system maintains performance with average use |
49+
| [Stress](/test-types/stress-testing) | High (above average) | Mid (5-60 minutes) | When system may receive above-average loads to check how it manages |
50+
| [Soak](/test-types/soak-testing) | Average | Long (hours) | After changes to check system under prolonged continuous use |
51+
| [Spike](/test-types/spike-testing) | Very high | Short (a few minutes) | When the system prepares for seasonal events or receives frequent traffic peaks |
52+
| [Breakpoint](/test-types/breakpoint-testing) | Increases until break | As long as necessary | A few times to find the upper limits of the system |
5353

5454

5555
## General recommendations

src/data/markdown/translated-guides/en/06 Test Types/01 Smoke Testing.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,19 +5,19 @@ excerpt: "A Smoke test is a minimal load test to run when you create or modify a
55
---
66

77
Smoke tests have a minimal load.
8-
Run them to verify that the script works well, the system functions under minimal load, and to gather baseline performance values.
8+
Run them to verify that the system works well under minimal load and to gather baseline performance values.
99

10-
This test type consists of running tests with only one or a few VUs. Keep the number to 5 VUs or less.
11-
Exceeding 5 could turn the test into a mini-load test.
12-
Similarly, the test shouldn't have many iterations. 3 to 10 iterations should be enough (or an iteration duration with a short period).
10+
This test type consists of running tests with a few VUs — more than 5 VUs could be considered a mini-load test.
11+
12+
Similarly, the test should execute for a short period, either a low number of [iterations](/using-k6/k6-options/reference/#iterations) or a [duration](/using-k6/k6-options/reference/#duration) from seconds to a few minutes maximum.
1313

1414
![Overview of a smoke test](images/chart-smoke-test-overview.png)
1515

1616
In some testing conversation, smoke tests are also called shakeout tests.
1717

1818
## When to run a Smoke test
1919

20-
Teams should run smoke tests whenever a test script is created or updated. Smoke testing should also be done every time the application code is updated.
20+
Teams should run smoke tests whenever a test script is created or updated. Smoke testing should also be done whenever the relevant application code is updated.
2121

2222
It's a good practice to run a smoke test as a first step, with the following goals:
2323

@@ -37,7 +37,7 @@ When you prepare a smoke test, consider the following:
3737

3838
- **Keep throughput small and duration short**
3939

40-
Configure your test script to be executed by a small number of VUs (from 2 to 5) with few iterations (3 to 10) or brief durations (30 to 60 seconds).
40+
Configure your test script to be executed by a small number of VUs (from 2 to 20) with few iterations or brief durations (30 seconds to 3 minutes).
4141

4242
## Smoke testing in k6
4343

@@ -67,7 +67,7 @@ export default () => {
6767

6868

6969
The following script is an example smoke test. You can copy it, change the endpoints, and start testing. For more comprehensive test logic, refer to [Examples](/examples).
70-
The VU chart of a smoke test should look similar to this. Again, a smoke test should use only 2 or 3 VUs and run for only a brief period.
70+
The VU chart of a smoke test should look similar to this.
7171

7272
![The shape of the smoke test as configured in the preceding script](images/chart-smoke-test-k6-script-example.png)
7373

src/data/markdown/translated-guides/en/06 Test Types/02 Load Testing.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ When you prepare an average-load test, consider the following:
3232
To find this, look through APMs or analytic tools that provide information from the production environment. If you can't access such tools, the business must provide these estimations.
3333
* **Gradually increase load to the target average.**
3434

35-
That is, use a _ramp-up period_. This period usually lasts 1, 2, 5, or 10 minutes. A ramp-up period has many essential uses:
35+
That is, use a _ramp-up period_. This period usually lasts between 5% and 15% of the total test duration. A ramp-up period has many essential uses:
3636
* It gives your system time to warm up or auto-scale to handle the traffic.
3737
* It lets you compare response times between the low-load and average-load stages.
3838
* If you run tests using our cloud service, a ramp up lets the automated performance alerts understand the expected behavior of your system.

src/data/markdown/translated-guides/en/06 Test Types/03 Stress testing.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ In some testing conversation, stress tests might also be called rush-hour, surge
1717
## When to perform a Stress test
1818

1919
Stress tests verify the stability and reliability of the system under conditions of heavy use.
20-
Systems may receive higher than usual workloads on unusual moments such as process deadlines, paydays, rush hours, ends of the workweek, and many other isolated behaviors that might combine to create high-load events.
20+
Systems may receive higher than usual workloads on unusual moments such as process deadlines, paydays, rush hours, ends of the workweek, and many other behaviors that might cause frequent higher-than-average traffic.
2121

2222
## Considerations
2323

src/data/markdown/translated-guides/en/06 Test Types/06-spike-testing.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,26 +3,26 @@ title: 'Spike testing'
33
excerpt: 'Spike tests simulate moments of short, extreme load'
44
---
55

6-
A spike test verifies whether the system survives and performs under sudden and massive rushes of utilization. It is one of the least common tests.
6+
A spike test verifies whether the system survives and performs under sudden and massive rushes of utilization.
77

88
Spike tests are useful when the system may experience events of sudden and massive traffic.
9-
Examples of such events include ticket sales (ComicCon, Taylor Swift), product launches (PS5, fashion apparel), sale announcements (Super Bowl ads), process deadlines (tax declaration), and seasonal sales (Black Friday, Christmas, St.Valentine).
9+
Examples of such events include ticket sales (Taylor Swift), product launches (PS5), broadcast ads (Super Bowl), process deadlines (tax declaration), and seasonal sales (Black Friday). Also, spikes in traffic could be caused by more frequent events such as rush hours, a particular task, or a use case.
1010

1111
Spike testing increases to extremely high loads in a very short or non-existent ramp-up time.
1212
Usually, it has no plateau period or is very brief, as real users generally do not stick around doing extra steps in these situations. In the same way, the ramp-down is very fast or non-existent, letting the process iterate only once.
1313

14-
This test usually includes very different processes than the previous test types, as these processes often aren't part of an average day in production. A recommendation is to automate the processes with heavy demand during the event. It may also require adding, removing, or modifying processes on the script that were not in the average-load tests.
14+
This test might include different processes than the previous test types, as spikes often aren't part of an average day in production. It may also require adding, removing, or modifying processes on the script that were not in the average-load tests.
1515

1616
Occasionally, teams should revamp the system to allow or prioritize resources for the high-demand processes during the event.
1717

1818
![Overview of a spike test](images/chart-spike-test-overview.png)
1919

2020
## When to perform a spike test
2121

22-
Spike testing is the least frequent test type. This test must be executed when the system expects to receive a sudden rush of activity, which is not a common behavior on most platforms.
22+
This test must be executed when the system expects to receive a sudden rush of activity.
2323

2424

25-
When the system expects this type of behavior, the spike test helps identify how the system will behave and if it will survive the sudden rush of load. The load is considerably above the average and frequently focuses on a different set of processes than the other test types.
25+
When the system expects this type of behavior, the spike test helps identify how the system will behave and if it will survive the sudden rush of load. The load is considerably above the average and might focus on a different set of processes than the other test types.
2626

2727

2828
## Considerations
@@ -31,13 +31,13 @@ When preparing for a spike test, consider the following:
3131

3232
* **Focus on key processes in this test type.**
3333

34-
Generally, the processes triggered are different from the other test types.
34+
Assess whether the spike in traffic triggers the same or different processes from the other test types. Create test logic accordingly.
3535
* **The test often won't finish.**
3636

37-
Errors are common under these scenarios
37+
Errors are common under these scenarios.
3838
* **Run, tune, repeat.**
3939

40-
When your system is at risk of spike events, the team must run a spikes test and tune the system several times
40+
When your system is at risk of spike events, the team must run a spikes test and tune the system several times.
4141
* **Monitor.**
4242

4343
Backend monitoring is a must for successful outcomes of this test.
@@ -87,5 +87,5 @@ A spike test gets its name from the shape of its load when represented graphical
8787

8888
Some performance metrics to assess in spike tests include pod speeds, recovery times after the load rush, time to return to normal, or the behavior on crucial system processes during the overload.
8989

90-
Finding how the system responds (if it survives) to the sudden rush helps to optimize it to guarantee that it can perform during a real event. Often the load is so high that the whole system may have to be optimized to deal with the key processes. In these cases, repeat the test until the system confidence is high.
90+
Finding how the system responds (if it survives) to the sudden rush helps to optimize it to guarantee that it can perform during a real event. In some events, the load is so high that the whole system may have to be optimized to deal with the key processes. In these cases, repeat the test until the system confidence is high.
9191

src/data/markdown/translated-guides/en/06 Test Types/07-breakpoint-testing.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ Teams execute a breakpoint test whenever they must know their system's diverse l
2727
* If current resource consumption is considered high
2828
* After significant changes to the code-base or infrastructure.
2929

30-
How often to run this test type depends on the risk of reaching the system limits and the number of changes and code additions.
30+
How often to run this test type depends on the risk of reaching the system limits and the number of changes to provision infrastructure components.
3131

3232
Once the breakpoint runs and the system limits have been identified, you can repeat the test after the tuning exercise to validate how it impacted limits. Repeat the test-tune cycle until the team is satisfied.
3333

0 commit comments

Comments
 (0)