You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Reassure is a performance testing toolkit that measures React and React Native scenarios repeatedly and compares measurement results between code states.
4
+
5
+
## Language
6
+
7
+
**Measurement Entry**:
8
+
A single named performance scenario result produced by repeated runs of the same scenario.
9
+
_Avoid_: Test stability, benchmark row
10
+
11
+
**Coefficient of Variation**:
12
+
A unitless measure of relative duration variability for a **Measurement Entry**, calculated as standard deviation divided by mean.
13
+
_Avoid_: Variation, stability
14
+
15
+
**Stability Check**:
16
+
A workflow that compares two measurement files from the same code state to assess environment or machine stability.
17
+
_Avoid_: Coefficient of variation, duration variability
18
+
19
+
**Run Stability**:
20
+
A summary of measurement stability across all measurement entries in one measurement file.
21
+
_Avoid_: Run variability, suite variability
22
+
23
+
**Worst Measurement Entry**:
24
+
The measurement entry with the highest coefficient of variation in a measurement file.
25
+
_Avoid_: Slowest test, biggest regression
26
+
27
+
## Relationships
28
+
29
+
- A **Measurement Entry** has one **Coefficient of Variation** for duration measurements.
30
+
- A **Stability Check** compares two sets of **Measurement Entries**.
31
+
-**Run Stability** is summarized by mean-duration-weighted average **Coefficient of Variation** and the worst **Measurement Entry** by **Coefficient of Variation**.
32
+
- A comparison report may show **Run Stability** for the current and baseline measurement files separately.
33
+
34
+
## Example dialogue
35
+
36
+
> **Dev:** "Should we call `stdev / mean` test stability?"
37
+
> **Domain expert:** "No. That value is the **Coefficient of Variation** for a **Measurement Entry**; a **Stability Check** compares same-code measurement files."
38
+
> **Dev:** "How do we tell whether a Reassure tweak made a whole run less noisy?"
39
+
> **Domain expert:** "Compare **Run Stability** using mean-duration-weighted average **Coefficient of Variation**, then inspect the worst entry."
40
+
> **Dev:** "Does the worst entry mean the slowest test?"
41
+
> **Domain expert:** "No. The **Worst Measurement Entry** is the entry with the highest **Coefficient of Variation**, regardless of duration."
42
+
43
+
## Flagged ambiguities
44
+
45
+
- "stability" was used for both same-code comparison and per-entry measurement spread — resolved: same-code comparison is a **Stability Check**, while `stdev / mean` is the **Coefficient of Variation**.
46
+
- "worst" can mean slowest, noisiest, or most regressed — resolved: for **Run Stability**, worst means highest **Coefficient of Variation**.
Use the project terms consistently when changing comparison, reporting, or measurement behavior.
4
+
5
+
## Measurement Entry
6
+
7
+
A single named performance scenario result produced by repeated runs of the same scenario.
8
+
9
+
Use this for one row/scenario in a `.perf` file or comparison report. Avoid calling it a benchmark row or test stability.
10
+
11
+
## Coefficient of Variation
12
+
13
+
A unitless measure of relative duration spread for one measurement entry, calculated as:
14
+
15
+
```txt
16
+
standard deviation / mean
17
+
```
18
+
19
+
Use this term when discussing the statistic itself. In user-facing report fields, prefer `stability` when that is the established output label.
20
+
21
+
## Stability Check
22
+
23
+
A workflow that compares two measurement files from the same code state to assess environment or machine stability.
24
+
25
+
Do not use this term for the coefficient of variation of one entry. A stability check is a workflow, not the statistic.
26
+
27
+
## Run Stability
28
+
29
+
A summary of measurement stability across all measurement entries in one measurement file.
30
+
31
+
Run stability is the mean-duration-weighted average coefficient of variation across entries. It excludes warmup runs and includes removed outliers.
32
+
33
+
Comparison reports may show run stability for current and baseline measurement files separately. Do not calculate a run-level stability change unless the feature explicitly asks for it.
34
+
35
+
## Reporting Rules
36
+
37
+
- Per-entry stability belongs next to each entry's baseline/current duration details.
38
+
- Run stability belongs at the end of reports.
39
+
- JSON output should use readable stability keys such as `current`, `baseline`, and `weightedAverage`; avoid leaking implementation names like `currentCV`.
40
+
- Use `stability` for the user-facing output label, and use coefficient of variation only when explaining the math.
0 commit comments