如何尽可能使用开源免费的软件构建软件行业的测试智能体
·
目录
5.1 UI 测试(Web):Playwright(微软开源)
下面我给你一套从零搭建、全开源免费、可落地的软件测试智能体(Test Agent)完整构建流程。整体采用:大模型(本地开源)+ Agent 编排 + 自动化测试工具 + 向量知识库 + 反思闭环,全程不依赖商业 API。
一、整体架构
测试智能体核心是:理解需求 → 生成用例 → 自动执行 → 分析结果 → 自我优化。 采用分层设计(全部开源):
- 模型层(LLM):本地部署开源大模型(代码能力强)
- 智能体编排层:LangChain / AutoGen / Dify(选一个)
- 工具执行层:Playwright / Selenium / Appium / pytest / requests
- 知识管理层:Chroma / FAISS(向量库)+ 测试知识库
- 反思优化层:结果分析 → 缺陷聚类 → 用例迭代
核心循环:规划(Plan)→ 执行(Execute)→ 反思(Reflect)→ 优化(Optimize)
二、环境准备(全免费)
2.1 硬件
- 最低:16GB 内存 + 支持 CUDA 的 GPU(RTX 3090/4090 或 A10)
- 推荐:32GB 内存 + 24GB VRAM(本地跑 7B–13B 模型)
2.2 软件(全开源)
# Python
pip install python==3.10
# 核心框架
pip install langchain autogen dify
# 本地模型部署(关键,不用OpenAI)
pip install ollama llama.cpp vllm
# 自动化测试工具
pip install playwright selenium requests pytest allure-pytest
# 向量库
pip install chromadb faiss-cpu
# 其他
pip install pandas numpy transformers
三、第一步:本地部署开源代码大模型(免费、私有)
测试智能体需要懂代码、会写用例、能分析日志的 LLM。
3.1 推荐模型(全开源、可商用)
- CodeLlama-7B/13B(Meta,代码能力强)
- DeepSeek-Coder-7B(国内,中文 + 代码好)
- StarCoder2-7B(Hugging Face)
- TestGPT-7B(专门针对测试场景优化)
3.2 用 Ollama 一键本地部署(最简单)
# 安装ollama(跨平台)
curl -fsSL https://ollama.com/install.sh | sh
# 拉取代码模型(自动下载+配置)
ollama run deepseek-coder:6.7b
# 测试是否可用
ollama run deepseek-coder:6.7b "写一个登录接口的pytest用例"
Ollama 会暴露本地 API:http://localhost:11434,LangChain 可直接调用。
四、第二步:搭建测试智能体核心(Agent)
4.1 选框架(推荐 3 种,全开源)
- LangChain:最成熟、自定义强,适合从零开发
- AutoGen:微软开源,多智能体协作强(生成 Agent + 执行 Agent + 反思 Agent)
- Dify:低代码 / 无代码,快速搭建工作流,适合非开发人员
下面以 LangChain + Ollama(本地 LLM) 为例写最简可运行代码。
4.2 最简测试 Agent 代码(Python)
from langchain.llms import Ollama
from langchain.agents import Tool, initialize_agent
from langchain.tools import ShellTool
# 1. 连接本地模型(Ollama)
llm = Ollama(model="deepseek-coder:6.7b", temperature=0.1)
# 2. 定义测试工具(Agent能调用的能力)
tools = [
ShellTool(description="执行命令行:运行pytest、启动服务、查看日志"),
Tool(
name="Playwright",
func=lambda cmd: f"执行UI操作:{cmd}",
description="网页自动化:打开页面、点击、输入、截图"
),
Tool(
name="API测试",
func=lambda cmd: f"调用接口:{cmd}",
description="发送HTTP请求,验证响应"
)
]
# 3. 初始化Agent(核心)
agent = initialize_agent(
tools, llm, agent="zero-shot-react-description", verbose=True
)
# 4. 测试:给自然语言,Agent自动规划+执行
result = agent.run("测试登录功能:用户admin/密码123,成功后截图;失败则查看日志并生成缺陷报告")
print(result)
运行后,Agent 会自动拆解任务 → 调用 Playwright 打开页面 → 输入账号密码 → 判断结果 → 截图 / 查日志 → 输出报告。
五、第三步:集成自动化测试工具链(全开源)
5.1 UI 测试(Web):Playwright(微软开源)
# 安装浏览器驱动
playwright install
# Agent可直接调用:打开、点击、输入、截图、断言
5.2 API 测试:requests + pytest
Agent 自动生成并执行类似用例:
def test_login():
res = requests.post("/api/login", json={"user":"admin","pwd":"123"})
assert res.status_code == 200
5.3 移动端:Appium(开源)
5.4 报告:Allure(开源,美观)
pytest --alluredir=reports
allure serve reports
六、第四步:构建测试知识库(RAG,提升准确性)
让 Agent学习你的项目需求、接口文档、历史用例、缺陷,避免幻觉。
6.1 流程
- 把需求文档、API 文档、历史用例 → 转成文本
- 用 Chroma/FAISS 做向量存储
- Agent 回答前先检索相关知识,再生成结果
6.2 代码示例(RAG)
from langchain.vectorstores import Chroma
from langchain.embeddings import HuggingFaceEmbeddings
from langchain.document_loaders import TextLoader
# 1. 加载测试文档
loader = TextLoader("test_docs/login_api.md")
docs = loader.load()
# 2. 向量化+入库
embeddings = HuggingFaceEmbeddings(model_name="all-MiniLM-L6-v2")
db = Chroma.from_documents(docs, embeddings, persist_directory="./chroma_db")
# 3. 检索相关知识后再问Agent
retriever = db.as_retriever()
# 后续Agent会自动结合检索结果生成用例,更准、更少幻觉
七、第五步:加入反思闭环(自我优化,关键)
普通 Agent 是 “做完就完”;测试智能体必须会反思:
- 用例失败 → 分析原因(是 Bug 还是用例错)
- 覆盖不全 → 补充场景
- 重复用例 → 去重优化
7.1 反思流程
执行用例 → 结果(Pass/Fail)→ LLM分析日志/截图 → 输出结论 → 自动修改用例/新增用例
7.2 反思 Agent(AutoGen 多智能体示例)
- 生成 Agent(TGA):写用例
- 执行 Agent(EAA):跑用例、收集结果
- 反思 Agent(ROA):分析、优化、反馈
八、第六步:部署与运行(全免费、可分布式)
8.1 单机部署(小团队)
- Ollama(模型)+ LangChain(Agent)+ 测试工具(本地)
- 启动:
python test_agent.py
8.2 分布式部署(大团队,Test-Agent 架构)
- Controller(控制器):任务调度、负载均衡
- Model Worker(模型节点):多 GPU 部署多个 LLM 实例
- Web UI:用 Gradio/Streamlit 做界面(开源)
# 启动控制器
python -m chat.server.controller
# 启动模型节点(多机可部署多个)
python -m chat.server.model_worker --model-path models/TestGPT-7B --device cuda
九、推荐开源项目(直接参考 / 二次开发)
- Test-Agent:开源测试智能体,含控制器 + 工作节点 + WebUI
- TestZeus Hercules:多 Agent、支持 UI/API/ 安全测试、Gherkin 语言
- hello-agents:Datawhale 开源,从零教你做 Agent,含测试场景
- browser-use:AI 驱动浏览器,自然语言操作网页
十、成本与效果(全免费)
- 模型:本地开源,0 费用
- 框架 / 工具:全开源,0 费用
- 硬件:旧 GPU 也能跑(7B 模型最低 10GB VRAM)
- 效果:
- 自动生成 80%+ 基础用例
- UI/API 自动化执行
- 自动分析结果、生成报告
- 持续优化用例库
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)