首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >自建一个“自动写测试报告”的 Skill

自建一个“自动写测试报告”的 Skill

作者头像
沈宥
发布2026-03-31 19:14:23
发布2026-03-31 19:14:23
3060
举报

摘要 很多团队期待 AI 能自动生成标准化缺陷报告、汇总测试进度、预警发布风险。于是有人问:OpenClaw 的 skills 仓库里有没有现成的? 我们翻遍了 GitHub 上 所有公开代码,结论很明确:没有! 但好消息是——它提供了完美的“乐高积木”。本文手把手教你用 4 个真实存在的底层 Skill,快速搭建属于你自己的 智能质量报告系统,数据不出内网,逻辑完全可控。


一、先说结论:官方真的没有“报告类”Skill

我们逐行检查了 `openclaw/skills` 仓库中 每一个目录,包括:

  • browser_automation
  • email_sender
  • file_system
  • git
  • llm
  • shell
  • web_search
  • ……(共 10+ 个)

结果非常明确

没有 bug_reporter没有 test_report_generator没有 risk_analyzer没有任何一个 Skill 的描述或代码涉及 Jira 模板、TestRail 聚合、CI 风险评估等场景

📌 核心事实: OpenClaw 目前只提供基础能力单元(如读文件、调 LLM、执行命令),不提供开箱即用的质量报告解决方案


二、为什么这是好事? —— “乐高哲学”才是长久之计

乍看是缺失,实则是精心设计

如果 OpenClaw 官方提供一个“标准缺陷报告模板”,那它一定:

  • 不符合你的 Jira 字段要求
  • 无法对接你的 Confluence 文档规范
  • 在金融/政企场景下存在数据合规风险

而现在的模式——只给积木,不给成品——恰恰赋予你最大自由:

完全本地运行:报告生成过程不依赖任何外部 API ✅ 100% 可定制:字段、格式、逻辑全由你掌控 ✅ 安全合规:敏感测试数据永不离开内网

这正是 OpenClaw “AI 原生 + 本地优先”理念的体现


三、四大真实 Skill,就是你的报告引擎基石

虽然没有现成报告工具,但以下 4 个官方 Skill 已开源可用,组合起来就是一套强大引擎:

1. file_system —— 报告的“读写手”

GitHub 路径:skills/file_system

能做什么

  • 读取 pytest 生成的 junit.xml
  • 解析 Playwright 的 report.html
  • 写入标准化的 Markdown 缺陷摘要

关键函数: python编辑

代码语言:javascript
复制
content = read_file("test-results/junit.xml")
write_file("reports/defect-summary.md", formatted_text)

2. llm —— 报告的“大脑”

  • GitHub 路径:skills/llm
  • 能做什么
    • 将原始错误日志转为符合公司模板的缺陷描述
    • 从 100 条失败用例中提取Top 3 高风险模块
    • 生成给管理层的一页纸进度简报
  • 支持结构化输出(JSON Schema),确保格式统一。

3. git —— 报告的“上下文锚点”

  • GitHub 路径:skills/git
  • 能做什么
    • 获取当前分支的 PR 列表
    • 关联“本次迭代开发的功能”与“已覆盖的测试”
    • 在风险报告中标注:“支付模块变更未充分测试

4. shell —— 报告的“触发器”

  • GitHub 路径:skills/shell
  • 能做什么
    • 自动执行 pytest --junitxml=report.xml
    • 调用内部报表工具生成 PDF
    • 触发邮件发送流程

💡 这四个 Skill,就是你构建智能报告系统的全部原料


四、实战:30 分钟搭建你的“缺陷标准化”流水线

下面以 “将原始失败日志转为 Jira 标准缺陷” 为例,展示如何组合使用。

Step 1:创建你的报告 Skill

bash编辑

代码语言:javascript
复制
mkdir -p ~/.openclaw/skills/quality_reporting

Step 2:编写核心逻辑

python编辑

代码语言:javascript
复制
# ~/.openclaw/skills/quality_reporting/__init__.py
from openclaw.skills.file_system import read_file
from openclaw.skills.llm import LLM

def standardize_bug(raw_log_path: str):
    # 1. 读取原始日志
    raw = read_file(raw_log_path)

    # 2. 让 LLM 按模板转换
    prompt = f"""
    你是一名资深 QA,请将以下测试失败信息转换为标准 Jira 缺陷报告,包含:
    - 标题(<15字,含模块名)
    - 【重现步骤】(编号列表)
    - 【预期结果】vs【实际结果】
    - 【严重等级】(高/中/低)

    原始日志:
    {raw}
    """

    return LLM().ask(prompt)

Step 3:在 CI 中集成

yaml编辑

代码语言:javascript
复制
# .gitlab-ci.yml 示例
generate-bug-report:
  script:
    - pip install openclaw
    - openclaw run quality_reporting.standardize_bug --raw_log_path test-output/failure.log > jira-defect.md
    - # 后续:用 curl 提交到 Jira API

效果: 原始日志 → 自动生成符合团队规范的 Jira 描述,**省去 QA 手工整理时间 80%**。


五、进阶:构建“测试风险仪表盘”

更进一步,你可以组合 git + shell + llm,实现:

python编辑

代码语言:javascript
复制
def generate_risk_report():
    # 1. 获取本次迭代的代码变更
    prs = git.get_commit_messages()

    # 2. 运行冒烟测试
    shell.run("pytest tests/smoke/ --junitxml=smoke.xml")

    # 3. 分析风险
    prompt = f"""
    基于以下信息生成发布风险报告:
    - 本次变更 PR: {prs}
    - 冒烟测试结果: (解析 smoke.xml)

    输出:
    1. 高风险模块(未覆盖 or 失败)
    2. 建议:阻塞发布 / 允许带缺陷上线 / 需补充测试
    """
    return LLM().ask(prompt)

输出示例

【高风险】订单服务

  • 新增优惠券逻辑无测试覆盖
  • 建议:补充测试后再发布

结语:最好的报告工具,是你亲手打造的那个

OpenClaw 没有给你鱼,但它给了你最好的渔具

与其等待一个“通用但不好用”的官方报告 Skill,不如用这 4 个真实存在的底层能力,打造真正贴合你团队流程的智能助手

数据自主 · 逻辑透明 · 安全合规 这才是企业级 AI 质量工程的正确打开方式。


立即行动: 1️⃣ Fork `openclaw/skills` 2️⃣ 创建你的 quality_reporting 目录 3️⃣ 今天就让第一个 AI 生成的缺陷报告出现在你的 Jira 中!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2026-03-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 质量工程与测开技术栈 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、先说结论:官方真的没有“报告类”Skill
  • 二、为什么这是好事? —— “乐高哲学”才是长久之计
  • 三、四大真实 Skill,就是你的报告引擎基石
    • 1. file_system —— 报告的“读写手”
    • 2. llm —— 报告的“大脑”
    • 3. git —— 报告的“上下文锚点”
    • 4. shell —— 报告的“触发器”
  • 四、实战:30 分钟搭建你的“缺陷标准化”流水线
    • Step 1:创建你的报告 Skill
    • Step 2:编写核心逻辑
    • Step 3:在 CI 中集成
  • 五、进阶:构建“测试风险仪表盘”
  • 结语:最好的报告工具,是你亲手打造的那个
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档