|
2 | 2 |
|
3 | 3 | ## Overview |
4 | 4 |
|
5 | | -OpenShift Virtualization uses a tiered testing strategy to ensure comprehensive coverage while optimizing test execution time and resource usage. Understanding the differences between **Unit Tests**, **Tier 1 (Functional Tests)**, and **Tier 2 (End-to-End Tests)** is critical for effective test planning and implementation. |
| 5 | +OpenShift Virtualization uses a tiered testing strategy to ensure comprehensive coverage while optimizing test execution time and resource usage. Understanding the differences between **Unit Tests**, **Tier 1 (Functional Tests)**, **Tier 2 (End-to-End Tests)**, and **Tier 3 (Extended Validation Tests)** is critical for effective test planning and implementation. |
6 | 6 |
|
7 | 7 | ## Testing Pyramid |
8 | 8 |
|
9 | 9 | ```text |
10 | | - /\ |
11 | | - / \ Tier 2 (E2E) |
12 | | - /____\ - Fewest tests, full system |
13 | | - / \ |
14 | | - / Tier 1 \ Tier 1 (Functional) |
15 | | - /__________\ - More tests, feature integration |
16 | | - / \ |
17 | | - / Unit Tests \ Unit Tests |
18 | | -/________________\ - Most tests, isolated components |
| 10 | + /\ |
| 11 | + / \ Tier 3 (Extended) |
| 12 | + /____\ - Fewest tests, dedicated cycles |
| 13 | + / \ |
| 14 | + / Tier 2 \ Tier 2 (E2E) |
| 15 | + /__________\ - Full system workflows |
| 16 | + / \ |
| 17 | + / Tier 1 \ Tier 1 (Functional) |
| 18 | + /________________\ - More tests, feature integration |
| 19 | + / \ |
| 20 | +/ Unit Tests \ Unit Tests |
| 21 | +/____________________\ - Most tests, isolated components |
19 | 22 | ``` |
20 | 23 |
|
21 | 24 | ## Unit Tests |
@@ -155,13 +158,49 @@ OpenShift Virtualization uses a tiered testing strategy to ensure comprehensive |
155 | 158 | - System metrics that users don't directly interact with |
156 | 159 | - Internal error messages or stack traces are not shown to users |
157 | 160 |
|
| 161 | +## Tier 3 - Extended Validation Tests |
| 162 | + |
| 163 | +### What Are Tier 3 Tests? |
| 164 | + |
| 165 | +**Tier 3 tests** validate feature functionality with higher execution cost — longer runtime, heavier resource usage, or complex setup requirements. These tests typically run in dedicated test cycles rather than standard CI lanes. |
| 166 | + |
| 167 | +**Important:** The distinguishing factor for Tier 3 is **execution cost**, not test complexity or scope. A Tier 3 test may verify a single feature (like Tier 1) or a complete workflow (like Tier 2) — what makes it Tier 3 is that it takes longer, needs more resources, or requires complex setup. |
| 168 | + |
| 169 | +### Characteristics |
| 170 | + |
| 171 | +- **Scope:** Any feature scenario with higher execution cost |
| 172 | +- **Dependencies:** May require specific guest OS images, non-default storage backends, large clusters, or extended runtime |
| 173 | +- **Environment:** Dedicated test cycles, not standard CI gating |
| 174 | + |
| 175 | +### Purpose |
| 176 | + |
| 177 | +- Validate feature behavior in configurations that are too costly for standard CI |
| 178 | +- Test scenarios requiring extended runtime or heavy resource usage |
| 179 | +- Verify behavior with non-default guest operating systems or storage backends |
| 180 | +- Validate resource-intensive concurrent operations |
| 181 | + |
| 182 | +### Test Scope for Tier 3 |
| 183 | + |
| 184 | +**Extended Validation Scenarios — Examples:** |
| 185 | + |
| 186 | +- Windows guest VM operations (longer setup and execution time) |
| 187 | +- Large-scale concurrent operations (multiple VMs restoring/migrating in parallel) |
| 188 | +- Tests requiring non-default storage backends (LVM, specific CSI drivers) |
| 189 | +- Long-running stability or soak tests |
| 190 | +- Scenarios requiring large cluster configurations |
| 191 | + |
| 192 | +**What's NOT in Tier 3:** |
| 193 | + |
| 194 | +- Tests that run within standard CI time and resource budgets (use Tier 1 or Tier 2) |
| 195 | +- Performance benchmarking (covered under Performance Testing in Test Strategy) |
| 196 | + |
158 | 197 | ## Comparison Matrix |
159 | 198 |
|
160 | | -| Aspect | Unit Tests | Tier 1 (Functional) | Tier 2 (E2E) | |
161 | | -|:------------------------|:-----------------------|:-------------------------------------|:------------------------------| |
162 | | -| **Scope** | Single function/method | Single feature | Complete workflows | |
163 | | -| **Dependencies** | None (mocked) | OpenShift + OpenShift Virtualization | Full production-like setup | |
164 | | -| **Isolation** | Complete | Feature-level | System-level integration | |
| 199 | +| Aspect | Unit Tests | Tier 1 (Functional) | Tier 2 (E2E) | Tier 3 (Extended) | |
| 200 | +|:------------------------|:-----------------------|:-------------------------------------|:------------------------------|:--------------------------------------| |
| 201 | +| **Scope** | Single function/method | Single feature | Complete workflows | Any scope, higher execution cost | |
| 202 | +| **Dependencies** | None (mocked) | OpenShift + OpenShift Virtualization | Full production-like setup | Extended runtime / resources / setup | |
| 203 | +| **Isolation** | Complete | Feature-level | System-level integration | Dedicated test cycles | |
165 | 204 |
|
166 | 205 | ## Resources |
167 | 206 |
|
|
0 commit comments