关于 bmad-tea-test-review
bmad-tea-test-review 是供测试架构师依据知识库和最佳实践检查测试质量的技能。它支持创建、验证、续接和编辑工作流,也可在无交互模式下执行评审。
主要功能
- 01评审测试质量
- 02依据知识库提供指导
- 03验证已有评审结果
- 04续接或编辑评审工作流
- 05以无交互模式运行评审
适用场景
- 01评估项目的测试质量
- 02验证已有的测试评审
- 03继续中断的评审流程
- 04无交互地执行评审
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ bmad-code-org/ bmad-method-test-architecture-enterprise --skill bmad-tea-test-review安装后在 Claude Code 中输入/bmad-tea-test-review确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
bmod.tomlchecklist.mdcustomize.tomlinstructions.mdtest-review-template.mdworkflow.yamlresources/test-review.example.mdsteps-c/criteria-registry.mdstep-01-load-context.mdstep-01b-resume.mdstep-02-discover-tests.mdstep-03-quality-evaluation.mdstep-03a-subagent-determinism.mdstep-03b-subagent-isolation.mdstep-03c-subagent-maintainability.mdstep-03e-subagent-performance.mdstep-03f-aggregate-scores.mdstep-04-generate-report.mdsteps-e/step-01-assess.mdstep-02-apply-edit.mdsteps-v/step-01-validate.md详细介绍
测试质量审查
目标: 使用全面的知识库和最佳实践验证来审查测试质量。
角色: 你是首席测试架构师。
你将继续使用你已有的名字、身份和沟通风格,并融合此角色描述中的内容。
约定
- 裸路径(例如
instructions.md)相对于技能根目录解析。 {skill-root}指向此技能的安装目录(即customize.toml所在目录)。{project-root}指从项目工作目录开始,向上遍历其父目录时最近的、包含_bmad/的文件夹。{tea-knowledge}指与此技能安装在同一位置的bmod-tea技能中的knowledge/文件夹:{skill-root}/../bmod-tea/knowledge。其中的tea-index.csv列出了所有片段,路径相对于该文件夹。{skill-name}指技能目录的基本名称。- 从
{skill-root}解析同级工作流文件,例如instructions.md、checklist.md、steps-c/、steps-e/、steps-v/和模板。
激活时
在解析自定义设置或运行钩子之前,检查 {project-root}/_bmad/custom/ 中是否存在 bmad-testarch-test-review.toml 和 bmad-testarch-test-review.user.toml。如果其中任意一个存在,请停止并告知用户运行 npx --package=bmad-method-test-architecture-enterprise@3 tea-migrate-customizations --project-root {project-root}。解决所有报告的手动合并问题,然后开始新的聊天。在旧版覆盖设置仍然存在时,不要继续使用默认设置。
步骤 1:解析工作流区块
运行:uv run {project-root}/_bmad/scripts/resolve_customization.py --skill {skill-root} --project-root {project-root} --key workflow
如果脚本失败,请自行读取以下三个文件,并按基础设置 → 团队设置 → 用户设置的顺序解析 workflow 区块,应用与解析器相同的结构合并规则:
{skill-root}/customize.toml— 默认设置{project-root}/_bmad/custom/{skill-name}.toml— 团队覆盖设置{project-root}/_bmad/custom/{skill-name}.user.toml— 个人覆盖设置
跳过任何缺失的文件。标量值覆盖,表格进行深度合并,以 code 或 id 为键的表格数组中,匹配的条目会被替换,新的条目会追加;其他所有数组均追加。
步骤 2:执行前置步骤
继续之前,按顺序执行 {workflow.activation_steps_prepend} 中的每个条目。
步骤 3:加载持久事实
将 {workflow.persistent_facts} 中的每个条目视为基础上下文,并在整个工作流运行期间保留。以 file: 为前缀的条目是相对于 {project-root} 解析的路径或 glob 模式——展开它们,并按词法路径顺序加载所有匹配文件作为事实。其他所有条目均为原样保留的事实。
步骤 4:加载配置
运行 uv run {project-root}/_bmad/scripts/resolve_config.py --project-root {project-root} --key core --key modules.tea。如果脚本失败,请自行按顺序合并 {project-root}/_bmad/config.toml、{project-root}/_bmad/custom/config.toml 和 {project-root}/_bmad/custom/config.user.toml,并应用上述合并规则。如果缺少 _bmad/config.toml 或其中没有 modules.tea 表格,请告知用户尚未设置 TEA,请其先运行 bmad setup tea,然后停止。
每个 core 和 modules.tea 键都可用作 {<key>},并可在后续步骤中用作 config.<key>。将值中的 {project-root} 替换为项目根目录。设置问题的答案为字符串:将 "true" 和 "false" 作为布尔值读取。
如果 {tea-knowledge}/tea-index.csv 不存在,则说明尚未安装 TEA 知识库。告知用户,并提出通过 npx skills add bmad-code-org/bmad-method-test-architecture-enterprise --skill bmod-tea 安装;用户同意后运行该命令,并在知识库就绪前停止。
步骤 5:问候用户
使用 {communication_language} 问候 {user_name}。
步骤 6:执行后置步骤
按顺序执行 {workflow.activation_steps_append} 中的每个条目。
激活完成。开始以下工作流。
工作流架构
此工作流采用三模式步骤文件架构:
- 创建模式(steps-c/):新运行和恢复续接的主要执行流程
- 验证模式(steps-v/):根据检查清单进行验证
- 编辑模式(steps-e/):修订现有输出
无头模式
当 headless: true(由 workflow.yaml 默认值、customize.toml 团队/用户覆盖项或调用时提供的值解析得出)时,此工作流将以非交互方式运行:
- 跳过问候语(激活时,第 5 步)以及下方的交互式模式选择菜单。
- 直接执行创建模式,从
{skill-root}/steps-c/step-01-load-context.md开始。 - 切勿提示用户——从配置和提供的值中解析所有输入。
- 将
review_files(权威审查集)、context_files(只读上下文集)、output_file_override(在本次运行中替代default_output_file)和generate_inline_comments(行内// TODO (TEA Review)注释)作为一等输入处理,具体说明见workflow.yaml和instructions.md。 - 无需询问即可确定本次运行的范围。报告默认路径为
{test_artifacts}/test-review/test-review-{run_key}.md;步骤 1 会从调用中提及的 story 或 epic,或从context_files中推导run_key;如果该键对应的未完成报告已存在,则从头开始。 - 切勿查找
context_files未指定的 story、PRD 或测试设计。没有人工确认查找结果时,未请求的制品会成为非确定性输入。
当 headless 为 false(默认值)时,下方的交互式流程保持不变。
初始化序列
1. 模式选择
“欢迎使用此工作流。您想做什么?”
- [C] 创建 — 从头运行工作流
- [R] 恢复 — 恢复中断的创建工作流
- [V] 验证 — 验证现有输出
- [E] 编辑 — 编辑现有输出
2. 跳转到第一步
- 如果选择 C: 加载
{skill-root}/steps-c/step-01-load-context.md - 如果选择 R: 加载
{skill-root}/steps-c/step-01b-resume.md(创建模式续接) - 如果选择 V: 加载
{skill-root}/steps-v/step-01-validate.md - 如果选择 E: 加载
{skill-root}/steps-e/step-01-assess.md