news 2026/2/12 7:07:28

基于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/2/7 0:14:39

Spring的反射与动态代理

1. Spring 反射与动态代理Spring 框架广泛使用反射和动态代理机制来增强灵活性与可扩展性,特别是在实现 AOP(面向切面编程)和动态 Bean 配置时。反射允许在运行时获取类的元数据并动态操作对象,而动态代理则允许在运行时创建代理对…

作者头像 李华
网站建设 2026/2/5 14:25:07

学霸同款9个AI论文平台,助你轻松搞定本科生毕业论文!

学霸同款9个AI论文平台,助你轻松搞定本科生毕业论文! AI 工具助力论文写作,告别熬夜苦战 对于本科生而言,撰写毕业论文是一项既重要又棘手的任务。从选题到成稿,每一个环节都充满了挑战。而随着 AI 技术的不断发展&…

作者头像 李华
网站建设 2026/2/12 3:16:01

基于单片机的彩灯控制系统

收藏和点赞,您的关注是我创作的动力 文章目录 概要 一、研究的主要内容二、彩灯的方案设计3.1彩灯常见的工作模式3.2彩灯的设计方案以及工作原理3.2.1彩灯的设计方案3.2.2彩灯的工作原理3.4彩灯效果图 三、设计3.1 plc机型的选择3.2 程序框图 概要 随着社会经济和科…

作者头像 李华
网站建设 2026/2/10 10:43:10

基于python的智能健康检测系统设计与实现2025_v5gemqq6

前言基于Python的智能健康检测系统是一个集数据采集、分析、预警和可视化于一体的综合性健康管理平台。该系统利用Python强大的数据处理能力和丰富的机器学习库,结合可穿戴设备或医疗传感器,实现对用户健康状况的实时监测和智能分析,为用户提…

作者头像 李华
网站建设 2026/2/10 13:29:27

高效便捷JAVA汽车保养同城服务新选择

JAVA汽车保养同城服务通过跨平台协同、智能调度、数据安全保障及创新功能,为用户提供高效便捷的一键触达体验,成为同城汽车养护的新选择。 以下是具体分析: 一、技术架构:跨平台无缝衔接,支撑高并发场景 多端协同 Jav…

作者头像 李华
网站建设 2026/2/11 15:48:18

为什么 LLMs 不适合编码——第二部分

原文:towardsdatascience.com/llms-coding-software-development-artificial-intelligence-68f195bb2ad3 https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/6bdf5bb5eaa3bc463054d27af6866c00.png 自制图像。 在发布本系列的第…

作者头像 李华