spec-test-suites

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Spec 测试套件(V3:Suites)

Spec Test Suite (V3: Suites)

usecase.md
里的用例编号组织成可执行集合(smoke / regression / targeted),并明确 执行顺序、依赖与阻断口径
权威口径:
design/aisdlc_spec_verification.md

Organize the test case numbers in
usecase.md
into executable sets (smoke / regression / targeted), and clarify execution order, dependencies and blocking rules.
Official Specification:
design/aisdlc_spec_verification.md

硬门禁(必须遵守)

Hard Access Control (Must Comply)

  • 先定位再读写:必须先运行
    spec-context
    得到并回显
    FEATURE_DIR=...
    ;失败即停止,禁止猜路径。
  • 必读项目级 memory
    project/memory/product.md
    project/memory/tech.md
    project/memory/glossary.md
    ;读不到必须写
    CONTEXT GAP
  • 输入依赖
    {FEATURE_DIR}/verification/usecase.md
    {FEATURE_DIR}/verification/test-plan.md
    应已存在;缺失时必须写
    CONTEXT GAP
    并停止(避免凭空编排)。
  • 套件必须可定位:套件条目必须指向具体用例编号(禁止“覆盖登录流程”这类模糊描述)。
  • 禁止越权路由:完成后只输出
    ROUTER_SUMMARY
    ,下一步由
    using-aisdlc
    决策。

  • Locate before reading/writing: You must first run
    spec-context
    to get and echo
    FEATURE_DIR=...
    ; stop immediately if it fails, guessing the path is prohibited.
  • Mandatory reading of project-level memory:
    project/memory/product.md
    ,
    project/memory/tech.md
    ,
    project/memory/glossary.md
    ; if you cannot read them, you must write
    CONTEXT GAP
    .
  • Input dependencies:
    {FEATURE_DIR}/verification/usecase.md
    and
    {FEATURE_DIR}/verification/test-plan.md
    should already exist; if they are missing, you must write
    CONTEXT GAP
    and stop (to avoid out-of-thin-air orchestration).
  • Suite must be locatable: Suite entries must point to specific test case numbers (vague descriptions such as "cover login process" are prohibited).
  • Unauthorized routing is prohibited: Only output
    ROUTER_SUMMARY
    after completion, the next step is decided by
    using-aisdlc
    .

红旗清单(出现任一条就停止)

Red Flag Checklist (Stop if any item occurs)

  • 想在没有
    usecase.md
    的情况下“凭经验”编套件
  • smoke 套件没有“失败即阻断交付”的清晰口径
  • 套件条目不能落到具体
    TC-*
    编号

  • Trying to orchestrate a suite "based on experience" without
    usecase.md
  • The smoke suite does not have a clear rule of "failure blocks delivery"
  • Suite entries cannot be mapped to specific
    TC-*
    numbers

唯一做法(PowerShell)

Only Operation (PowerShell)

1) 获取
FEATURE_DIR

1) Get
FEATURE_DIR

powershell
. ".\skills\spec-context\scripts\spec-common.ps1"
$context = Get-SpecContext
$FEATURE_DIR = $context.FEATURE_DIR
Write-Host "FEATURE_DIR=$FEATURE_DIR"
powershell
. ".\skills\spec-context\scripts\spec-common.ps1"
$context = Get-SpecContext
$FEATURE_DIR = $context.FEATURE_DIR
Write-Host "FEATURE_DIR=$FEATURE_DIR"

2) 目标输出路径

2) Target Output Path

powershell
$out = Join-Path $FEATURE_DIR "verification/suites.md"
Write-Host "OUTPUT=$out"

powershell
$out = Join-Path $FEATURE_DIR "verification/suites.md"
Write-Host "OUTPUT=$out"

输出物最小结构(建议)

Minimum Output Structure (Recommended)

写入
{FEATURE_DIR}/verification/suites.md
,至少包含:
  • Smoke(冒烟)
    • 目标:关键路径快速阻断
    • 预计时长
    • 阻断规则(与
      test-plan.md
      的准出标准一致)
    • 用例清单:
      TC-...
      (列表)
  • Targeted(定向回归)
    • 触发条件(例如:命中 impact-analysis 的模块/风险)
    • 用例清单:
      TC-...
  • Regression(回归)
    • 覆盖范围说明(按模块/能力/风险)
    • 用例清单:
      TC-...
  • 执行顺序与依赖
    • 推荐顺序:smoke → targeted → regression(可根据项目约束调整,但必须写清楚)

Write to
{FEATURE_DIR}/verification/suites.md
, which should include at least:
  • Smoke
    • Objective: Fast blocking of critical paths
    • Estimated duration
    • Blocking rules (consistent with the release criteria in
      test-plan.md
      )
    • Test case list:
      TC-...
      (list)
  • Targeted
    • Trigger conditions (e.g. modules/risks hit by impact-analysis)
    • Test case list:
      TC-...
  • Regression
    • Coverage description (by module/capability/risk)
    • Test case list:
      TC-...
  • Execution order and dependencies
    • Recommended order: smoke → targeted → regression (can be adjusted according to project constraints, but must be clearly stated)

DoD 自检(V3-DoD)

DoD Self-Check (V3-DoD)

  • 套件中的每条目都能定位到具体
    TC-*
    编号
  • smoke 套件有明确“失败即阻断交付”的口径,且与
    test-plan.md
    一致
  • targeted 套件能追溯到影响面/风险来源(如有
    requirements/solution.md#impact-analysis

  • Each entry in the suite can be located to a specific
    TC-*
    number
  • The smoke suite has a clear rule of "failure blocks delivery", which is consistent with that in
    test-plan.md
  • The targeted suite can be traced to the impact scope/risk source (if any, e.g.
    requirements/solution.md#impact-analysis
    )

完成后输出与自动路由(必须执行)

Output and Automatic Routing after Completion (Mandatory)

suites.md
落盘后,必须完成以下动作(按顺序,不可省略):
  1. 输出 ROUTER_SUMMARY(YAML 形态,供 Router 决策):
yaml
ROUTER_SUMMARY:
  stage: V3
  artifacts:
    - "{FEATURE_DIR}/verification/suites.md"
  needs_human_review: false
  blocked: false
  block_reason: ""
  notes: "软检查点:测试套件已生成/更新;Router 可继续自动推进到 V4(spec-test-execute)"
  1. 立即执行
    using-aisdlc
    :将上述
    ROUTER_SUMMARY
    作为路由输入传递给 using-aisdlc,由 Router 判定下一步并自动推进(无需等待用户说「继续」)。
    • 若 Router 判定可自动续跑:在同一轮对话内继续执行下一步 worker skill(如 V4 等)
    • 若 Router 触发硬中断:停下并输出阻断原因、需要的输入、候选下一步
  2. 对话输出:在调用 using-aisdlc 前,可简短说明「本阶段产物已落盘,正在调用 using-aisdlc 路由下一步。」

name: spec-test-suites description: Use when 需要在 sdlc-dev 的 Spec Pack 中生成/更新 verification 阶段 V3 测试套件编排(verification/suites.md),以 smoke/regression/targeted 组织用例并明确阻断规则与追溯来源。

After
suites.md
is written to disk, you must complete the following actions (in order, cannot be omitted):
  1. Output ROUTER_SUMMARY (in YAML format for Router decision making):
yaml
ROUTER_SUMMARY:
  stage: V3
  artifacts:
    - "{FEATURE_DIR}/verification/suites.md"
  needs_human_review: false
  blocked: false
  block_reason: ""
  notes: "Soft checkpoint: Test suite has been generated/updated; Router can continue to automatically advance to V4 (spec-test-execute)"
  1. Execute
    using-aisdlc
    immediately
    : Pass the above
    ROUTER_SUMMARY
    as routing input to using-aisdlc, the Router will determine the next step and automatically proceed (no need to wait for the user to say "continue").
    • If the Router determines that automatic continuation is possible: continue to execute the next worker skill (e.g. V4, etc.) in the same round of conversation
    • If the Router triggers a hard interrupt: stop and output the blocking reason, required inputs, and candidate next steps
  2. Conversation output: Before calling using-aisdlc, you can briefly state "The product of this phase has been written to disk, and using-aisdlc is being called to route the next step."

name: spec-test-suites description: Use when you need to generate or update the V3 test suite orchestration (verification/suites.md) in the verification phase of the Spec Pack in sdlc-dev, organize test cases by smoke/regression/targeted and clarify blocking rules and traceability sources.

Spec 测试套件(V3:verification/suites.md)

Spec Test Suite (V3: verification/suites.md)

概览

Overview

本技能是 verification 阶段 worker skill,只负责:
  • 门禁校验(先定位
    {FEATURE_DIR}
    ,再读必要输入)
  • 生成/更新
    {FEATURE_DIR}/verification/suites.md
  • 按 V3-DoD 自检(套件条目可定位到用例编号)
  • 输出
    ROUTER_SUMMARY
    后回到
    using-aisdlc
This skill is a worker skill for the verification phase, only responsible for:
  • Access control verification (first locate
    {FEATURE_DIR}
    , then read necessary inputs)
  • Generate/update
    {FEATURE_DIR}/verification/suites.md
  • Self-check according to V3-DoD (suite entries can be located to test case numbers)
  • Return to
    using-aisdlc
    after outputting
    ROUTER_SUMMARY

硬门禁(不得绕过)

Hard Access Control (Cannot be Bypassed)

1) 先定位 FEATURE_DIR(禁止猜路径)

1) Locate FEATURE_DIR first (guessing path is prohibited)

powershell
. ".\skills\spec-context\scripts\spec-common.ps1"
$context = Get-SpecContext
$FEATURE_DIR = $context.FEATURE_DIR
Write-Host "FEATURE_DIR=$FEATURE_DIR"
失败即停止。
powershell
. ".\skills\spec-context\scripts\spec-common.ps1"
$context = Get-SpecContext
$FEATURE_DIR = $context.FEATURE_DIR
Write-Host "FEATURE_DIR=$FEATURE_DIR"
Stop immediately if it fails.

2) 必读项目级 Memory(缺失写 CONTEXT GAP)

2) Mandatory reading of project-level Memory (write CONTEXT GAP if missing)

  • .aisdlc/project/memory/product.md
  • .aisdlc/project/memory/tech.md
  • .aisdlc/project/memory/glossary.md
任一缺失:在
suites.md
中显式写
CONTEXT GAP
  • .aisdlc/project/memory/product.md
  • .aisdlc/project/memory/tech.md
  • .aisdlc/project/memory/glossary.md
If any is missing: explicitly write
CONTEXT GAP
in
suites.md
.

3) 必须读取用例与计划(否则无法编排)

3) Must read test cases and plans (otherwise orchestration is impossible)

  • {FEATURE_DIR}/verification/usecase.md
    (必须存在)
  • {FEATURE_DIR}/verification/test-plan.md
    (建议存在;缺失写
    CONTEXT GAP
    并把风险放入阻断项)
若存在
{FEATURE_DIR}/requirements/solution.md#impact-analysis
:应读取用于 targeted 套件追溯;不存在则说明 targeted 的依据来源。
  • {FEATURE_DIR}/verification/usecase.md
    (must exist)
  • {FEATURE_DIR}/verification/test-plan.md
    (recommended to exist; write
    CONTEXT GAP
    if missing and put the risk into blocking items)
If
{FEATURE_DIR}/requirements/solution.md#impact-analysis
exists: it should be read for targeted suite traceability; if it does not exist, explain the basis source of targeted.

输出(落盘)

Output (Written to Disk)

  • {FEATURE_DIR}/verification/suites.md
  • {FEATURE_DIR}/verification/suites.md

suites.md
最小结构(必须包含)

Minimum Structure of
suites.md
(Must Include)

  • smoke
    • 预计执行时长
    • 阻断规则(与 V1 准出标准一致)
    • 用例列表(必须写 TC 编号)
  • regression
    • 用例列表(TC 编号,可按模块/影响面分组)
  • targeted(如适用)
    • 触发条件(来自 impact-analysis / 风险清单)
    • 用例列表(TC 编号)
  • 执行顺序与依赖(例如 smoke → targeted → regression)
  • smoke
    • Estimated execution duration
    • Blocking rules (consistent with V1 release criteria)
    • Test case list (must write TC numbers)
  • regression
    • Test case list (TC numbers, can be grouped by module/impact scope)
  • targeted (if applicable)
    • Trigger conditions (from impact-analysis / risk list)
    • Test case list (TC numbers)
  • Execution order and dependencies (e.g. smoke → targeted → regression)

V3-DoD 自检

V3-DoD Self-Check

  • 套件条目能定位到具体用例编号(禁止模糊描述)
  • smoke 套件阻断规则与 V1 准出标准一致
  • targeted 套件有可追溯来源(impact-analysis/风险清单/变更说明)
  • Suite entries can be located to specific test case numbers (vague descriptions are prohibited)
  • Blocking rules of the smoke suite are consistent with V1 release criteria
  • The targeted suite has traceable sources (impact-analysis/risk list/change description)

红旗 STOP

Red Flag STOP

  • 未回显
    FEATURE_DIR=...
    就开始写
    suites.md
  • 套件条目没有引用任何
    TC-...
    编号
  • Start writing
    suites.md
    without echoing
    FEATURE_DIR=...
  • Suite entries do not reference any
    TC-...
    numbers

完成后输出与自动路由(必须执行)

Output and Automatic Routing after Completion (Mandatory)

suites.md
落盘后,必须完成以下动作(按顺序,不可省略):
  1. 输出 ROUTER_SUMMARY(YAML 形态,供 Router 决策):
yaml
ROUTER_SUMMARY:
  stage: V3
  artifacts:
    - "{FEATURE_DIR}/verification/suites.md"
  needs_human_review: false
  blocked: false
  block_reason: ""
  notes: "软检查点:测试套件已生成/更新;Router 可继续自动推进到 V4(spec-test-execute)"
  1. 立即执行
    using-aisdlc
    :将上述
    ROUTER_SUMMARY
    作为路由输入传递给 using-aisdlc,由 Router 判定下一步并自动推进(无需等待用户说「继续」)。
    • 若 Router 判定可自动续跑:在同一轮对话内继续执行下一步 worker skill(如 V4 等)
    • 若 Router 触发硬中断:停下并输出阻断原因、需要的输入、候选下一步
  2. 对话输出:在调用 using-aisdlc 前,可简短说明「本阶段产物已落盘,正在调用 using-aisdlc 路由下一步。」
After
suites.md
is written to disk, you must complete the following actions (in order, cannot be omitted):
  1. Output ROUTER_SUMMARY (in YAML format for Router decision making):
yaml
ROUTER_SUMMARY:
  stage: V3
  artifacts:
    - "{FEATURE_DIR}/verification/suites.md"
  needs_human_review: false
  blocked: false
  block_reason: ""
  notes: "Soft checkpoint: Test suite has been generated/updated; Router can continue to automatically advance to V4 (spec-test-execute)"
  1. Execute
    using-aisdlc
    immediately
    : Pass the above
    ROUTER_SUMMARY
    as routing input to using-aisdlc, the Router will determine the next step and automatically proceed (no need to wait for the user to say "continue").
    • If the Router determines that automatic continuation is possible: continue to execute the next worker skill (e.g. V4, etc.) in the same round of conversation
    • If the Router triggers a hard interrupt: stop and output the blocking reason, required inputs, and candidate next steps
  2. Conversation output: Before calling using-aisdlc, you can briefly state "The product of this phase has been written to disk, and using-aisdlc is being called to route the next step."