doc-tspec-validator
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
Chinesedoc-tspec-validator
doc-tspec-validator
Validate Test Specification (TSPEC) documents against Layer 10 schema standards.
依据Layer 10 schema标准验证测试规范(TSPEC)文档。
Purpose
用途
Validates TSPEC documents for:
- YAML frontmatter metadata compliance
- Section structure (test specification sections)
- Document Control completeness
- Cumulative tagging (8 required: @brd, @prd, @ears, @bdd, @adr, @sys, @req, @spec)
- TASKS-Ready scoring
- File naming convention (TSPEC-NN_{slug}.md or {TYPE}-NN_{slug}.md)
- Element ID format (TSPEC.NN.TT.SS where TT is 40-43)
- Test type validation (UTEST/ITEST/STEST/FTEST)
验证TSPEC文档是否符合以下要求:
- YAML前置元数据合规性
- 章节结构(测试规范章节)
- 文档控制完整性
- 累积标签(需8个必填标签:@brd、@prd、@ears、@bdd、@adr、@sys、@req、@spec)
- TASKS就绪评分
- 文件命名规范(TSPEC-NN_{slug}.md 或 {TYPE}-NN_{slug}.md)
- 元素ID格式(TSPEC.NN.TT.SS,其中TT为40-43)
- 测试类型验证(UTEST/ITEST/STEST/FTEST)
Activation
触发时机
Invoke when:
- User requests validation of TSPEC documents
- After creating/modifying TSPEC artifacts
- Before generating downstream artifacts (TASKS)
- As part of quality gate checks
- Validating test coverage matrices
在以下场景中调用:
- 用户请求验证TSPEC文档时
- 创建/修改TSPEC工件后
- 生成下游工件(TASKS)前
- 作为质量门检查的一部分
- 验证测试覆盖矩阵时
Schema Reference
Schema参考
| Item | Value |
|---|---|
| TSPEC Index | |
| UTEST Template | |
| ITEST Template | |
| STEST Template | |
| FTEST Template | |
| Layer | 10 |
| Artifact Type | TSPEC |
| 项 | 值 |
|---|---|
| TSPEC索引 | |
| UTEST模板 | |
| ITEST模板 | |
| STEST模板 | |
| FTEST模板 | |
| 层级 | 10 |
| 工件类型 | TSPEC |
Validation Checklist
验证检查清单
0. Folder Structure Validation (BLOCKING)
0. 文件夹结构验证(阻塞性检查)
Nested Folder Rule: ALL TSPEC documents MUST be in nested folders regardless of size.
Required Structure:
| TSPEC Type | Required Location |
|---|---|
| UTEST | |
| ITEST | |
| STEST | |
| FTEST | |
Validation:
1. Check document is inside a nested folder: docs/10_TSPEC/{TYPE}/{TYPE}-NN_{slug}/
2. Verify folder name matches TSPEC ID pattern: {TYPE}-NN_{slug}
3. Verify file name matches folder: {TYPE}-NN_{slug}.md
4. Parent path must be: docs/10_TSPEC/{TYPE}/Example Valid Structure:
docs/10_TSPEC/
├── UTEST/
│ ├── UTEST-01_auth_service/
│ │ ├── UTEST-01_auth_service.md ✓ Valid
│ │ ├── UTEST-01.R_review_report_v001.md
│ │ └── .drift_cache.json
│ └── UTEST-02_session_service/
│ └── UTEST-02_session_service.md ✓ Valid
├── ITEST/
│ └── ITEST-01_api_integration/
│ └── ITEST-01_api_integration.md ✓ Valid
├── STEST/
│ └── STEST-01_deployment_smoke/
│ └── STEST-01_deployment_smoke.md ✓ Valid
└── FTEST/
└── FTEST-01_user_workflow/
└── FTEST-01_user_workflow.md ✓ ValidInvalid Structure:
docs/10_TSPEC/
├── UTEST/
│ ├── UTEST-01_auth_service.md ✗ NOT in nested folderError Codes:
| Code | Severity | Description |
|---|---|---|
| TSPEC-E030 | ERROR | TSPEC not in nested folder (BLOCKING) |
| TSPEC-E031 | ERROR | Folder name doesn't match TSPEC ID |
| TSPEC-E032 | ERROR | File name doesn't match folder name |
| TSPEC-E033 | ERROR | TSPEC not in correct type subdirectory |
This check is BLOCKING - TSPEC must pass folder structure validation before other checks proceed.
嵌套文件夹规则:所有TSPEC文档无论大小,必须存放在嵌套文件夹中。
必填结构:
| TSPEC类型 | 必填存放路径 |
|---|---|
| UTEST | |
| ITEST | |
| STEST | |
| FTEST | |
验证步骤:
1. 检查文档是否位于嵌套文件夹内:docs/10_TSPEC/{TYPE}/{TYPE}-NN_{slug}/
2. 验证文件夹名称是否匹配TSPEC ID格式:{TYPE}-NN_{slug}
3. 验证文件名是否与文件夹名称一致:{TYPE}-NN_{slug}.md
4. 父路径必须为:docs/10_TSPEC/{TYPE}/有效结构示例:
docs/10_TSPEC/
├── UTEST/
│ ├── UTEST-01_auth_service/
│ │ ├── UTEST-01_auth_service.md ✓ 有效
│ │ ├── UTEST-01.R_review_report_v001.md
│ │ └── .drift_cache.json
│ └── UTEST-02_session_service/
│ └── UTEST-02_session_service.md ✓ 有效
├── ITEST/
│ └── ITEST-01_api_integration/
│ └── ITEST-01_api_integration.md ✓ 有效
├── STEST/
│ └── STEST-01_deployment_smoke/
│ └── STEST-01_deployment_smoke.md ✓ 有效
└── FTEST/
└── FTEST-01_user_workflow/
└── FTEST-01_user_workflow.md ✓ 有效无效结构示例:
docs/10_TSPEC/
├── UTEST/
│ ├── UTEST-01_auth_service.md ✗ 未存放在嵌套文件夹中错误代码:
| 代码 | 严重程度 | 描述 |
|---|---|---|
| TSPEC-E030 | 错误 | TSPEC未存放在嵌套文件夹中(阻塞性检查) |
| TSPEC-E031 | 错误 | 文件夹名称与TSPEC ID不匹配 |
| TSPEC-E032 | 错误 | 文件名与文件夹名称不匹配 |
| TSPEC-E033 | 错误 | TSPEC未存放在正确的类型子目录中 |
此检查为阻塞性检查 - TSPEC必须通过文件夹结构验证后,才能进行其他检查。
1. Metadata Validation
1. 元数据验证
yaml
Required custom_fields:
document_type: ["tspec", "utest", "itest", "stest", "ftest", "template"]
artifact_type: "TSPEC"
layer: 10
architecture_approaches: [array format]
priority: ["primary", "shared", "fallback"]
development_status: ["active", "draft", "deprecated", "reference"]
Required tags:
- tspec (or utest, itest, stest, ftest)
- layer-10-artifact
Forbidden tag patterns:
- "^test-specification$"
- "^tspec-\\d{3}$"
- "^unit-test$"
- "^integration-test$"yaml
必填custom_fields:
document_type: ["tspec", "utest", "itest", "stest", "ftest", "template"]
artifact_type: "TSPEC"
layer: 10
architecture_approaches: [数组格式]
priority: ["primary", "shared", "fallback"]
development_status: ["active", "draft", "deprecated", "reference"]
必填tags:
- tspec(或utest、itest、stest、ftest)
- layer-10-artifact
禁用标签模式:
- "^test-specification$"
- "^tspec-\\d{3}$"
- "^unit-test$"
- "^integration-test$"2. Structure Validation
2. 结构验证
Required Sections (All TSPEC Types):
| Section | Title | Required |
|---|---|---|
| 1 | Document Control | MANDATORY |
| 2 | Test Scope | MANDATORY |
| 3 | Test Case Index | MANDATORY |
| 4 | Test Case Details | MANDATORY |
| 5 | Coverage Matrix | MANDATORY |
| 6 | Traceability | MANDATORY |
| 7 | Error Cases | MANDATORY |
Section Format: (numbered H2 headings)
## N. Title所有TSPEC类型必填章节:
| 章节 | 标题 | 必填性 |
|---|---|---|
| 1 | 文档控制 | 强制 |
| 2 | 测试范围 | 强制 |
| 3 | 测试用例索引 | 强制 |
| 4 | 测试用例详情 | 强制 |
| 5 | 覆盖矩阵 | 强制 |
| 6 | 追溯性 | 强制 |
| 7 | 错误场景 | 强制 |
章节格式:(带编号的H2标题)
## N. 标题3. Document Control Required Fields
3. 文档控制必填字段
| Field | Description | Required |
|---|---|---|
| Status | Draft/Review/Approved/Implemented | MANDATORY |
| Version | Semantic versioning (X.Y.Z) | MANDATORY |
| Date Created | YYYY-MM-DD format | MANDATORY |
| Last Updated | YYYY-MM-DD format | MANDATORY |
| Author | Test author name | MANDATORY |
| Component | Component/module under test | MANDATORY |
| SPEC Reference | SPEC-NN | MANDATORY |
| Coverage Target | XX% | MANDATORY |
| TASKS-Ready Score | | MANDATORY |
| 字段 | 描述 | 必填性 |
|---|---|---|
| 状态 | 草稿/评审/已批准/已实现 | 强制 |
| 版本 | 语义化版本(X.Y.Z) | 强制 |
| 创建日期 | YYYY-MM-DD格式 | 强制 |
| 最后更新日期 | YYYY-MM-DD格式 | 强制 |
| 作者 | 测试文档作者姓名 | 强制 |
| 组件 | 被测组件/模块 | 强制 |
| SPEC参考 | SPEC-NN | 强制 |
| 覆盖目标 | XX% | 强制 |
| TASKS就绪评分 | | 强制 |
4. Test Type Element Codes
4. 测试类型元素代码
| Test Type | Code | Abbreviation | TASKS-Ready Target |
|---|---|---|---|
| Unit Test | 40 | UTEST | >=90% |
| Integration Test | 41 | ITEST | >=85% |
| Smoke Test | 42 | STEST | 100% |
| Functional Test | 43 | FTEST | >=85% |
| 测试类型 | 代码 | 缩写 | TASKS就绪目标 |
|---|---|---|---|
| 单元测试 | 40 | UTEST | >=90% |
| 集成测试 | 41 | ITEST | >=85% |
| 冒烟测试 | 42 | STEST | 100% |
| 功能测试 | 43 | FTEST | >=85% |
5. Element ID Format
5. 元素ID格式
Pattern: (4 segments, dot-separated)
TSPEC.{DOC_NUM}.{ELEM_TYPE}.{SEQ}Valid Element Type Codes: 40, 41, 42, 43 only
Examples:
| Element ID | Valid | Test Type |
|---|---|---|
| Yes | Unit Test |
| Yes | Integration Test |
| Yes | Smoke Test |
| Yes | Functional Test |
| No | Invalid code (44 not in 40-43) |
| No | Legacy pattern |
| No | Legacy pattern |
Deprecated Patterns (Do NOT use):
- - Use
TC-XXXinsteadTSPEC.NN.TT.SS - - Use
UT-XXXinsteadTSPEC.NN.40.SS - - Use
IT-XXXinsteadTSPEC.NN.41.SS - - Use
ST-XXXinsteadTSPEC.NN.42.SS - - Use
FT-XXXinsteadTSPEC.NN.43.SS
格式:(4个段,点分隔)
TSPEC.{DOC_NUM}.{ELEM_TYPE}.{SEQ}有效元素类型代码:仅40、41、42、43
示例:
| 元素ID | 是否有效 | 测试类型 |
|---|---|---|
| 是 | 单元测试 |
| 是 | 集成测试 |
| 是 | 冒烟测试 |
| 是 | 功能测试 |
| 否 | 无效代码(44不在40-43范围内) |
| 否 | 旧格式 |
| 否 | 旧格式 |
已弃用格式(禁止使用):
- - 请改用
TC-XXXTSPEC.NN.TT.SS - - 请改用
UT-XXXTSPEC.NN.40.SS - - 请改用
IT-XXXTSPEC.NN.41.SS - - 请改用
ST-XXXTSPEC.NN.42.SS - - 请改用
FT-XXXTSPEC.NN.43.SS
6. Naming Compliance (doc-naming integration)
6. 命名合规性(集成doc-naming)
File Naming Patterns:
| Pattern | Example | Document Type |
|---|---|---|
| | Unit Test |
| | Integration Test |
| | Smoke Test |
| | Functional Test |
Directory Structure:
docs/10_TSPEC/
UTEST/
UTEST-01_{slug}.md
ITEST/
ITEST-01_{slug}.md
STEST/
STEST-01_{slug}.md
FTEST/
FTEST-01_{slug}.md
TSPEC-00_TRACEABILITY_MATRIX.md文件命名格式:
| 格式 | 示例 | 文档类型 |
|---|---|---|
| | 单元测试 |
| | 集成测试 |
| | 冒烟测试 |
| | 功能测试 |
目录结构:
docs/10_TSPEC/
UTEST/
UTEST-01_{slug}.md
ITEST/
ITEST-01_{slug}.md
STEST/
STEST-01_{slug}.md
FTEST/
FTEST-01_{slug}.md
TSPEC-00_TRACEABILITY_MATRIX.md7. Cumulative Tagging Requirements
7. 累积标签要求
Layer 10 Cumulative Tags (8 Required):
markdown
@brd: BRD.NN.TT.SS
@prd: PRD.NN.TT.SS
@ears: EARS.NN.25.SS
@bdd: BDD.NN.14.SS
@adr: ADR-NN
@sys: SYS.NN.26.SS
@req: REQ.NN.27.SS
@spec: SPEC-NNOptional (9th tag if CTR exists):
markdown
@ctr: CTR-NNTag Format Convention:
| Notation | Format | Artifacts |
|---|---|---|
| Dash | TYPE-NN | ADR, SPEC, CTR |
| Dot | TYPE.NN.TT.SS | BRD, PRD, EARS, BDD, SYS, REQ, TSPEC |
Layer 10累积标签(8个必填):
markdown
@brd: BRD.NN.TT.SS
@prd: PRD.NN.TT.SS
@ears: EARS.NN.25.SS
@bdd: BDD.NN.14.SS
@adr: ADR-NN
@sys: SYS.NN.26.SS
@req: REQ.NN.27.SS
@spec: SPEC-NN可选标签(若存在CTR则需第9个):
markdown
@ctr: CTR-NN标签格式约定:
| 符号 | 格式 | 适用工件 |
|---|---|---|
| 短横线 | TYPE-NN | ADR、SPEC、CTR |
| 点 | TYPE.NN.TT.SS | BRD、PRD、EARS、BDD、SYS、REQ、TSPEC |
8. Test Case Format Requirements
8. 测试用例格式要求
Each test case MUST include:
markdown
undefined每个测试用例必须包含:
markdown
undefinedTSPEC.NN.TT.SS: [Test Name]
TSPEC.NN.TT.SS: [测试名称]
Category: [Logic] | [State] | [Validation] | [Edge] | [Integration] | [Critical Path]
Traceability:
- @req: REQ.NN.27.XX
- @spec: SPEC-NN (Section X.Y)
Input/Output Table:
| Input | Expected Output | Notes |
|---|---|---|
| | Happy path |
| | Empty input |
Pseudocode:
GIVEN valid input parameters
WHEN function_under_test(param1) is called
THEN result equals expected_output
AND no side effects occur
Error Cases:
| Error Condition | Expected Behavior |
|---|---|
| Invalid input type | Raise |
undefined分类:[逻辑] | [状态] | [验证] | [边界] | [集成] | [关键路径]
追溯性:
- @req: REQ.NN.27.XX
- @spec: SPEC-NN(章节X.Y)
输入/输出表:
| 输入 | 预期输出 | 备注 |
|---|---|---|
| | 正常路径 |
| | 空输入 |
伪代码:
GIVEN 有效输入参数
WHEN 调用function_under_test(param1)
THEN 结果等于预期输出
AND 无副作用产生
错误场景:
| 错误条件 | 预期行为 |
|---|---|
| 无效输入类型 | 抛出 |
undefined9. Coverage Matrix Validation
9. 覆盖矩阵验证
Required Format:
markdown
undefined必填格式:
markdown
undefinedCoverage Matrix
覆盖矩阵
| REQ ID | REQ Title | Test IDs | Coverage |
|---|---|---|---|
| REQ.NN.27.01 | [Title] | TSPEC.NN.40.01, TSPEC.NN.40.03 | Covered |
| REQ.NN.27.02 | [Title] | - | NOT COVERED |
Coverage Summary:
- Total REQ elements: [N]
- Covered: [N]
- Coverage: [XX]%
undefined| REQ ID | REQ标题 | 测试ID | 覆盖状态 |
|---|---|---|---|
| REQ.NN.27.01 | [标题] | TSPEC.NN.40.01, TSPEC.NN.40.03 | 已覆盖 |
| REQ.NN.27.02 | [标题] | - | 未覆盖 |
覆盖摘要:
- 总REQ元素数:[N]
- 已覆盖:[N]
- 覆盖率:[XX]%
undefined10. Type-Specific Requirements
10. 类型特定要求
UTEST (Unit Tests - Code 40)
UTEST(单元测试 - 代码40)
| Requirement | Value |
|---|---|
| TASKS-Ready Target | >=90% |
| Required Tags | @req, @spec |
| Test Categories | [Logic], [State], [Validation], [Edge] |
| Function Coverage | >=90% |
| Branch Coverage | >=80% |
| 要求 | 值 |
|---|---|
| TASKS就绪目标 | >=90% |
| 必填标签 | @req、@spec |
| 测试分类 | [逻辑]、[状态]、[验证]、[边界] |
| 函数覆盖率 | >=90% |
| 分支覆盖率 | >=80% |
ITEST (Integration Tests - Code 41)
ITEST(集成测试 - 代码41)
| Requirement | Value |
|---|---|
| TASKS-Ready Target | >=85% |
| Required Tags | @ctr, @sys, @spec |
| Test Categories | [Integration], [Contract], [Sequence] |
| Sequence Diagrams | Required for complex interactions |
| Mock Strategy | Must be documented |
| 要求 | 值 |
|---|---|
| TASKS就绪目标 | >=85% |
| 必填标签 | @ctr、@sys、@spec |
| 测试分类 | [集成]、[契约]、[序列] |
| 序列图 | 复杂交互场景必填 |
| Mock策略 | 必须文档化 |
STEST (Smoke Tests - Code 42)
STEST(冒烟测试 - 代码42)
| Requirement | Value |
|---|---|
| TASKS-Ready Target | 100% |
| Required Tags | @ears, @bdd, @req |
| Test Categories | [Critical Path], [Health Check], [Deployment] |
| Execution Time | <5 minutes total |
| Critical Path Coverage | 100% |
| 要求 | 值 |
|---|---|
| TASKS就绪目标 | 100% |
| 必填标签 | @ears、@bdd、@req |
| 测试分类 | [关键路径]、[健康检查]、[部署] |
| 执行时间 | 总时长<5分钟 |
| 关键路径覆盖率 | 100% |
FTEST (Functional Tests - Code 43)
FTEST(功能测试 - 代码43)
| Requirement | Value |
|---|---|
| TASKS-Ready Target | >=85% |
| Required Tags | @sys, @threshold |
| Test Categories | [Functional], [Scenario], [End-to-End] |
| SYS Coverage | Required |
| Threshold References | Must include @threshold tags |
| 要求 | 值 |
|---|---|
| TASKS就绪目标 | >=85% |
| 必填标签 | @sys、@threshold |
| 测试分类 | [功能]、[场景]、[端到端] |
| SYS覆盖率 | 必填 |
| 阈值参考 | 必须包含@threshold标签 |
Error Codes
错误代码
| Code | Severity | Description |
|---|---|---|
| TSPEC-E001 | ERROR | Missing required tag 'tspec' (or type-specific: utest/itest/stest/ftest) |
| TSPEC-E002 | ERROR | Missing required tag 'layer-10-artifact' |
| TSPEC-E003 | ERROR | Invalid document_type value |
| TSPEC-E004 | ERROR | Invalid architecture_approaches format (must be array) |
| TSPEC-E005 | ERROR | Forbidden tag pattern detected |
| TSPEC-E006 | ERROR | Missing required section |
| TSPEC-E007 | ERROR | Multiple H1 headings detected |
| TSPEC-E008 | ERROR | Section numbering not sequential |
| TSPEC-E009 | ERROR | Document Control missing required fields |
| TSPEC-E010 | ERROR | Missing Test Case Details (Section 4) |
| TSPEC-E011 | ERROR | Invalid element type code (must be 40-43) |
| TSPEC-E012 | ERROR | Missing cumulative tags (requires 8: @brd through @spec) |
| TSPEC-E013 | ERROR | Invalid element ID format (not TSPEC.NN.TT.SS) |
| TSPEC-E014 | ERROR | Missing upstream @spec tag |
| TSPEC-E015 | ERROR | Missing Coverage Matrix (Section 5) |
| TSPEC-E016 | ERROR | Missing SPEC Reference in Document Control |
| TSPEC-E017 | ERROR | Deprecated ID pattern used (TC-XXX, UT-XXX, IT-XXX, ST-XXX, FT-XXX) |
| TSPEC-E018 | ERROR | Element type code mismatch (e.g., using 40 in ITEST document) |
| TSPEC-E019 | ERROR | Missing I/O table for test case |
| TSPEC-E020 | ERROR | Missing traceability section |
| TSPEC-W001 | WARNING | File name does not match format {TYPE}-NN_{slug}.md |
| TSPEC-W002 | WARNING | Missing pseudocode for complex test case |
| TSPEC-W003 | WARNING | TASKS-Ready Score below type-specific target |
| TSPEC-W004 | WARNING | Coverage percentage below target |
| TSPEC-W005 | WARNING | Missing error cases documentation |
| TSPEC-W006 | WARNING | Missing test fixtures documentation |
| TSPEC-W007 | WARNING | Missing mock strategy (ITEST only) |
| TSPEC-W008 | WARNING | Execution time exceeds 5 minutes (STEST only) |
| TSPEC-W009 | WARNING | Missing @threshold tags (FTEST only) |
| TSPEC-W010 | WARNING | Missing sequence diagrams for complex interactions (ITEST only) |
| TSPEC-I001 | INFO | Consider adding performance targets for test execution |
| TSPEC-I002 | INFO | Consider adding test data setup documentation |
| TSPEC-I003 | INFO | Consider adding CI/CD integration notes |
| 代码 | 严重程度 | 描述 |
|---|---|---|
| TSPEC-E001 | 错误 | 缺失必填标签'tspec'(或类型特定标签:utest/itest/stest/ftest) |
| TSPEC-E002 | 错误 | 缺失必填标签'layer-10-artifact' |
| TSPEC-E003 | 错误 | document_type值无效 |
| TSPEC-E004 | 错误 | architecture_approaches格式无效(必须为数组) |
| TSPEC-E005 | 错误 | 检测到禁用的标签模式 |
| TSPEC-E006 | 错误 | 缺失必填章节 |
| TSPEC-E007 | 错误 | 检测到多个H1标题 |
| TSPEC-E008 | 错误 | 章节编号不连续 |
| TSPEC-E009 | 错误 | 文档控制缺失必填字段 |
| TSPEC-E010 | 错误 | 缺失测试用例详情(章节4) |
| TSPEC-E011 | 错误 | 元素类型代码无效(必须为40-43) |
| TSPEC-E012 | 错误 | 缺失累积标签(需8个:@brd至@spec) |
| TSPEC-E013 | 错误 | 元素ID格式无效(非TSPEC.NN.TT.SS) |
| TSPEC-E014 | 错误 | 缺失上游@spec标签 |
| TSPEC-E015 | 错误 | 缺失覆盖矩阵(章节5) |
| TSPEC-E016 | 错误 | 文档控制中缺失SPEC参考 |
| TSPEC-E017 | 错误 | 使用了已弃用的ID格式(TC-XXX、UT-XXX、IT-XXX、ST-XXX、FT-XXX) |
| TSPEC-E018 | 错误 | 元素类型代码不匹配(例如在ITEST文档中使用40) |
| TSPEC-E019 | 错误 | 测试用例缺失输入输出表 |
| TSPEC-E020 | 错误 | 缺失追溯性章节 |
| TSPEC-W001 | 警告 | 文件名不符合{TYPE}-NN_{slug}.md格式 |
| TSPEC-W002 | 警告 | 复杂测试用例缺失伪代码 |
| TSPEC-W003 | 警告 | TASKS就绪评分未达类型特定目标 |
| TSPEC-W004 | 警告 | 覆盖率未达目标 |
| TSPEC-W005 | 警告 | 缺失错误场景文档 |
| TSPEC-W006 | 警告 | 缺失测试夹具文档 |
| TSPEC-W007 | 警告 | 缺失Mock策略(仅ITEST) |
| TSPEC-W008 | 警告 | 执行时间超过5分钟(仅STEST) |
| TSPEC-W009 | 警告 | 缺失@threshold标签(仅FTEST) |
| TSPEC-W010 | 警告 | 复杂交互场景缺失序列图(仅ITEST) |
| TSPEC-I001 | 信息 | 建议添加测试执行性能目标 |
| TSPEC-I002 | 信息 | 建议添加测试数据准备文档 |
| TSPEC-I003 | 信息 | 建议添加CI/CD集成说明 |
Validation Commands
验证命令
bash
undefinedbash
undefinedValidate single TSPEC document
验证单个TSPEC文档
python ai_dev_flow/scripts/validate_tspec.py docs/10_TSPEC/UTEST/UTEST-01_example.md
python ai_dev_flow/scripts/validate_tspec.py docs/10_TSPEC/UTEST/UTEST-01_example.md
Validate all TSPEC documents in directory
验证目录下所有TSPEC文档
python ai_dev_flow/scripts/validate_tspec.py docs/10_TSPEC/
python ai_dev_flow/scripts/validate_tspec.py docs/10_TSPEC/
Validate by type
按类型验证
python ai_dev_flow/10_TSPEC/scripts/validate_utest.py docs/10_TSPEC/UTEST/
python ai_dev_flow/10_TSPEC/scripts/validate_itest.py docs/10_TSPEC/ITEST/
python ai_dev_flow/10_TSPEC/scripts/validate_stest.py docs/10_TSPEC/STEST/
python ai_dev_flow/10_TSPEC/scripts/validate_ftest.py docs/10_TSPEC/FTEST/
python ai_dev_flow/10_TSPEC/scripts/validate_utest.py docs/10_TSPEC/UTEST/
python ai_dev_flow/10_TSPEC/scripts/validate_itest.py docs/10_TSPEC/ITEST/
python ai_dev_flow/10_TSPEC/scripts/validate_stest.py docs/10_TSPEC/STEST/
python ai_dev_flow/10_TSPEC/scripts/validate_ftest.py docs/10_TSPEC/FTEST/
Validate all TSPEC types
验证所有TSPEC类型
bash ai_dev_flow/10_TSPEC/scripts/validate_all_tspec.sh docs/10_TSPEC/
bash ai_dev_flow/10_TSPEC/scripts/validate_all_tspec.sh docs/10_TSPEC/
Quality score validation
质量分数验证
bash ai_dev_flow/10_TSPEC/scripts/validate_tspec_quality_score.sh docs/10_TSPEC/
bash ai_dev_flow/10_TSPEC/scripts/validate_tspec_quality_score.sh docs/10_TSPEC/
Validate with verbose output
启用 verbose 输出验证
python ai_dev_flow/scripts/validate_tspec.py docs/10_TSPEC/ --verbose
python ai_dev_flow/scripts/validate_tspec.py docs/10_TSPEC/ --verbose
Validate with auto-fix
启用自动修复验证
python ai_dev_flow/scripts/validate_tspec.py docs/10_TSPEC/ --auto-fix
python ai_dev_flow/scripts/validate_tspec.py docs/10_TSPEC/ --auto-fix
Cross-document validation
跨文档验证
python ai_dev_flow/scripts/validate_cross_document.py --document docs/10_TSPEC/UTEST/UTEST-01.md --auto-fix
python ai_dev_flow/scripts/validate_cross_document.py --document docs/10_TSPEC/UTEST/UTEST-01.md --auto-fix
Cumulative tagging validation
累积标签验证
python ai_dev_flow/scripts/validate_tags_against_docs.py
--artifact UTEST-01
--expected-layers brd,prd,ears,bdd,adr,sys,req,spec
--strict
--artifact UTEST-01
--expected-layers brd,prd,ears,bdd,adr,sys,req,spec
--strict
undefinedpython ai_dev_flow/scripts/validate_tags_against_docs.py
--artifact UTEST-01
--expected-layers brd,prd,ears,bdd,adr,sys,req,spec
--strict
--artifact UTEST-01
--expected-layers brd,prd,ears,bdd,adr,sys,req,spec
--strict
undefinedValidation Workflow
验证流程
- Parse YAML frontmatter
- Check required metadata fields (document_type, artifact_type, layer)
- Validate tag taxonomy (tspec/utest/itest/stest/ftest, layer-10-artifact)
- Verify section structure (7 required sections)
- Validate Document Control table completeness
- Check SPEC Reference presence
- Validate element ID format (TSPEC.NN.TT.SS)
- Verify element type code matches document type:
- UTEST: code 40
- ITEST: code 41
- STEST: code 42
- FTEST: code 43
- Validate cumulative tags (8 required: @brd through @spec)
- Check Coverage Matrix completeness
- Validate I/O tables present for all test cases
- Check pseudocode for complex tests
- Verify error cases documented
- Calculate TASKS-Ready Score
- Verify file naming convention
- Detect deprecated patterns (TC-XXX, UT-XXX, etc.)
- Run type-specific validations
- Generate validation report
- 解析YAML前置元数据
- 检查必填元数据字段(document_type、artifact_type、layer)
- 验证标签分类(tspec/utest/itest/stest/ftest、layer-10-artifact)
- 验证章节结构(7个必填章节)
- 验证文档控制表完整性
- 检查SPEC参考是否存在
- 验证元素ID格式(TSPEC.NN.TT.SS)
- 验证元素类型代码与文档类型匹配:
- UTEST:代码40
- ITEST:代码41
- STEST:代码42
- FTEST:代码43
- 验证累积标签(8个必填:@brd至@spec)
- 检查覆盖矩阵完整性
- 验证所有测试用例是否包含输入输出表
- 检查复杂测试是否包含伪代码
- 验证是否记录了错误场景
- 计算TASKS就绪评分
- 验证文件命名规范
- 检测已弃用的格式(TC-XXX、UT-XXX等)
- 执行类型特定验证
- 生成验证报告
Auto-Fix Actions
自动修复操作
| Issue | Auto-Fix Action |
|---|---|
| Missing cumulative tags | Add with upstream document reference |
| Invalid element ID format | Convert to TSPEC.NN.TT.SS format |
| Missing traceability section | Insert from template |
| Missing Document Control fields | Add placeholder fields |
| Deprecated ID patterns | Convert to unified format (TC-001 to TSPEC.NN.TT.01) |
| Wrong element type code | Correct based on document type (UTEST=40, ITEST=41, etc.) |
| Missing Coverage Matrix | Insert template structure |
| Missing TASKS-Ready Score | Calculate and insert |
| 问题 | 自动修复动作 |
|---|---|
| 缺失累积标签 | 添加上游文档引用的标签 |
| 无效元素ID格式 | 转换为TSPEC.NN.TT.SS格式 |
| 缺失追溯性章节 | 从模板插入 |
| 缺失文档控制字段 | 添加占位符字段 |
| 已弃用的ID格式 | 转换为统一格式(如TC-001转为TSPEC.NN.TT.01) |
| 错误的元素类型代码 | 根据文档类型修正(UTEST=40、ITEST=41等) |
| 缺失覆盖矩阵 | 插入模板结构 |
| 缺失TASKS就绪评分 | 计算并插入 |
Integration
集成
- Invoked by: doc-flow, doc-tspec (post-creation), quality-advisor
- Feeds into: trace-check (cross-document validation)
- Reports to: quality-advisor
- Validates output from: doc-tspec skill
- 调用方:doc-flow、doc-tspec(创建后)、quality-advisor
- 输出至:trace-check(跨文档验证)
- 报告至:quality-advisor
- 验证输出来源:doc-tspec技能
Output Format
输出格式
TSPEC Validation Report
=======================
Document: UTEST-01_auth_service_unit.md
Type: UTEST (Unit Test)
Status: PASS/FAIL
TASKS-Ready Score: 92% (Target: >=90%) [PASS]
Cumulative Tags:
@brd: BRD.01.01.01 [PRESENT]
@prd: PRD.01.07.01 [PRESENT]
@ears: EARS.01.25.01 [PRESENT]
@bdd: BDD.01.14.01 [PRESENT]
@adr: ADR-01 [PRESENT]
@sys: SYS.01.26.01 [PRESENT]
@req: REQ.01.27.01 [PRESENT]
@spec: SPEC-01 [PRESENT]
Tags: 8/8 [COMPLETE]
Coverage Summary:
REQ Elements: 15/18 covered (83%)
Target: >=90%
Status: [BELOW TARGET]
Test Cases: 12
Element IDs Valid: 12/12
I/O Tables Present: 11/12
Pseudocode Present: 10/12
Errors: 0
Warnings: 3
Info: 1
[TSPEC-W002] WARNING: Missing pseudocode for TSPEC.01.40.05
[TSPEC-W004] WARNING: Coverage percentage (83%) below target (90%)
[TSPEC-W019] WARNING: Missing I/O table for TSPEC.01.40.12
[TSPEC-I002] INFO: Consider adding test data setup documentationTSPEC验证报告
=======================
文档:UTEST-01_auth_service_unit.md
类型:UTEST(单元测试)
状态:通过/失败
TASKS就绪评分:92%(目标:≥90%)[通过]
累积标签:
@brd: BRD.01.01.01 [已存在]
@prd: PRD.01.07.01 [已存在]
@ears: EARS.01.25.01 [已存在]
@bdd: BDD.01.14.01 [已存在]
@adr: ADR-01 [已存在]
@sys: SYS.01.26.01 [已存在]
@req: REQ.01.27.01 [已存在]
@spec: SPEC-01 [已存在]
标签:8/8 [完整]
覆盖摘要:
REQ元素:15/18已覆盖(83%)
目标:≥90%
状态:[未达目标]
测试用例:12个
元素ID有效:12/12
输入输出表已存在:11/12
伪代码已存在:10/12
错误:0个
警告:3个
信息:1个
[TSPEC-W002] 警告:TSPEC.01.40.05缺失伪代码
[TSPEC-W004] 警告:覆盖率(83%)未达目标(90%)
[TSPEC-W019] 警告:TSPEC.01.40.12缺失输入输出表
[TSPEC-I002] 信息:建议添加测试数据准备文档Related Resources
相关资源
- TSPEC Skill:
.claude/skills/doc-tspec/SKILL.md - Naming Standards: (element IDs, element type codes)
.claude/skills/doc-naming/SKILL.md - Quality Advisor:
.claude/skills/quality-advisor/SKILL.md - TSPEC Index:
ai_dev_flow/10_TSPEC/TSPEC-00_index.md - Traceability Matrix Template:
ai_dev_flow/10_TSPEC/TSPEC-00_TRACEABILITY_MATRIX-TEMPLATE.md - Shared Standards:
.claude/skills/doc-flow/SHARED_CONTENT.md
- TSPEC技能:
.claude/skills/doc-tspec/SKILL.md - 命名标准:(元素ID、元素类型代码)
.claude/skills/doc-naming/SKILL.md - 质量顾问:
.claude/skills/quality-advisor/SKILL.md - TSPEC索引:
ai_dev_flow/10_TSPEC/TSPEC-00_index.md - 追溯矩阵模板:
ai_dev_flow/10_TSPEC/TSPEC-00_TRACEABILITY_MATRIX-TEMPLATE.md - 共享标准:
.claude/skills/doc-flow/SHARED_CONTENT.md
Templates
模板
ai_dev_flow/10_TSPEC/UTEST/UTEST-MVP-TEMPLATE.mdai_dev_flow/10_TSPEC/ITEST/ITEST-MVP-TEMPLATE.mdai_dev_flow/10_TSPEC/STEST/STEST-MVP-TEMPLATE.mdai_dev_flow/10_TSPEC/FTEST/FTEST-MVP-TEMPLATE.md
ai_dev_flow/10_TSPEC/UTEST/UTEST-MVP-TEMPLATE.mdai_dev_flow/10_TSPEC/ITEST/ITEST-MVP-TEMPLATE.mdai_dev_flow/10_TSPEC/STEST/STEST-MVP-TEMPLATE.mdai_dev_flow/10_TSPEC/FTEST/FTEST-MVP-TEMPLATE.md
Quality Gates
质量门
ai_dev_flow/10_TSPEC/UTEST/UTEST_MVP_QUALITY_GATES.mdai_dev_flow/10_TSPEC/ITEST/ITEST_MVP_QUALITY_GATES.mdai_dev_flow/10_TSPEC/STEST/STEST_MVP_QUALITY_GATES.mdai_dev_flow/10_TSPEC/FTEST/FTEST_MVP_QUALITY_GATES.md
ai_dev_flow/10_TSPEC/UTEST/UTEST_MVP_QUALITY_GATES.mdai_dev_flow/10_TSPEC/ITEST/ITEST_MVP_QUALITY_GATES.mdai_dev_flow/10_TSPEC/STEST/STEST_MVP_QUALITY_GATES.mdai_dev_flow/10_TSPEC/FTEST/FTEST_MVP_QUALITY_GATES.md
Version History
版本历史
| Version | Date | Changes |
|---|---|---|
| 1.1 | 2026-02-11 | Nested Folder Rule: Added Section 0 Folder Structure Validation (BLOCKING); TSPEC must be in |
| 1.0 | 2026-02-08 | Initial release: Full TSPEC validation for UTEST/ITEST/STEST/FTEST (codes 40-43), cumulative tagging (8 required), type-specific requirements, doc-naming integration |
| 版本 | 日期 | 变更 |
|---|---|---|
| 1.1 | 2026-02-11 | 嵌套文件夹规则:新增第0节文件夹结构验证(阻塞性检查);TSPEC必须存放在 |
| 1.0 | 2026-02-08 | 初始版本:全面支持UTEST/ITEST/STEST/FTEST(代码40-43)的TSPEC验证、累积标签(8个必填)、类型特定要求、文档命名集成 |