mcpField
Q
qa-sprint-report-by-testomatio

qa-sprint-report-by-testomatio

github.com/testomatio测试与质量1678 次安装6 天前更新
代码仓库

关于 qa-sprint-report-by-testomatio

为使用 Testomat.io 的 QA 团队提供冲刺报告生成流程,覆盖冲刺识别、测试结果收集和 HTML 报告输出。它强调先核实冲刺身份,并仅呈现 MCP 返回的数据。

主要功能

  1. 01按里程碑、运行组或运行识别冲刺
  2. 02收集运行与测试结果
  3. 03按模板整理报告章节
  4. 04生成 HTML 报告并可选导出 Markdown
  5. 05缺失数据不作推测

适用场景

  1. 01冲刺结束后向利益相关者汇报 QA
  2. 02冲刺评审时查看通过、失败和阻塞项
  3. 03在冲刺中途记录测试进度

MCP 相关

通过 MCP 工具查询里程碑、运行、测试结果及可用分析数据,并据此填充报告。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/testomatio/skills --skill qa-sprint-report-by-testomatio

安装后在 Claude Code 中输入/qa-sprint-report-by-testomatio确认已加载。

附带文件references/qa-sprint-report.md

详细介绍

Testomat.io 的 QA 冲刺报告

适用场景

  • 冲刺结束时 — 为利益相关者生成一份可分享的 QA 报告。
  • 冲刺评审时 — 需要结构化地查看已测试、通过、失败和受阻的内容。
  • 冲刺中期状态 — 记录当前的执行进度。
  • 用户提到“冲刺报告”“QA 摘要”“冲刺进度”或类似内容。

如何识别冲刺

用户可能通过以下任一方式标识冲刺(按优先级排序):

  1. 里程碑名称或 ID — 例如“冲刺 42”“冲刺 2024.3”——使用 milestones_list(type="Sprint") 查找。
  2. 运行组标题 — 例如“冲刺 42 运行”——使用 rungroups_list / rungroups_get。
  3. 运行 ID 或运行标题 — 使用 runs_get 或 runs_list。
  4. 计划标题或 ID — 使用 plans_list / plans_get。
  5. 未提供标识符 — 请用户指定冲刺里程碑、运行组或运行。

如果用户只提供了冲刺名称,例如“冲刺 42”,务必先将其解析为具体的里程碑、运行组或运行。不要假设标题直接对应某个 ID。

规则

  • 不要编造数据。 如果 MCP 未返回某个值,请使用 [None] 或隐藏该部分。绝不要虚构数字或状态。
  • 先解析冲刺。 未经验证,绝不要假设冲刺名称直接对应某个运行 ID。
  • 隐藏不可用的部分。 如果分析数据(第 8 节)不可用,请完全省略该部分,不要留下占位文本。
  • 操作之间空一行。 适用于生成的任何代码或 CLI 片段。
  • 使用 TQL 进行筛选。 调用 runs_list、tests_list、testruns_list 时,始终优先使用 tql 筛选,而不是在客户端进行筛选。
  • 默认输出为 HTML。 首先生成 .html;只有用户明确要求,或其初始提示中包含保存为 .md 的请求时,才提供 .md。

MCP 工具映射

报告的每个部分都对应特定的 MCP 工具。完整的章节结构和指标请参阅模板:

快速命令
操作MCP 工具关键参数
查找冲刺里程碑milestones_listtype="Sprint"、status="active"
列出冲刺的运行runs_listtql:milestone == '{id}'
获取运行详情runs_getrun_id
获取测试结果testruns_listrun_id、filter_status
获取测试套件中的测试tests_listsuite_id、per_page=100
检查分析功能是否可用system_ping(响应中的 Enterprise 标记)
获取测试健康度分析analytics_testskind、days、from、to
获取统计分析analytics_statskind、from、to

工作流

第 1 步:解析冲刺标识

如果未提供冲刺标识,请询问用户。尝试解析:

1. milestones_list(type="Sprint") — find milestone matching sprint name
2. rungroups_list — find rungroup with sprint title
3. runs_list(tql="title % 'Sprint N'") — find runs by title
第 2 步:收集冲刺元数据和时间范围

为报告页眉收集以下信息:

  • 使用 milestones_get(milestone_id) 或 rungroups_get(rungroup_id) 获取冲刺标题和日期。
  • 如果 TMS 中没有 QA 负责人姓名,请询问用户。

重要:提取冲刺时间范围

按以下优先级解析冲刺时间范围:

  1. 用户提供的信息 — 如果用户在初始提示中指定了时间范围,请使用该范围。
  2. 里程碑/运行组日期 — 从 milestones_get 或 rungroups_get 中提取 start_date / due_date。
  3. 运行时间戳 — 如果里程碑/运行组没有日期,则根据冲刺运行中最早的 created_at 和最晚的 finished_at 推算(使用 runs_get)。
  4. 手动输入 — 如果无法从 TMS 确定时间范围,请用户手动指定冲刺周期。

以下操作需要时间范围:

  • analytics_tests(kind="...", from="YYYY-MM-DD", to="YYYY-MM-DD")
  • analytics_stats(kind="...", from="YYYY-MM-DD", to="YYYY-MM-DD")
  • 按冲刺周期筛选运行
第 3 步:收集运行数据
  1. runs_list(tql="milestone == '{id}'") — 获取冲刺里程碑的所有运行
  2. 对每次运行,调用 runs_get 获取状态、计数和环境
  3. testruns_list(run_id, filter_status) — 获取每次运行的通过/失败/跳过数量
第 4 步:构建报告章节

遍历模板的第 1–9 节,使用 MCP 数据填充。应用以下规则:

  • 如果某项指标不可用 → 在单元格中使用 [None]
  • 如果整个章节没有数据 → 隐藏该章节(不显示占位文本)
  • 第 8 节(分析)→ 检查 system_ping 响应中的 Enterprise 功能;如果不可用,则隐藏该章节
第 5 步:写入输出文件

将填充完成的报告写入:

{user-specified-path}/QA_Sprint_Progress_Report_{SprintName}_{YYYY-MM-DD}.html

如果未指定路径,则保存到当前工作目录。

第 6 步:提供 Markdown 导出选项

写入 .html 文件后,询问用户是否也要将报告导出为 .md 文件:

❓ The report has been saved to `{path}`.
Would you like to also export it as a `.md` file?

1. ✏️ Yes, save as `.md` in the same location
2. 👍 No, keep the `.html` only

如果用户选择选项 1:

  1. 将 HTML 内容转换为 Markdown 格式。
  2. 使用参考资料中的模板生成 Markdown 格式的报告 - qa-sprint-report.md。
  3. 将文件保存为 QA_Sprint_Progress_Report_{SprintName}_{YYYY-MM-DD}.md,并放在与 HTML 文件相同的目录中。

如果用户选择选项 2:

  • 确认 .html 路径并结束工作流。

HTML 模板样式

导出为 HTML 时,应用以下样式:

配色方案
Token十六进制值用途
--primary-color#6366f1标题、徽章、链接
--primary-hover#4f46e5悬停状态
--success-color#10b981通过/就绪徽章
--danger-color#ef4444失败/受阻徽章
--warning-color#f59e0b进行中徽章
--info-color#3b82f6信息徽章
--gray-50 to --gray-900#f9fafb → #111827文本层级
排版
  • 字体系列: Inter(Google Fonts),回退字体:-apple-system, BlinkMacSystemFont, sans-serif
  • 字体粗细: 300(细体)、400(常规)、500(中等)、600(半粗体)、700(粗体)、800(特粗体)
  • 等宽字体: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas — 用于工单 ID 和代码
  • 图标: Font Awesome 6.4.0(fa-solid)
状态徽章
状态背景文字颜色
passed, ready#d1fae5#065f46
failed, blocked#fee2e2#991b1b
progress#fef3c7#92400e
info#dbeafe#1e40af
关键元素
元素描述
.main-container白色玻璃卡片(rgba(255,255,255,0.98)),带有 backdrop-filter: blur(20px),最大宽度 1300px,圆角半径 20px
.header渐变背景(linear-gradient(135deg, #6366f1, #4f46e5))、白色文字、弹性布局
.section-card白色背景,1px 边框 --gray-200,圆角半径 12px,box-shadow
.report-table全宽、边框合并、鼠标悬停时高亮行
.meta-gridCSS Grid(repeat(auto-fit, minmax(220px, 1fr))),间距 20px
.instruction-card信息框,左侧有 5px 的 --primary-color 边框,背景为 #eef2ff
.tms-link主色链接,悬停时显示下划线
HTML 结构
<div class="main-container">
  <header class="header">
    <div class="header-title">
      <h1>QA Sprint Progress Report</h1>
      <p><i class="fa-solid fa-cubes"></i> [Project Name]</p>
    </div>
    <div class="header-badge">
      <i class="fa-solid fa-calendar-days"></i> Sprint: [Sprint Number]
    </div>
  </header>

  <section class="instruction-section">
    <div class="instruction-card">
      <h5><i class="fa-solid fa-circle-info"></i> How to Use This Template</h5>
      <ul>...</ul>
    </div>
  </section>

  <main class="content-section">
    <div class="section-card">
      <div class="section-title"><i class="fa-solid fa-chart-pie"></i> 1. Sprint Summary Scorecard</div>
      <div class="meta-grid">...</div>
    </div>
    
  </main>
</div>

报告模板参考

章节描述
qa-sprint-report.md包含所有章节、表情符号和填充占位符的完整模板

评论

支持 Markdown