
软件测试的日常,很多时候不是“跑不动”,而是“想不全”。需求文档一句话,测试人员要拆出正常流程、边界条件、异常分支、并发场景、兼容性组合。写自动化脚本更耗时:定位元素、封装接口、维护断言,需求一变,脚本跟着大面积返工。
大模型的价值,恰好落在这些“费脑又费时”的环节:理解需求、生成用例、补全边界、编写脚本、分析日志、总结报告。它不替代测试工程师,而是把重复劳动压缩,让人专注于判断和设计。
环节 | 大模型做什么 | 人负责什么 |
|---|---|---|
需求分析 | 提取测试点、识别歧义 | 确认业务规则 |
用例设计 | 生成正常/边界/异常用例 | 评审覆盖度 |
测试数据 | 造手机号、身份证、订单 | 脱敏与合规 |
自动化脚本 | 生成 pytest、Selenium 代码 | 调试与维护 |
缺陷分析 | 归纳日志、猜测根因 | 复现与定位 |
测试报告 | 汇总结果、提炼风险 | 判断发布与否 |
下面这段代码只做一件事:把需求交给模型,让它输出测试用例。
from openai import OpenAI
client = OpenAI()
def gen_cases(req):
prompt = f"""你是资深测试工程师。根据需求生成测试用例,
覆盖正常、边界、异常,用表格输出:用例名、步骤、预期。
需求:{req}"""
r = client.chat.completions.create(
model="gpt-4o-mini",
messages=[{"role": "user", "content": prompt}]
)
return r.choices[0].message.content
print(gen_cases("登录:手机号+验证码,验证码5分钟有效,错误3次锁定"))运行后,你会得到一张用例表。它不一定完美,但能帮你快速铺开思路,再由人工补充业务细节。
同样的思路,可以把接口文档交给模型,让它生成 pytest + requests 脚本:
def gen_pytest(api_doc):
prompt = f"用 pytest + requests 写接口测试,包含状态码和字段断言。接口:{api_doc}"
# 调用模型并返回代码实际落地时,建议加上模板约束,比如“必须使用 fixture”“必须参数化”“断言必须包含 code 和 message”,这样生成结果更稳定。
第一,人机协同。大模型负责“起草”,人负责“定稿”。用例是否覆盖核心业务,脚本是否可靠,最终仍由测试工程师判断。
第二,结合知识库。把历史缺陷、接口文档、业务规则做成 RAG 检索,模型生成的内容会更贴合项目,而不是泛泛而谈。
第三,工具调用。让模型调用接口、查数据库、跑脚本,形成“生成—执行—反馈”的闭环,而不是只停留在聊天窗口。
第四,注意风险。大模型会幻觉,可能编造不存在的接口字段;公司内部数据不能随意传给公共模型;生成代码要经过审查和测试才能入库。
AI 大模型不会让软件测试消失,但会改变测试的工作方式。重复的用例编写、脚本搭建、日志归纳,可以交给模型;测试工程师的价值,会更多体现在业务理解、风险判断和测试策略上。
少写一点代码,多想一点场景——这或许是大模型时代,测试工程师最值得练的能力。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。