📝 面试求职: 「面试试题小程序」 ,内容涵盖 测试基础、Linux操作系统、MySQL数据库、Web功能测试、接口测试、APPium移动端测试、Python知识、Selenium自动化测试相关、性能测试、性能测试、计算机网络知识、Jmeter、HR面试,命中率杠杠的。(大家刷起来…)
📝 职场经验干货:
随着大语言模型的火爆,越来越多测试工程师开始思考:除了聊天,它还能为我的测试工作带来什么实质帮助?本文将带你从零入门 LangChain,掌握它如何与大模型协同工作,了解实现测试用例生成、日志分析、脚本生成等智能化测试场景。AI 不再只是“会说话”,而是真正能帮你“干活”的测试搭子!
一、什么是 LangChain?
什么是LangChain? 来自于官方的定义:
LangChain 是一个用来构建 LLM 驱动应用的开源框架
LangChain 是一个帮你快速构建 AI 应用的开发框架,尤其适合用来调用大语言模型(比如 GPT-4、文心一言、DeepSeek 等),并让它们能真正“干活”。
在 AI 大模型快速发展的时代,我们可以用它来帮我们“写测试用例”“分析缺陷日志”甚至“生成测试代码”。LangChain能够帮你把 AI 模型、文档资料、外部工具、接口服务等不同组件灵活拼起来,让 AI 能够自动完成任务,而不仅仅是聊天那么简单。
简单来说,LangChain 是一个帮助我们“更方便使用大语言模型”的开发工具包。它就像是一个拼装积木的工具箱,让我们可以把 AI 能力与各种数据源、接口、流程连接起来,快速搭建出实用的智能应用。
比如,你可以用 LangChain 做这些事情:
-
让 AI 帮你生成测试用例(只需要把需求文档喂进去)
-
和 AI 对话,回答“我们项目的接口测试规范是什么?”
-
让 AI 帮你分析大量缺陷日志,自动找出问题根因
官方文档:https://python.langchain.com/docs/introduction/
二、LangChain 的核心模块
LangChain 像一个工具箱,里面有七种常见“工具模块”,初学者可以重点了解以下几个:
1、模型接口(Model I/O)
-
模型(Model):对接不同的大语言模型(OpenAI、Ollama、DeepSeek 等),就像换不同的大脑。
-
提示模板(Prompt):写给 AI 的问题“模板”,比如:“请用以下字段生成测试用例:{字段内容}”
-
输出解析器(Output Parsers):把 AI 的回答转成结构化格式,方便程序读取和处理。
2、链(Chains)
-
把多个操作步骤串成一个流程,比如:读取文档 ➝ 提取信息 ➝ 输出用例。
-
支持自由组合、灵活搭建不同任务流程。
3、记忆(Memory)
-
保存对话上下文,让 AI 记住你前面说过的话。
-
适用于需要“连续对话”的场景。
4、代理(Agents)
-
让 AI 具备“自己决定该干嘛”的能力。
-
比如:你说“帮我写一个登录测试脚本”,它会自己决定先分析接口,再生成代码。
5、工具(Tools)
-
是 AI 可以调用的“外部工具”,比如搜索、接口请求、数据库查询等。
-
Agent 模块会用它们来完成复杂任务。
6、检索器(Retrievers)
-
让 AI 能从你的文档中“找资料”。
-
这是做“RAG 智能问答”的关键部件。
7、文档加载器(Document Loaders)
-
把 PDF、Word、HTML 等文档“读”进来,供后续处理或问答使用。
总结一句话:LangChain 就是帮你把“大模型 + 数据 + 工具”拼成一个有用的应用流程。
三、LangChain 在软件测试中的典型玩法
场景一:自动生成测试用例
只要把需求文档或接口文档上传,LangChain 就能调用大模型生成格式化的测试用例(包括测试点、步骤、预期结果等)。
-
使用向量库存储文档(Chroma/FAISS)
-
使用链式流程提取并生成用例(LCEL)
场景二:根据自然语言生成自动化脚本
你只需说一句话,比如“帮我写一个登录功能的 Pytest 脚本”,LangChain 就能调用模型生成对应代码。
-
LangChain Agents
-
调用 Code Interpreter 工具生成 Python 代码
场景三:缺陷分析和聚类
当你有成百上千条缺陷记录时,LangChain 可以帮你分析共性、分组、提炼总结。
-
向量化存储缺陷数据
-
调用 LLM 做聚类、标签归类和高频问题分析
场景四:智能日志分析
测试日志太多?找不到报错点?你可以把日志导入 LangChain,然后随时问它
-
分片日志 + 检索链问答
-
自动摘要重点异常
场景五:接口文档解析 ➝ 自动生成接口测试
-
自动读取 Swagger 或 Markdown 格式的接口文档,提取出字段、参数、方法等
-
生成测试用例模板和测试数据。
场景六:构建测试 Copilot 助手
为你的测试团队打造一个“能对话的知识专家”,随时回答测试技术问题:
-
构建私有知识库(上传文档)
-
构建 LangChain + RAG 问答系统
四、LangChain 安装与环境配置
第一步:安装 Miniconda(虚拟环境管理工具)
作用:让你创建干净独立的 Python 环境,不影响你电脑上的其它项目。
官网下载地址:https://docs.conda.io/en/latest/miniconda.html
安装后,打开终端,输入:
conda --version # 检查是否安装成功
第二步:创建并激活 LangChain 项目环境
conda create -n langchain python=3.10 -y
conda activate langchain
第三步:安装 LangChain 及相关依赖
pip install langchain==0.3.25
pip install langchain-openai==0.3.16
pip install langchain-deepseek==0.1.3
pip install langchain-ollama==0.3.2
五、如何调用不同模型(OpenAI / DeepSeek / 本地模型)
示例1:使用 OpenAI GPT
from langchain_openai import ChatOpenAI
llm = ChatOpenAI(
model="gpt-4",
temperature=0.5,
api_key="你的OpenAI密钥"
)
print(llm.invoke("写一个登录功能的接口测试用例"))
示例2:使用 DeepSeek 云服务模型
from langchain_deepseek import ChatDeepSeek
llm = ChatDeepSeek(
model="deepseek-chat",
temperature=0.5,
api_key="你的DeepSeek API Key"
)
print(llm.invoke("请生成一个接口自动化脚本"))
示例3:调用本地模型(Ollama)
Ollama 是一个本地模型运行平台,适合没有联网需求或需要数据私密的场景。
安装地址:https://ollama.com/download
ollama run deepseek-r1:1.5b # 下载并运行模型
代码调用示例:
from langchain_ollama import OllamaLLM
llm = OllamaLLM(
model="deepseek-r1:1.5b",
temperature=0.5,
base_url="http://localhost:11434"
)
print(llm.invoke("简单介绍性能测试相关指标"))
六、进阶封装技巧:统一模型调用工厂
为了避免在代码中硬编码 API Key
和 模型名称
,我们可以用 .env
文件保存配置,用 llm_factory.py
封装调用逻辑。
目录结构:
project/
├── .env # 存放密钥与模型配置
├── llm_factory.py # 模型统一调用工厂
.env 文件示例:
LLM_PROVIDER=openai
OPENAI_API_KEY=sk-xxx
OPENAI_MODEL=gpt-4
llm_factory.py:
from dotenv import load_dotenv
from langchain_openai import ChatOpenAI
from langchain_deepseek import ChatDeepSeek
from langchain_ollama import OllamaLLM
import os
load_dotenv()
def get_llm(temperature=0.5):
provider = os.getenv("LLM_PROVIDER")
if provider == "openai":
return ChatOpenAI(
api_key=os.getenv("OPENAI_API_KEY"),
model_name=os.getenv("OPENAI_MODEL"),
temperature=temperature
)
elif provider == "deepseek":
return ChatDeepSeek(
api_key=os.getenv("DEEPSEEK_API_KEY"),
model_name=os.getenv("DEEPSEEK_MODEL"),
temperature=temperature
)
elif provider == "ollama":
return OllamaLLM(
model=os.getenv("OLLAMA_MODEL"),
temperature=temperature
)
else:
raise ValueError(f"不支持的模型类型: {provider}")
最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取【保证100%免费】