写点什么

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

  • 2024-07-19
    北京
  • 本文字数:1303 字

    阅读完需:约 4 分钟

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



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



实践演练

需求说明

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

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

实现思路



完整代码


from langchain_community.document_loaders import TextLoaderfrom langchain_community.vectorstores.faiss import FAISSfrom langchain_core.tools import toolfrom langchain_openai import ChatOpenAI, OpenAIEmbeddingsfrom langchain.agents import AgentExecutor, create_openai_tools_agentfrom langchain import hubfrom plantuml import PlantUML
# 声明模型llm = ChatOpenAI()# # 1. 读取文件。loader = TextLoader("./需求文档.md")data = loader.load()# 3. embeddingembeddings = 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", "找到需求文档中具体说明需求的地方",)@tooldef 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加任意随机数"""})
复制代码

总结

  1. 掌握 LangChain 中 Retrieval 的使用。

  2. 掌握 LangChain 中 agent 的使用。

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

用户头像

社区:ceshiren.com 微信:ceshiren2023 2022-08-29 加入

微信公众号:霍格沃兹测试开发 提供性能测试、自动化测试、测试开发等资料、实事更新一线互联网大厂测试岗位内推需求,共享测试行业动态及资讯,更可零距离接触众多业内大佬

评论

发布
暂无评论
基于LangChain手工测试用例生成工具_测试_测吧(北京)科技有限公司_InfoQ写作社区