测试工程师用 AI 做代码评审:提示词与评审意见示例
对负责功能测试、接口测试和回归测试的 QA来说,需求变化快,测试用例、缺陷报告和测试报告要反复写,边界场景还容易漏。代码评审耗时且容易流于形式,AI 可以先找出明显的问题,让人把精力放在设计和业务逻辑上。这篇文章用一个完整的例子演示测试工程师如何借助 AI 做代码评审:把改动的代码和背景说明交给 AI,指定评审维度和输出格式,让它按严重程度列问题,再由人判断。
典型场景
测试工程师每周要评审不少代码改动,比如和“完成会员中心 2.3 版本功能测试”相关的提交。改动多的时候很难每行都仔细看,容易漏掉边界条件、异常处理和安全问题。现实中,测试工程师还得兼顾“提交并跟踪 18 个缺陷”等日常事务,所以更需要一套拿来就能用的方法。
推荐工具
代码托管平台和编辑器中有不少 AI 评审工具,例如 GitHub Copilot 的代码评审、GitLab Duo、Cursor 以及各类开源的 AI 评审机器人;也可以把差异内容贴给对话助手。
编辑器内的编程助手能结合项目上下文评审;独立的对话助手适合评审单个文件或片段。注意公司对源代码外发的规定。
一个虚构的例子
先看一个虚构但很典型的例子。小吴是一位负责功能测试、接口测试和回归测试的 QA,这周手头的事情包括“补充登录模块的接口自动化用例”和“整理兼容性测试机型清单”,偏偏这时又需要做代码评审。小吴没有从空白页开始,而是先花几分钟把相关材料整理好,按下面的提示词交给 AI,拿到初稿后对照原始资料逐条核对,再补上自己的判断。整个过程中,小吴特别留意不把测试账号密码、生产数据和未公开的版本信息放进对话里。
分步操作
- 准备改动说明:这次改动要解决什么问题
- 提供代码差异或改动后的文件
- 指定评审维度:正确性、边界条件、安全、性能、可读性
- 要求按严重程度分级输出,并给出修改建议
- 人工确认每条意见,AI 的意见不等于结论
提示词模板(可直接复制)
下面的提示词可以直接复制,按测试工程师的实际情况替换细节:
【背景】最近在处理“补充登录模块的接口自动化用例”,同时要准备“整理兼容性测试机型清单”。
请评审下面这段代码改动。
背景:完成会员中心 2.3 版本功能测试,这次改动新增了一个按模块查询“缺陷记录”的接口。
语言:Python(FastAPI)
评审维度:
1. 正确性和边界条件(空值、分页、时区)
2. 安全(注入、越权、敏感信息日志)
3. 性能(N+1 查询、缺少索引)
4. 可读性和可维护性
输出格式:严重程度(阻塞 / 建议 / 细节)| 位置 | 问题 | 修改建议
只指出确实存在的问题,不确定的请标注“需确认”。
代码:
(粘贴 diff)
示例输出(仅供示意)
示例输出如下(虚构内容,仅演示 AI 大致会给出什么样的结果):
严重程度 位置 问题 修改建议 阻塞 query_records 第 12 行 用字符串拼接构造 SQL,存在注入风险 改为参数化查询 阻塞 接口入口 未校验调用者是否有权访问该模块的数据 增加权限校验 建议 第 20 行 每条记录单独查询关联信息,存在 N+1 问题 改为批量查询 建议 日志 打印了完整请求参数,可能包含敏感信息 脱敏后再记录 细节 第 5 行 变量名 d 含义不清 改为 record_date 需确认:page_size 未设上限,是否在网关层已限制?
如果结果不理想,不要急着换工具,先在提示词里补充项目经理的具体要求或给出一个参考样例,再生成一次。
避坑指南
- AI 会产生误报,也会漏掉业务逻辑错误,不能替代人工评审。
- 提供改动背景,否则 AI 无法判断逻辑是否符合需求。
- 遵守公司源代码保密规定,不要把核心代码贴进未经批准的工具。
给测试工程师的特别提醒
把需求文档原文给 AI,让它按等价类、边界值、异常流分别列用例。同时要记住:AI 列出的用例只是候选清单,覆盖是否充分仍要结合需求和历史缺陷人工把关。
变体用法
- 自查:提交前先让 AI 评审一遍,减少来回修改。
- 评审总结:汇总一段时间的评审意见,提炼团队常见问题。