news 2026/1/30 14:53:14

基于LangChain手工测试用例生成工具

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
基于LangChain手工测试用例生成工具

在编写测试用例的过程中,测试工程师会通过需求文档,研发的概要设计等信息编写测试用例,测试用例的输出格式常常为思维导图或者excel等数据信息。

在以上的流程中,一个测试工程师可以根据比较详细的需求文档以及研发的概要设计输出对应的测试点,以及测试用例。而如果和人工智能进行结合的话,人工智能代替的工作就是测试工程师目前的位置。

实践演练

需求说明

接下来,则通过一个小实战练习完成整个流程,以下为某个产品的需求文档(需要右键另存为)。

实战要完成具体的操作为,根据对应的需求文档,生成一个思维导图。

实现思路

完整代码

from langchain_community.document_loaders import TextLoader from langchain_community.vectorstores.faiss import FAISS from langchain_core.tools import tool from langchain_openai import ChatOpenAI, OpenAIEmbeddings from langchain.agents import AgentExecutor, create_openai_tools_agent from langchain import hub from plantuml import PlantUML # 声明模型 llm = ChatOpenAI() # # 1. 读取文件。 loader = TextLoader("./需求文档.md") data = loader.load() # 3. embedding embeddings = OpenAIEmbeddings() # # 4. 向量存储 vector = FAISS.from_documents(data, embeddings) retriever = vector.as_retriever() from langchain.tools.retriever import create_retriever_tool retriever_tool = create_retriever_tool( retriever, "search_demand", "找到需求文档中具体说明需求的地方", ) @tool def generate_png(uml_code, filename): """输入plantuml代码生成图像并保存为文件""" plantuml = PlantUML(url='https://plantuml.ceshiren.com/img/') image_bytes = plantuml.processes(uml_code) with open(f'{filename}.png', 'wb') as f: f.write(image_bytes) tools = [retriever_tool, generate_png] llm_with_tools = llm.bind_tools(tools) prompt = hub.pull("hwchase17/openai-tools-agent") agent = create_openai_tools_agent(llm, tools, prompt, ) agent_executor = AgentExecutor(agent=agent, tools=tools, verbose=True) result = agent_executor.invoke({ "input": """我是一个测试工程师,我需要从以上的需求文档中梳理出来需求信息,请帮我将所有的需求梳理出来," "思维导图的第一级是需求文档中的4.x开头的标题信息,表示功能模块,第二级是该功能模块的测试点," "请先输出一个 plantuml 格式的源码,源码格式如代码内所示 @startmindmap * root node * some first level node * second level node * another second level node * another first level node @endmindmap 然后再根据源码信息输出一个plantuml格式的思维导图文件。生成一个图片文件,文件名为 hogwarts加任意随机数""" })

总结

掌握 LangChain 中Retrieval的使用。

掌握 LangChain 中 agent 的使用。

掌握通过 LangChain 将需求文档转为测试用例的技巧

感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/1/30 14:43:20

别再瞎选场镜(F-Theta Lens)啦!焦距、光斑、景深关系大揭秘

引言 在激光加工、激光测量等诸多先进技术领域,场镜(F-Theta Lens)作为关键的光学元件,发挥着不可或缺的作用。它能够将激光束在整个打标平面内形成均匀大小的聚焦光斑 ,确保激光能量精确地作用于目标区域,从而实现高精度的加工与测量任务。无论是精细的电子产品微加工,…

作者头像 李华
网站建设 2026/1/30 14:41:29

NMFC03多功能控制器

NMFC03 多功能控制器简介NMFC03 多功能控制器用于工业控制系统中,集成多种控制与处理功能,实现系统运行的集中管理。集成多种控制功能,减少系统模块数量支持多种控制逻辑与应用需求数据处理能力强,响应速度快可同时协调多个功能模…

作者头像 李华
网站建设 2026/1/30 14:41:21

NMFC05多功能控制器模块

NMFC05 多功能控制器模块简介 NMFC05 多功能控制器模块是一款高集成度工业控制单元,专为复杂自动化系统设计,可同时管理多路输入输出及逻辑运算。 高度集成的控制单元,减少系统布线和模块数量 支持多种工业协议和控制模式 能够处理复杂逻辑…

作者头像 李华
网站建设 2026/1/30 14:41:11

量化交易数据处理_Python期货数据清洗实践记录

声明:本文为个人学习笔记,仅供技术交流,不构成任何投资建议。 一、前言 在期货量化这条路上,我已经走了整整二十年。从青涩的新手到现在的老油条,踩过的坑数都数不清。 这些年最深刻的体会之一就是:数据质…

作者头像 李华
网站建设 2026/1/30 14:41:06

基于python的美妆产品网络评价的数据采集与分析2025_a0h0967b

前言   在数字化时代,美妆行业蓬勃发展,电商平台积累了海量用户评价数据。这些数据蕴含消费者偏好、产品痛点及市场趋势等核心信息,但传统人工分析方式效率低、覆盖面窄。基于Python的美妆产品网络评价数据采集与分析系统,通过自…

作者头像 李华