Skip to content

Commit 8a940f4

Browse files
rnetserclaudepi-mono
authored
feat: add Tier 3 testing classification for extended validation (#123)
* feat: add Tier 3 testing classification Add Tier 3 (Extended Validation) as a new testing tier for tests with higher execution cost — longer runtime, heavier resource usage, or complex setup — that typically run in dedicated test cycles rather than standard CI lanes. Updated files: AGENTS.md, docs/testing-tiers.md, docs/stp-guide.md, README.md, stps/stp-template/stp.md, stps/stp-template/child-stp.md Signed-off-by: rnetser <rnetser@redhat.com> Co-authored-by: Claude <noreply@anthropic.com> * fix: make Tier 3 coverage conditional in checklists Tier 3 is optional extended validation, not mandatory for every STP. Updated sign-off checklist and process milestone to say 'where applicable'. Signed-off-by: rnetser <rnetser@redhat.com> Co-authored-by: PI (claude-opus-4-6) <noreply@pi.dev> Signed-off-by: rnetser <rnetser@redhat.com> --------- Signed-off-by: rnetser <rnetser@redhat.com> Co-authored-by: Claude <noreply@anthropic.com> Co-authored-by: PI (claude-opus-4-6) <noreply@pi.dev>
1 parent 8d5af15 commit 8a940f4

6 files changed

Lines changed: 68 additions & 23 deletions

File tree

AGENTS.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -228,7 +228,7 @@ Assisted-by: Claude <noreply@anthropic.com>
228228
In the scenarios table, multiple test scenarios mapped to the same requirement
229229
may leave the Requirement ID cell blank in continuation rows.
230230
- [ ] Requirement summaries use user story format ("As a [role], I want...")
231-
- [ ] Each scenario has Tier (1 or 2) and Priority (P0/P1/P2)
231+
- [ ] Each scenario has Tier (1, 2, or 3) and Priority (P0/P1/P2)
232232
- [ ] Every Testing Goal from Section II.1 has a matching scenario here
233233
- [ ] Every Acceptance Criterion from Section I.1 is traceable to a scenario
234234
- [ ] Granularity: if one scenario can fail while another passes, they are separate items
@@ -237,6 +237,7 @@ Assisted-by: Claude <noreply@anthropic.com>
237237
**Tier classification:**
238238
- **Tier 1**: Single feature, isolated — API validation, basic CRUD, single operation
239239
- **Tier 2**: End-to-end user workflows, multi-feature integration, upgrade paths
240+
- **Tier 3**: Extended validation — tests with higher execution cost (longer runtime, heavier resource usage, or complex setup) that typically run in dedicated test cycles rather than standard CI lanes
240241

241242
**Common rejection reasons:**
242243
- All requirement IDs are "[TBD]" — blocks approval

README.md

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ Centralize QE documentation and test planning to ensure:
3232
| Guide | Description |
3333
|:-----------------------------------------------|:-----------------------------------------------------------------------------------|
3434
| [STP Guide](./docs/stp-guide.md) | Complete guide to Software Test Plans: structure, lifecycle, and best practices |
35-
| [Testing Tiers Guide](./docs/testing-tiers.md) | Differences between Unit Tests, Tier 1 (Functional), and Tier 2 (End-to-End) tests |
35+
| [Testing Tiers Guide](./docs/testing-tiers.md) | Differences between Unit Tests, Tier 1 (Functional), Tier 2 (End-to-End), and Tier 3 (Extended) tests |
3636

3737
### Templates
3838

@@ -50,13 +50,14 @@ Centralize QE documentation and test planning to ensure:
5050
| **NFR** | Non-Functional Requirements (performance, security, monitoring, etc.) |
5151
| **Tier 1** | Functional tests covering individual features |
5252
| **Tier 2** | End-to-end tests covering complete workflows |
53+
| **Tier 3** | Extended validation tests with higher execution cost |
5354

5455
### Testing Tiers
5556

5657
```text
57-
Unit Tests → Tier 1 (Functional) → Tier 2 (End-to-End)
58-
Many Moderate Few
59-
Isolated Feature-level Full Integration
58+
Unit Tests → Tier 1 (Functional) → Tier 2 (End-to-End) → Tier 3 (Extended)
59+
Many Moderate Few Fewest
60+
Isolated Feature-level Full Integration Dedicated Cycles
6061
```
6162

6263
See [Testing Tiers Guide](./docs/testing-tiers.md) for details.
@@ -82,7 +83,7 @@ graph TD
8283

8384
2. **STP Creation**
8485
- Document scope, strategy, environment, risks
85-
- Define Tier 1 and Tier 2 test coverage
86+
- Define Tier 1 and Tier 2 test coverage (Tier 3 where applicable)
8687
- List untestable aspects with stakeholder agreement
8788

8889
3. **Enhancement Freeze (EF)**

docs/stp-guide.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,7 @@ The STP template uses four distinct categories for constraints. Refer to the tem
163163
### IV. Sign-off and Approval
164164

165165
**Final Sign-off Checklist:**
166-
- Tier 1 / Tier 2 tests defined
166+
- Tier 1 / Tier 2 tests defined (Tier 3 where applicable)
167167
- **Automation merged** (mandatory for GA)
168168
- Tests running in release checklist jobs
169169
- Documentation reviewed

docs/testing-tiers.md

Lines changed: 54 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -2,20 +2,23 @@
22

33
## Overview
44

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.
66

77
## Testing Pyramid
88

99
```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
1922
```
2023

2124
## Unit Tests
@@ -155,13 +158,49 @@ OpenShift Virtualization uses a tiered testing strategy to ensure comprehensive
155158
- System metrics that users don't directly interact with
156159
- Internal error messages or stack traces are not shown to users
157160

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+
158197
## Comparison Matrix
159198

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 |
165204

166205
## Resources
167206

stps/stp-template/child-stp.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -190,7 +190,7 @@ Regression tests are documented in Test Strategy (II.2), not in this table. -->
190190

191191
- **[Jira-ID]** — As a [role], I want [action] so that [benefit]
192192
- *Test Scenario:* [Description]
193-
- *Tier:* [1 or 2]
193+
- *Tier:* [1, 2, or 3]
194194
- *Priority:* [P0/P1/P2]
195195

196196
---

stps/stp-template/stp.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -452,6 +452,10 @@ justification in mitigation strategy. -->
452452
- *Test Scenario:* [Tier 2] Verify upgrade from version X to Y preserves feature state
453453
- *Priority:* P2
454454

455+
- **[Jira-127]** — As a Windows VM user...
456+
- *Test Scenario:* [Tier 3] Verify feature X works on Windows guest with NTFS filesystem
457+
- *Priority:* P1
458+
455459
---
456460

457461
### **IV. Sign-off and Approval**

0 commit comments

Comments
 (0)