为什么你需要这个AI助手?
-
需求文档太复杂
PRD文档动辄几十页,图文混杂,手动提取测试点易遗漏
-
用例设计费时费力
要兼顾等价类、边界值、异常流多种方法,脑细胞不够用
-
跨系统协作难
需要同时读取文档、解析图片、调用测试知识库...
试试用LangGraph 5步搭建智能生成流水线👇
一、LangGraph核心能力速览
LangGraph架构图
-
智能路由
像交通指挥中心自动分配任务
-
工具调用
可对接企业知识库/API/OCR等系统
-
状态记忆
支持处理长文档时的断点续传
-
多轮校验
自动查漏补缺测试场景
二、实战演示:从PRD到测试用例
1. 系统流程图
用例生成流程图
2. 关键工具配置
go
# 读取企业知识库工具
@tool
def get_cf_data(url: str):
"""自动解析公司内部文档结构"""
# 解析文档...
field_descriptions = {
"title": "文章标题",
"html": "html格式",
"markdown": "markdown格式"
}
return {"data": data, "field_descriptions": field_descriptions}
# 图片解析工具
@tool
def get_md_img_data(img_url: str):
"""用AI解析markdown中的图片"""
try:
response = request("GET", img_url)
response.raise_for_status() # 检查请求是否成功
image_data = base64.b64encode(response.content).decode('utf-8') # 将图片内容编码为base64
# 使用ai简述图片中的内容
response = gpt4o_model.invoke([HumanMessage(
content=[
{'type': 'text', 'text': "简述图片中的内容"},
{
'type': 'image_url',
'image_url': {'url': f'data:image/png;base64,{image_data}'},
},
]
)])
return response.content
except Exception as e:
return f"Error processing the image: {str(e)}"
3. Agent核心逻辑
go
tools = [get_cf_data, get_md_img_data]
agent = create_react_agent(
model=gpt4o_model.bind_tools(tools),
tools=tools,
prompt="""
假设你是资深软件测试工程师,现在你的任务是阅读CF中给出的文档,然后梳理出测试用例。
用例生成要求:
a.生成的测试场景语句通顺,表达清楚,不同测试场景的语义跟内容一定不要重复
b.必须先使用多种用例设计方法生成高覆盖度的测试用例,不要错过任何需求细节,其中caseDesc为测试功能点,caseStep为测试操作步骤,expectResult为测试预期结果,用例书写格式:
{
"Method": "【等价类划分/边界值分析/错误推测/正交实验/或其他测试设计手段】", "caseDesc": "", "caseStep": "", "expectResult": ""
}
c.然后再查看已生成的用例,使用多种测试分类方法外充遗漏的测试场景,用例书写格式:
{
"Method": "【功能测试/界面测试/权限/安全/性能/或其他方面测试】", "caseDesc": "", "caseStep": "", "expectResult": ""
}
d. 严格按照用例书写格式输出,不要随意测试不相关的功能
e. 你的回答应该是一个仅包含以上所有字段的json
"""
)
三、生成效果展示
输入文档:包含5个功能模块的PRD(含3张流程图)
智能输出:
测试方法 | 测试场景 | 预期结果 |
---|---|---|
边界值分析 | 输入0个参与人员 | 提示"至少选择1人" |
权限测试 | 普通员工访问管理功能 | 显示"无权限"提示 |
异常流测试 | 提交时断网 | 数据自动缓存待恢复 |
四、开发者进阶技巧
-
质量校验闭环
添加结果验证节点,自动检查用例完整性
-
知识库增强
接入历史用例库实现智能推荐
-
人工审核机制
关键用例推送企微审批
五、为什么选择LangGraph?
-
3分钟
完成传统1天的工作量
-
准确率
提升40%(实测对比人工编写)
-
灵活扩展
支持对接Jira/禅道等测试管理系统
调试后可以发现它调用的情况
工具调用