系列:CrewAI 系列, 多 Agent 测试框架实战(第 1 篇,暂定24篇,这24篇会把用例、UI、接口、性能、Bug分析全讲清楚)
字数:约 3,000 字
阅读时间:8 分钟
🔥 你是不是也遇到过这些问题?
场景 1:测试用例永远写不完
新功能要测试,老功能要回归
手工用例 500+,自动化脚本 200+
每次迭代都要更新,根本维护不过来
老板还问:"为什么测试总是瓶颈?"
场景 2:测试时间总被压缩
项目延期了,老板说:"测试时间压缩一半,周五必须上线"
原本 5 天的测试周期,现在只剩 2 天
用例跑不完,覆盖度不够,心里没底
上线后出问题,背锅的还是测试...
场景 3:测试报告没人看
辛辛苦苦做了两周测试,写了 20 页报告
发布评审会上,大家翻了 2 页就跳过了
老板问:"说重点,能不能发布?"
你:......
💡 我的解决方案:用 CrewAI 搭建多 Agent 测试团队
因为它能让 AI 像真实测试团队一样协作:
┌─────────────────────────────────────────┐
│ 你的 AI 测试团队 │
├─────────────────────────────────────────┤
│ 📋 测试经理 → 自动制定测试计划 │
│ ✏️ 测试设计师 → 自动设计测试用例 │
│ 🔧 测试工程师 → 自动执行 API 测试 │
│ 📊 测试分析师 → 自动分析 Bug 根因 │
│ 📝 测试报告专员 → 自动生成专业报告 │
└─────────────────────────────────────────┘
效果如何? 在我的实战项目中:
-
✅ 生成 5 份专业报告(测试计划/用例/结果/分析/最终报告)
-
✅ 发现 6 个问题(3 个 P0 严重问题)
-
✅ 给出明确的发布建议(不建议发布)
2.1 CrewAI 的核心优势
为什么最终选择 CrewAI?
优势 1:角色驱动 每个 Agent 有明确的角色、目标、背景故事:
from crewai import Agent
agent = Agent(
role="测试经理",
goal="制定测试计划",
backstory="你是拥有 15 年经验的测试经理..."
)
效果:输出更专业、更符合角色定位。
优势 2:Task 编排灵活 支持顺序/并行/条件执行:
from crewai import Crew, Process
crew = Crew(
agents=[agent1, agent2],
tasks=[task1, task2],
process=Process.sequential # 顺序执行
)
效果:适合测试流程(计划→设计→执行→分析→报告)。
优势 3:工具集成简单 可以轻松封装 API 测试、性能测试等工具:
from crewai.tools import BaseTool
class APITestTool(BaseTool):
def _run(self, url: str) -> dict:
response = requests.get(url)
return {"status": response.status_code}
效果:Agent 可以调用真实系统。
优势 4:事件系统完善 完整的事件总线,便于监控和调试:
Crew Execution Started → Task Started → Agent Started → Task Completed
效果:执行过程可视化,便于排查问题。
2.2 其他框架的不足
LangChain:
<h1>配置复杂,需要多个组件</h1>
chain = LLMChain(llm=llm, prompt=prompt)
agent = AgentExecutor.from_agent_and_tools(...)
问题:配置复杂,文档分散,适合快速原型但不适合生产。
AutoGen:
<h1>对话能力强,但测试场景支持弱</h1>
assistant = AssistantAgent("assistant")
user_proxy = UserProxyAgent("user_proxy")
问题:适合对话应用,测试场景支持不足。
3. CrewAI 能做什么?
3.1 典型应用场景
| 场景 | 说明 | 难度 |
|---|---|---|
| 测试计划生成 | 需求文档→测试计划 | ⭐⭐ |
| 测试用例设计 | 自动设计 P0/P1/P2 用例 | ⭐⭐⭐ |
| API 测试执行 | 调用真实 API 并记录结果 | ⭐⭐⭐ |
| 性能测试 | 并发压测、TPS/QPS 统计 | ⭐⭐⭐⭐ |
| 问题分析 | 5 Why 根因分析 | ⭐⭐⭐⭐ |
| 报告生成 | 生成专业测试报告 | ⭐⭐ |
3.2 我的实战项目
项目背景:本地部署的秒杀/财务电商系统
测试目标:
-
自动化测试计划生成
-
自动化测试用例设计
-
真实 API 测试执行
-
智能问题分析
-
专业测试报告生成
Agent 配置:5 个专业 Agent
测试经理 → 制定测试计划
测试设计师 → 设计测试用例
测试工程师 → 执行 API 测试
测试分析师 → 分析问题根因
测试报告专员 → 生成最终报告
执行结果:
-
生成 5 份专业报告(测试计划/用例/结果/分析/最终报告)
-
发现 6 个问题(3 个 P0 严重问题)
-
给出明确的发布建议(不建议发布)
4. CrewAI 的核心概念
4.1 三个核心类
from crewai import Agent, Task, Crew
| 类 | 作用 | 类比 |
|---|---|---|
| Agent | 执行任务的智能体 | 员工 |
| Task | 具体工作任务 | 工单 |
| Crew | 团队协作编排 | 项目组 |
4.2 关系图
┌─────────────────────────────────────────┐
│ Crew │
│ ┌───────────┐ ┌───────────┐ │
│ │ Agent 1 │→ │ Agent 2 │ │
│ │ 测试经理 │ │ 设计师 │ │
│ └─────┬─────┘ └─────┬─────┘ │
│ │ │ │
│ ┌─────▼─────┐ ┌─────▼─────┐ │
│ │ Task 1 │ │ Task 2 │ │
│ │ 写测试计划 │ │ 设计用例 │ │
│ └───────────┘ └───────────┘ │
└─────────────────────────────────────────┘
5. 快速开始:10 分钟体验
5.1 安装
<h1>创建虚拟环境</h1>
python3 -m venv venv
source venv/bin/activate
<h1>安装 CrewAI</h1>
pip install crewai crewai-tools
5.2 配置 API Key
推荐使用阿里巴巴 DashScope(通义千问):
<h1>获取 API Key:https://dashscope.console.aliyun.com/</h1>
export DASHSCOPE_API_KEY=***
5.3 第一个 Agent
创建 hello.py:
from crewai import Agent, Task, Crew
<h1>1. 定义 Agent</h1>
agent = Agent(
role="助手",
goal="帮助用户完成任务",
backstory="你是一个友好的 AI 助手",
verbose=True
)
<h1>2. 定义 Task</h1>
task = Task(
description="请用 3 句话介绍人工智能",
expected_output="AI 简介",
agent=agent
)
<h1>3. 创建 Crew</h1>
crew = Crew(agents=[agent], tasks=[task], verbose=True)
<h1>4. 执行</h1>
result = crew.kickoff()
print(result)
运行:
python hello.py
输出:
🚀 Crew Execution Started
╭────────────────────── 🤖 Agent Started ──────────────────────╮
│ Agent: 助手 │
╰──────────────────────────────────────────────────────────────╯
╭─────────────────── ✅ Agent Final Answer ────────────────────╮
│ 人工智能起源于 1956 年达特茅斯会议。 │
│ 20 世纪 80 年代专家系统兴起。 │
│ 2010 年后深度学习突破,AI 进入快速发展期。 │
╰──────────────────────────────────────────────────────────────╯
完成!你的第一个 Agent 运行成功了!
6. 本系列文章预告
这是第 1 篇,后续 23 篇:
| 模块 | 篇数 | 内容 |
|---|---|---|
| CrewAI 入门 | 4 篇 | 环境搭建、Agent 基础 |
| Agent 设计 | 4 篇 | 角色设计、backstory 写作 |
| Tool 开发 | 4 篇 | API/性能/UI 测试工具 |
| Task 编排 | 4 篇 | 顺序/并行/依赖关系 |
| 测试实战 | 4 篇 | 计划/用例/执行/压测 |
| 分析报告 | 4 篇 | 根因分析/报告生成 |
第 2 篇预告:《10 分钟搭建 CrewAI 环境》 - 详细安装步骤(Windows/macOS/Linux) - API Key 获取与配置 - 验证安装是否成功
7. 小结
核心要点:
1. CrewAI 适合复杂工作流 - 角色清晰、编排灵活
2. 5 个核心概念 - Agent、Task、Crew、Tool、Process
3. 10 分钟可体验 - 安装 + 配置 + 第一个 Agent
4. 本系列 24 篇 - 从入门到企业级落地
作者说:14 年测试生涯,我见证了从手工测试到 AI 测试。工具在变,但测试的核心价值不变——确保产品质量,降低业务风险。 欢迎关注测试员周周,获取更多 AI+ 测试实战内容!
📚 系列文章索引
| 序号 | 文章 | 状态 |
|---|---|---|
| 01 | CrewAI 是什么? | ✅ 本篇 |
| 02 | 10 分钟搭建环境 | 📝 下一篇 |
| 03 | 第一个 Agent | ⏳ 待发布 |
| ... | ... | ... |