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

1985 篇文章 51 订阅
759 篇文章 1 订阅

在编写测试用例的过程中,测试工程师会通过需求文档,研发的概要设计等信息编写测试用例,测试用例的输出格式常常为思维导图或者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加任意随机数"""
})

总结

  1. 掌握 LangChain 中Retrieval的使用。

  2. 掌握 LangChain 中 agent 的使用。

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

最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取 【保证100%免费】

在这里插入图片描述

 ​​​​软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

在这里插入图片描述

在这里插入图片描述

  • 6
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值