我用AI把回归测试从3天压到3小时,提示词全公开

举报
霍格沃兹测试学社 发表于 2026/09/21 17:45:18 2026/09/21
【摘要】 本文分享了将AI深度融入回归测试全流程的实战经验:通过拆解“影响面分析、用例生成、脚本转换、失败分析、报告汇总”五大环节,为每个环节定制精准提示词,辅以充分业务上下文与强约束(如“不编造”),使回归测试从3天压缩至3小时。AI不是替代人,而是高效协作者——人专注判断与决策,AI承担重复劳动。

去年双十一大促前,我们发了一个版本。回归测试跑了整整三天。

第三天凌晨两点,办公室里只剩我和另一个同事,对着CI上一片红,谁都不想说话。不是没测完,是测完了不敢信——失败列表里一半是环境问题,一半是脚本挂了,还有几个是真正的bug。要一条条筛,一条条确认,一条条提单。

那段时间我一直在想:回归测试这件事,到底卡在哪?

后来我想明白了。卡的不是执行,执行有自动化。卡的是前面写用例、中间维护脚本、后面分析失败。这三块全是人肉堆出来的。而人肉,就会慢,就会错,就会累。

再后来,我开始把AI拉进这个流程。不是当许愿池,是当实习生。你给它清晰的指令,它给你能用的草稿,你来审核和修正。

效果是:同样一个版本的回归测试,从3天压到了3小时。

先说清楚,不是AI一键跑完,也不是完全无人值守。3小时里包含了人工审核、修复和确认。但相比之前,已经是另一个世界了。

下面我把整个流程拆开,每个环节用的提示词全部公开。你直接复制就能用,但记得把里面的项目信息换成你自己的。

一、以前为什么慢?

我们之前的回归流程大概是这样:

需求评审完,测试同学根据PRD和过往经验,手工写用例。一个中等版本,新增+修改的用例大概80到120条。写用例本身就要大半天。

然后是把新用例转成自动化脚本。Playwright也好,Selenium也好,写脚本、调定位器、调等待,又一天。

跑起来之后,失败分析最要命。CI上几十条失败,你得挨个看日志、看截图、看视频,判断是产品bug、脚本问题、环境问题还是数据问题。有时候一条失败查半小时,查到最后发现是测试账号被锁了。

最后写报告,汇总数据,给上线建议。又是小半天。

三天,就这么没了。

我们试过加机器、并行跑、只跑核心用例。有用,但治标不治本。因为写用例、维护脚本、分析失败这三件事,还是靠人。

二、转折:把AI当实习生,而不是许愿池

我一开始也试过让AI“帮我写回归测试用例”。结果它给我吐了一堆看起来很像、但根本跑不通的东西。接口名是编的,字段是猜的,业务规则是它自己想象的。

后来我换了个思路。

我不再让它“写用例”,而是让它做具体环节里的具体事。比如:根据代码变更分析影响面,根据影响面推荐回归范围,根据手工用例转脚本,根据失败日志给根因排序。

而且我给它喂上下文。不是只丢一句“帮我写用例”,而是把接口文档、数据库表结构、历史bug列表、项目目录结构一起给它。它不知道业务,我就告诉它业务。

这个思路转变之后,效率完全不一样了。

三、具体怎么做:五个环节,五个提示词

环节1:影响面分析——别上来就写用例

以前我们写回归用例,靠的是“感觉这次改了啥”。但代码变更那么多,靠人看PR根本看不过来。

现在我会先把这次发版的PR列表、commit记录、变更文件路径拉出来,整理成一段摘要,丢给AI做影响面分析。

提示词如下:

你是一个资深测试架构师,有10年电商业务测试经验。

以下是一次发版的代码变更摘要:
[粘贴PR标题、commit message、变更文件路径、关键diff片段]

请分析:
1. 这次变更可能影响哪些业务模块、接口、页面?
2. 每个影响点按优先级分类:P0(必须回归)、P1(建议回归)、P2(可选回归)。
3. 给出判断理由。
4. 推荐需要重点回归的测试点类型(正常流、异常流、边界值、权限、兼容性等)。

输出格式:
模块 | 影响点 | 优先级 | 理由 | 建议回归类型

注意:
- 如果信息不足,请列出你需要我补充的信息,不要编造。
- 不要输出具体的测试用例,只做影响面分析。

这个提示词的关键是最后那句“不要编造”。一开始我没加,它就会自己脑补出根本不存在的接口。加了之后,它会老老实实说“我需要知道这个接口的入参和出参定义”。

拿到影响面分析之后,回归范围就从“全量”变成了“P0+P1”。我们统计过,通常能砍掉60%到70%的无关用例。

环节2:用例生成——喂上下文,别让它瞎猜

影响面确定之后,接下来是生成或补充测试用例。

这里我吃过亏。如果你只给一句“根据以下需求生成测试用例”,AI会给你一堆正确的废话。什么“验证登录成功”、“验证登录失败”,你看了想打人。

提示词如下:

你是一个有8年经验的测试工程师,熟悉电商交易链路。

背景信息:
- 项目名称:[项目名]
- 本次变更内容:[粘贴影响面分析结果]
- 相关接口文档:[粘贴接口定义]
- 数据库表结构:[粘贴关键表结构]
- 历史高频bug:[粘贴近3个月相关模块的bug列表]
- 已有用例库:[粘贴已有用例标题,避免重复]

请生成回归测试用例,要求:
1. 覆盖正常流、异常流、边界值、权限、数据一致性。
2. 每条用例包含:用例标题、前置条件、操作步骤、预期结果、优先级。
3. 优先覆盖历史bug对应的场景。
4. 不要生成与已有用例重复的用例。
5. 如果某个场景需要具体数据但信息不足,标注“需补充数据”,不要编造。

输出格式:Markdown表格。

这个提示词里,“历史高频bug”是最有价值的部分。AI会根据历史bug反推测试场景,这比凭空想要准得多。

生成之后,我会人工过一遍,删掉重复的、不合理的,补充它没想到的。大概能省掉70%的写用例时间。

环节3:脚本转换——手工用例到Playwright

用例有了,接下来是转自动化脚本。

以前这一步最烦。手工用例写的是“点击登录按钮”,脚本里要写定位器、等待、断言。一条用例转成脚本,熟练工也要十分钟。

现在我把手工用例和项目现有的Page Object代码一起丢给AI。

提示词如下:

你是一个Playwright自动化专家,熟悉TypeScript和Page Object模式。

以下是我们项目的Page Object代码结构:
[粘贴Page Object类名和方法名]

以下是一条手工测试用例:
[粘贴用例内容]

请把它转成Playwright测试脚本,要求:
1. 使用TypeScript。
2. 使用Page Object模式,调用已有方法。
3. 定位器优先使用getByRole、getByLabel、getByTestId,不要用XPath。
4. 使用expect断言,不要用console.log。
5. 如果用例中提到的元素在Page Object中不存在,列出需要新增的方法,不要直接写定位器。
6. 如果信息不足,列出需要补充的信息。

输出格式:完整的测试文件代码。

关键点:不要让它直接写定位器。让它调用Page Object。这样脚本的维护成本会低很多。如果Page Object里没有对应方法,它会告诉你需要新增什么,而不是瞎编一个选择器。

转出来的脚本,我大概改10%到20%就能跑。比以前快太多了。

环节4:失败分析——Trace和日志丢给AI

这是我最喜欢的环节,也是省时间最多的环节。

以前失败分析靠人看日志,一条条翻。现在我把Playwright的失败日志、Trace摘要、网络请求记录、控制台错误一起整理成一段文本,丢给AI。

提示词如下:

你是一个测试排障专家,熟悉Playwright和前端后端联调。

以下是测试失败信息:
- 测试用例名称:[用例名]
- 失败步骤:[第几步失败]
- 错误日志:[粘贴错误堆栈]
- Trace摘要:[粘贴关键操作和网络请求]
- 控制台日志:[粘贴浏览器console错误]
- 环境信息:[CI/本地、浏览器版本、测试账号]

请分析:
1. 最可能的根因是什么?按可能性从高到低排序。
2. 每条根因给出证据。
3. 判断问题类型:产品bug、脚本问题、环境问题、数据问题。
4. 给出修复建议。
5. 如果无法判断,列出需要进一步排查的方向。

输出格式:
根因 | 可能性 | 证据 | 问题类型 | 修复建议

注意:不要直接下结论说“一定是产品bug”,要给出判断依据。

这个提示词最实用的地方是“问题类型”分类。以前我们最怕的就是把脚本问题当成产品bug提给开发,开发一看不是,打回来,来回扯皮。现在AI先分个类,人工再确认,扯皮少了很多。

我们统计过,失败分析的时间从平均每条20分钟降到了5分钟左右。

环节5:报告汇总——让AI写第一版

最后是测试报告。

以前写报告,要汇总通过率、失败列表、风险点、上线建议。数据是有的,但组织成文字要花时间。

提示词如下:

你是一个测试经理,需要向上级汇报回归测试结果。

测试数据:
- 总用例数:[数字]
- 通过:[数字]
- 失败:[数字]
- 跳过:[数字]
- 失败用例列表:[粘贴失败用例及分析结果]
- 本次回归范围:[粘贴影响面分析]
- 已知风险:[粘贴未修复问题]

请生成一份回归测试报告,包括:
1. 测试范围概述。
2. 执行结果统计。
3. 失败分析摘要(按问题类型分组)。
4. 风险提示(哪些问题可能影响上线)。
5. 上线建议(可以上线/有条件上线/不建议上线)。

要求:语言简洁,面向开发和产品,不要堆砌形容词。

AI写的报告,我改一改就能发。省了至少半小时。

四、效果对比

我们拿最近一个中等版本做了对比:

环节 以前 现在
影响面分析 半天 20分钟
用例编写/补充 1天 1.5小时
脚本转换 1天 1小时
失败分析 半天 30分钟
报告汇总 半天 15分钟
合计 约3天 约3.5小时

注意,这里面已经包含了人工审核和修正的时间。AI不是替代人,是让人从重复劳动里抽出来,专注在判断和决策上。

稳定性方面,因为回归范围更精准了,跑的全是相关用例,误报也少了很多。以前全量跑三天,很多失败是无关用例的环境问题。现在只跑P0+P1,失败列表干净多了。

五、踩过的坑

坑1:上下文给太少。 一开始我只丢一句“帮我写用例”,结果全是废话。后来我把接口文档、表结构、历史bug都喂进去,质量立刻上来了。AI不知道你的业务,你得告诉它。

坑2:没有约束“不要编造”。 AI会一本正经地编接口名、编字段、编业务规则。后来我在每个提示词里都加了“如果信息不足,列出需要补充的信息,不要编造”。这个约束非常关键。

坑3:一次让AI做太多。 我试过让AI“分析影响面并生成用例并转成脚本”,结果它哪一步都做得不精。后来拆成五个环节,每个环节单独给提示词,效果好得多。

坑4:不审核直接用。 AI生成的用例和脚本,一定有人工审核。它不是100%准确,但能帮你完成80%的草稿。剩下20%,才是你的价值所在。

坑5:提示词不迭代。 我现在的提示词是改了十几版之后的。每次发现AI输出不对,我就回去改提示词。建议你建一个自己的提示词库,用Git管理起来,慢慢迭代。

六、最后说两句

从3天到3小时,核心不是AI有多神,而是把回归测试拆成了AI能帮上忙的环节

以前我们总想着“AI能不能自动测”,结果发现不行。但如果你换个思路,让AI做影响面分析、做用例草稿、做脚本转换、做失败初筛、做报告初稿,你会发现它每个环节都能帮上忙。

提示词我都放在上面了。你可以直接拿去用,但更重要的是理解这个思路:AI是实习生,不是许愿池。你给它清晰的指令和足够的上下文,它才能给你能用的结果。

如果你也在跟回归测试的周期较劲,不妨从影响面分析那一步开始试。就那一步,就能帮你省掉半天。

去用,别只收藏。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。