Skip to content
返回

dh-cm-qa-flow

通用正在获取安装数据

把“这次改动有没有做好”变成一份有步骤、有截图、能复查的中文测试报告。

概述
dh-cm-qa-flow

dh-cm-qa-flow:改完代码测一测 ​

把需求文档、改动范围和测试地址交给 AI,它会先找出这次改动影响了哪些页面、整理测试方案,确认后像真实用户一样操作页面,最后给出带截图的中文测试报告。适合提交前自查、MR 自测、功能验收和改动后的回归检查。

它是什么,不是什么

QA Flow 是 AI 按 Skill 编排的探索式测试:每次由 AI 重新理解需求、操作浏览器、判断结果,辅助脚本负责环境检查、改动分析、结果保存和报告校验。它不写测试代码,也不是无人值守的 CI 流水线。需要长期、稳定、可重复回归的核心流程,请在测完后固化成 dh-cm-web-e2e 用例。

能做什么 ​

能力你能得到什么
分析改动影响读取 git 提交和未提交改动,沿引用往上找受影响的页面,支持 monorepo
对照需求单独列出“需求有、代码没改到”和“代码改了、需求没提”的地方
设计测试用例按表单、列表、权限、路由、弹窗、上传等改动类型挑检查点,高风险改动必须覆盖边界或异常场景
操作真实页面逐条操作、截图,采集首屏报错、chunk 加载失败和 4xx/5xx 请求
区分结论通过、确定失败、疑似问题、无法测试、未执行;没有证据的不算通过
中断后继续每条结果立即保存,可以定位到上次测到哪里;已做过的写操作不会重放
分享报告截图内嵌的单文件 report.html,可以直接发给同事
积累用例经你同意后存进文本用例库,下次改动同一功能时优先沿用

安装 ​

需要 Node.js 18+、Git,以及能操作浏览器的 AI 工具。浏览器默认使用 ego lite,也支持 agent-browser。

  1. 安装或升级 dh-ai 到 0.10.23 及以上(首次安装见 dh-ai cli 使用说明):
bash
npm i -g @szhn/ai-cli@latest
dh-ai --version
  1. 安装技能(在哪个目录执行都可以):
bash
dh-ai skill init common/dh-cm-qa-flow

技能会装到用户目录,并自动装给本机已有的 Qoder、Codex、Cursor 等工具,所有业务项目都能用;以后运行 dh-ai upgrade 就会自动更新。只想装给某一个工具时加 --tool qoder(或 --tool codex 等)。安装后完全退出并重新打开 AI 工具,新建一个对话。

  1. 检查准备情况(以 Codex 为例;Qoder 的目录是 ~/.qoder/skills/dh-cm-qa-flow/,Qoder 国内版是 ~/.qoder-cn/skills/dh-cm-qa-flow/):
bash
node ~/.agents/skills/dh-cm-qa-flow/scripts/setup.mjs

这一步只检查 Node、Git、浏览器命令和登录方式是否就绪,不代表浏览器已连接或账号已登录。缺什么会直接告诉你怎么装,不会擅自安装软件。还没装浏览器时,也可以先只出测试方案。

开始使用 ​

在 AI 对话里说:

text
使用 dh-cm-qa-flow,测一下这次改动。
需求:docs/需求说明.md
改动范围:HEAD~3..HEAD
测试地址:http://localhost:3000

没有需求文档时,用一两句话说明“改了什么、期望什么”即可,AI 会把根据代码推断的部分单独标出来。

快速模式:改动很小、所有用例都不改数据、需求和代码对得上时,说“快速测一下”,AI 会发出方案摘要后直接开测,不等你确认。只要有会改数据的用例,就不会走快速模式。

一次测试怎么进行 ​

  1. 开跑前检查:确认浏览器、项目地址和登录状态。第一次使用会根据 package.json、路由和 README 生成项目档案 .qa/profile.md(地址、启动命令、主要页面、禁止操作),和测试方案一起请你确认。
  2. 测试方案:给出改了什么、几条用例、预计用时,以及需要你先看的:拿不准的预期、需求和代码对不上的地方、会改数据的用例。你可以选“全部确认 / 只测不改数据的 / 我要修改”。
  3. 探索测试:高风险的先测。每条至少一张截图,看过截图再下结论。默认时间预算 15 分钟(约 8~12 条),到时间剩下的标为未执行。
  4. 报告:对话里只说三件事:结果数字、最需要先看的 1~3 个问题、report.html 路径。
  5. 用例沉淀(可选,只问一次):把新用例存进 .qa/cases/ 随 MR 评审;或把以后要反复回归的核心流程交给 dh-cm-web-e2e 固化成 Playwright 用例。

登录与数据安全 ​

  • 默认复用浏览器里已有的登录状态,不需要提供账号、手机号或验证码。登录失效时会把页面交给你手动登录。判断登录成功要看到受保护内容或账号身份,离开登录页不算。
  • 测试账号自动登录是可选能力,只在你明确选择、且是配置好的测试环境时启用。凭据只存在本机 ~/.qa/secrets.env,不会打印出来。
  • 默认只读。会新建数据的用例需要你在方案里确认,新数据标题带 [QA] 前缀并记录下来;删除、发布、对外发消息的操作一律不做;项目档案里的禁止操作只确认按钮存在,不点击。
  • 不改业务代码、不提交、不新增测试文件。

结果在哪里 ​

位置用途
.qa/profile.md项目地址、主要页面、登录方式和禁止操作,建议提交
.qa/cases/经你同意保存的文本用例库,建议随 MR 评审
.qa/runs/<本次运行>/report.html可以直接打开和转发的报告
.qa/runs/<本次运行>/测试方案、逐条结果和截图

.qa/runs/ 应加入 .gitignore,第一次运行时 AI 会问你要不要加。报告不上传任何外部平台,文本中的常见凭据会打码,但截图不会自动脱敏,转发前请检查。

中断后继续 ​

在对话里说“继续上次的测试”。AI 会先定位上次的进度,再确认代码、环境和账号有没有变化,已经做过的写操作不会重复执行。也可以手动查看:

bash
node .qoder/skills/dh-cm-qa-flow/scripts/run.mjs list .
node .qoder/skills/dh-cm-qa-flow/scripts/run.mjs resume .

和其他工具怎么选 ​

需求使用
改完代码测一测,拿一份带截图的报告dh-cm-qa-flow
核心流程要长期、稳定、反复回归dh-cm-web-e2e(把 QA Flow 测通的用例固化成 Playwright)
检查 Vue 项目的代码质量问题vue-doctor

当前限制 ​

  • 每次由 AI 重新操作和判断,结果可能有波动;需要完全稳定的回归请固化成 Playwright 用例。
  • 业务判断和页面操作需要 AI 工具配合,单独运行脚本不能完成一次测试。
  • 登录、权限、后端服务或桌面端等本机无法测试的部分,会明确写进“无法测试”,不会算作通过。
  • 报错采集暂未覆盖 iframe 内部页面。
  • agent-browser,以及 Windows、Linux 上的完整业务流程,还在实机验证中;遇到问题请到项目问题区反馈。

更新 ​

bash
npm i -g @szhn/ai-cli@latest
dh-ai skill update --skill common/dh-cm-qa-flow

Power By 数字海南