回归测试选择 Skill:时间不够时怎样挑出最值得跑的用例
测试集越大不必然越可靠;无关用例会拖慢反馈,而关键用例缺失会制造错误安全感。选择必须从失效后果和改动关系出发。
回归测试选择 Skill 按受影响契约、用户影响和历史信号排序,让每条入选用例都有理由。
本文将用明确的输入、边界和输出组织实践过程,帮助你把结论交给下一个需要据此行动的人。
回归测试选择 Skill 用来做什么
回归测试选择适合测试窗口有限、又需要解释取舍的团队。它按业务影响、缺陷历史和变更路径挑选集合,并留下暂缓测试的风险理由。
先回到源 Skill
这个 Skill 的完整执行规则在 回归测试选择 提示词。源目录还包含 3 个评测用例,用于验证输出是否遵守契约。
它要求特别注意:
- 不得只按名称匹配测试
- 选择和排除都要可追溯
- 高风险无映射时补探索性测试
用一份项目材料开始
先把当前拿得到的材料摆上来。缺口可以保留,状态必须说实话。
| 材料 | 这次填什么 | 缺失时的处理 |
|---|---|---|
| 目标与范围 | 从现有测试集中选出覆盖退款改动的最小充分回归集合,并解释取舍 | 标出不在本轮判断内的链路 |
| 版本与环境 | 测试目录、改动模块、依赖版本、执行时长和可用环境 | 测试清单过期时先标覆盖未知 |
| 证据 | 覆盖映射、失败历史、依赖图、标签和最近运行记录 | 没有历史数据时按风险而非热度排序 |
| 决策边界 | 必跑用例、延后用例、追加条件和选择 Owner | 每个省略项给出理由和补跑时间 |
可以这样调用:
请使用 regression-test-selection Skill。
任务:从现有测试集中选出覆盖退款改动的最小充分回归集合,并解释取舍
输入材料:[版本、链接、日志或报告路径]
范围:[本次包含和排除的对象]
限制:[时间、数据、权限、合规要求]
先审计输入,再按风险和证据强度排序。材料没有证明的内容标为假设,并列出验证方法。
回归测试选择要让每一次取舍有依据
| 产物 | 要回答的问题 | 最低证据 |
|---|---|---|
| 候选集合 | 这次有哪些测试可以选择 | 测试清单、标签和历史结果 |
| 风险排序 | 哪些链路最值得先跑 | 业务影响、缺陷历史和变更路径 |
| 覆盖解释 | 选择的测试覆盖了什么 | 需求、契约和场景映射 |
| 排除理由 | 哪些测试暂缓,风险如何保留 | 原因、Owner 和补跑时间 |
没有候选测试、风险信息和时间预算时,只能给出建议集合,不能声称它是最小充分集。
在项目里跑一轮
先用一个边界清楚的小回合启动——从现有测试集中选出覆盖退款改动的最小充分回归集合,并解释取舍。别急着把结果写成报告。先把输入版本、时间窗口和负责人贴到同一处;然后把每个判断连回具体材料;最后只安排一项能改变结论的验证动作。
选择与排除都要可追溯,高风险无映射时补探索性验证。这一轮交付应当包含:可复查的证据索引、仍然成立的假设、以及下一位同事可以直接执行的动作。这样做很朴素,也很有效。
进阶使用:把一次分析变成持续机制
选择与排除都要可追溯,高风险无映射时补探索性验证。
每次回归测试选择都保存变更版本、时间预算、选择规则和排除项。测试结果或风险等级变化时,重新计算集合,并保留原选择供复核。
三段式 Skill 链
change-impact-analysis → regression-test-selection → test-reporting
| 交接 | 传递内容 | 接收方要检查什么 |
|---|---|---|
| 上游到 regression-test-selection | 来源版本、范围、风险、未决项 | 输入是否过期,冲突是否标记 |
| regression-test-selection 到下游 | 判断、证据索引、残余风险、待办 | 产物是否可执行,Owner 是否明确 |
| 下游回写 regression-test-selection | 执行结果、缺陷、事实变化 | 是否更新基线与回归范围 |
交接时传摘要、证据索引和原始材料的位置。信息量足够,结论出了问题也能回到来源。
团队门禁
| 门禁 | 检查内容 | 未满足时 |
|---|---|---|
| regression-test-selection 输入门禁 | 版本、环境、证据来源和 Owner | 停止生成,列出缺口 |
| regression-test-selection 产物门禁 | 关键结论带依据、状态和影响 | 退回补证据 |
| regression-test-selection 执行门禁 | 命令、查询或验证路径可复现 | 标记基础设施或测试问题 |
| regression-test-selection 决策门禁 | 残余风险有接受人与日期 | 不进入下一阶段 |
容易踩的坑
- 只按测试时长排序,忽略业务影响和缺陷历史。
- 说“跑核心用例”却没有定义核心范围。
- 排除测试后没有保留风险和补跑时间。
- 结果出来后没有回写选择规则,下一次仍靠个人经验挑选。
相关 Skill
回归测试选择需要先知道改了什么,再判断时间预算内跑什么:
交付前复核:把判断落到证据
Skill 输出拿到手后,先核对四件事:输入版本是否明确,范围是否完整,每条结论能否回到证据,下一步由谁执行。少一项,报告就容易变成漂亮的猜测。
| 项目 | 需要留下 | 缺失时 |
|---|---|---|
| 输入边界 | 版本、环境、时间窗口和本次范围 | 标记假设,不写成事实 |
| 证据索引 | 日志、报告、Trace、截图或命令输出 | 标记 evidence_pending |
| 结论状态 | verified、assumption、blocked 或 pending | 停止扩大结论 |
| 后续动作 | 最小验证命令、负责人和截止时间 | 交付为待办,不进入门禁 |
source_version: [版本或提交]
scope: [本次包含和排除的对象]
evidence: [日志、报告、Trace 或命令输出]
status: pending
owner: [负责人]
next_action: [最小验证动作]
分析类 Skill 要保留查询条件和时间窗口;执行类 Skill 要保留命令、退出码和失败产物。人工修改也要记录,下一次复核才知道结论从哪里变化。
安装与调用
安装这个 Skill:
npx skills add https://github.com/naodeng/awesome-qa-skills/tree/main/skills/zh/testing-types/regression-test-selection -g
安装后,直接使用下文的 regression-test-selection 调用词,并附上本次的真实材料。
常见问题
输入还不完整,能开始吗?
能。先交付受限初版:列出已知事实、假设、缺口和最小验证动作。环境、数据或权限缺失时,不写执行结论。
什么时候需要人工确认?
范围取舍、风险接受、生产操作、数据权限和发布决定必须由对应负责人确认。Skill 负责整理证据与选项,不替团队做授权决定。
先用一份真实材料跑通 回归测试选择,把输入、产物、人工修改和验证证据留在同一个工作链里。下一次变化发生时,才有东西可以复用。
参考
- 回归测试选择 提示词:https://github.com/naodeng/awesome-qa-skills/tree/main/skills/zh/testing-types/regression-test-selection/prompts/regression-test-selection.md
- Awesome QA Skills:回归测试选择 Skill 源文件:https://github.com/naodeng/awesome-qa-skills/tree/main/skills/zh/testing-types/regression-test-selection
- Awesome QA Skills GitHub 项目:https://github.com/naodeng/awesome-qa-skills
- 回归测试选择 Skill 详情页:https://inaodeng.com/zh-cn/qaskills/regression-test-selection/