news 2026/5/6 17:51:51

基于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/5/6 17:50:50

接口性能优化的11个小技巧

接口性能优化 对于从事后端开发的同学来说,肯定再熟悉不过了,因为它是一个跟开发语言无关的公共问题。 该问题说简单也简单,说复杂也复杂。 有时候,只需加个索引就能解决问题。 有时候,需要做代码重构。 有时候&am…

作者头像 李华
网站建设 2026/5/6 17:50:49

git个人开发流程

1. 标准开发流程 (针对个人项目) 第一步:同步主分支 (保持起点最新) # 1. 切换回主分支 git checkout main# 2. 拉取远程最新代码 (防止你在这个设备开发时,在另一个设备Push过代码) git pull origin main 第二步:新建并切换分支 不要在 …

作者头像 李华
网站建设 2026/5/3 8:04:09

智能安防(有完整资料)

资料查找方式:特纳斯电子(电子校园网):搜索下面编号即可编号:CP-51-2021-051设计简介:本设计是基于单片机的智能安防系统,主要实现以下功能:可通过LCD1602安防状态和是否有人&#x…

作者头像 李华
网站建设 2026/5/1 16:19:24

django基于大数据旅游数据分析与推荐系统的设计与实现

前言Django基于大数据的旅游数据分析与推荐系统是一个结合了Python编程语言、Django Web框架、大数据技术以及推荐算法的综合性平台,旨在通过收集、分析和利用旅游相关的数据,为用户提供个性化的旅游推荐服务,同时为旅游企业和管理部门提供决…

作者头像 李华
网站建设 2026/4/30 18:52:31

SSH登录异常频发:除了改端口,我们还能做什么?

封不完的IP?拦不住的爆破?这四招让黑客直接绝望! 各位运维工程师、系统管理员,上面这些吐槽,是不是你们的日常?面对SSH暴||力破解,修改默认22端口就像是给家门换了一把没藏在垫子底下、但藏在花…

作者头像 李华
网站建设 2026/5/6 8:29:48

JAVA源码助力:汽车养护同城服务升级

JAVA源码可通过微服务架构、多端适配、智能调度与数据安全保障等技术手段,助力汽车养护同城服务实现高效便捷的一键触达,具体实现路径如下:一、技术架构:微服务跨平台,支撑高并发与全场景覆盖微服务拆分采用Spring Boo…

作者头像 李华