今天开始CrewAI 系列,多 Agent 测试框架实战(第 1 篇,暂定24篇,这24篇会把用例、UI、接口、性能、Bug分析全讲清楚)
🔥 你是不是也遇到过这些问题?
新功能要测试,老功能要回归手工用例 500+,自动化脚本 200+每次迭代都要更新,根本维护不过来老板还问:"为什么测试总是瓶颈?"
项目延期了,老板说:"测试时间压缩一半,周五必须上线"原本 5 天的测试周期,现在只剩 2 天用例跑不完,覆盖度不够,心里没底上线后出问题,背锅的还是测试...
辛辛苦苦做了两周测试,写了 20 页报告发布评审会上,大家翻了 2 页就跳过了老板问:"说重点,能不能发布?"你:......
💡 我的解决方案:用 CrewAI 搭建多 Agent 测试团队
┌─────────────────────────────────────────┐│ 你的 AI 测试团队 │├─────────────────────────────────────────┤│ 📋 测试经理 → 自动制定测试计划 ││ ✏️ 测试设计师 → 自动设计测试用例 ││ 🔧 测试工程师 → 自动执行 API 测试 ││ 📊 测试分析师 → 自动分析 Bug 根因 ││ 📝 测试报告专员 → 自动生成专业报告 │└─────────────────────────────────────────┘
- ✅ 生成 5 份专业报告(测试计划/用例/结果/分析/最终报告) - ✅ 发现 6 个问题(3 个 P0 严重问题)2.1 CrewAI 的核心优势
优势 1:角色驱动 每个 Agent 有明确的角色、目标、背景故事:from crewai import Agentagent = Agent( role="测试经理", goal="制定测试计划", backstory="你是拥有 15 年经验的测试经理...")
优势 2:Task 编排灵活 支持顺序/并行/条件执行:from crewai import Crew, Processcrew = Crew( agents=[agent1, agent2], tasks=[task1, task2], process=Process.sequential # 顺序执行)
效果:适合测试流程(计划→设计→执行→分析→报告)。 优势 3:工具集成简单 可以轻松封装 API 测试、性能测试等工具:from crewai.tools import BaseToolclass APITestTool(BaseTool): def _run(self, url: str) -> dict: response = requests.get(url) return {"status": response.status_code}
优势 4:事件系统完善 完整的事件总线,便于监控和调试:Crew Execution Started → Task Started → Agent Started → Task Completed
2.2 其他框架的不足
<h1>配置复杂,需要多个组件</h1>chain = LLMChain(llm=llm, prompt=prompt)agent = AgentExecutor.from_agent_and_tools(...)
问题:配置复杂,文档分散,适合快速原型但不适合生产。 <h1>对话能力强,但测试场景支持弱</h1>assistant = AssistantAgent("assistant")user_proxy = UserProxyAgent("user_proxy")
3. CrewAI 能做什么?
3.1 典型应用场景
| | |
|---|
| 测试计划生成 | | |
| 测试用例设计 | | |
| API 测试执行 | | |
| 性能测试 | | |
| 问题分析 | | |
| 报告生成 | | |
3.2 我的实战项目
测试经理 → 制定测试计划测试设计师 → 设计测试用例测试工程师 → 执行 API 测试测试分析师 → 分析问题根因测试报告专员 → 生成最终报告
- 生成 5 份专业报告(测试计划/用例/结果/分析/最终报告)
4. CrewAI 的核心概念
4.1 三个核心类
from crewai import Agent, Task, Crew
4.2 关系图
┌─────────────────────────────────────────┐│ Crew ││ ┌───────────┐ ┌───────────┐ ││ │ Agent 1 │→ │ Agent 2 │ ││ │ 测试经理 │ │ 设计师 │ ││ └─────┬─────┘ └─────┬─────┘ ││ │ │ ││ ┌─────▼─────┐ ┌─────▼─────┐ ││ │ Task 1 │ │ Task 2 │ ││ │ 写测试计划 │ │ 设计用例 │ ││ └───────────┘ └───────────┘ │└─────────────────────────────────────────┘
5. 快速开始:10 分钟体验
5.1 安装
<h1>创建虚拟环境</h1>python3 -m venv venvsource 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
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 进入快速发展期。 │╰──────────────────────────────────────────────────────────────╯
6. 本系列文章预告
第 2 篇预告:《10 分钟搭建 CrewAI 环境》 - 详细安装步骤(Windows/macOS/Linux)
7. 小结
1. CrewAI 适合复杂工作流 - 角色清晰、编排灵活 2. 5 个核心概念 - Agent、Task、Crew、Tool、Process 3. 10 分钟可体验 - 安装 + 配置 + 第一个 Agent
作者说:14 年测试生涯,我见证了从手工测试到 AI 测试。工具在变,但测试的核心价值不变——确保产品质量,降低业务风险。
作者:测试员周周,14 年测试经验,专注 AI+ 测试实战