寫測試用例寫到崩潰後,我決定讓 AI 替我幹這件事|LangGraph 實戰分享
整理版優先睇
用 LangGraph 搭建 AI 測試用例生成系統,並行 Worker 加速、質量閉環反饋,60 秒產出 20+ 條結構化用例
呢篇文章係作者分享佢用 LangGraph 搭建 AI 測試用例生成系統嘅經驗。作者本身係測試工程師,每次寫測試用例都好花時間,尤其係複雜功能要諗邊界值、異常場景、權限校驗等等,一坐就大半日。所以佢決定將「測試設計方法論」工程化,用 AI 流水線自動化成個流程。
文章講解咗系統嘅整體架構:用戶輸入需求文檔或 UI 截圖,經過意圖識別、需求解析、功能拆分,再用 LangGraph 嘅 Send API 動態分配多個 Worker 並行生成用例,之後做語義去重同質量評審,最後導出 XMind 或 Excel。每一步都由 LLM 執行,唔使人工插手。
結論係呢套系統唔係要取代測試工程師,而係將測試方法論變成可復現嘅工程流程。核心亮點包括:並行 Worker 將速度提升 3-5 倍、帶反饋嘅質量閉環令首次達標率達 85% 以上、按節點選用唔同模型(qwen-max/plus/turbo)平衡成本同效果。最終 1000 字需求 60 秒內可產出 20+ 條結構化用例,去重準確率超過 95%。
- 用 LangGraph 搭建 AI 測試用例生成流水線,實現「解析→拆分→並行生成→去重→評審→導出」全自動化
- 核心提速關鍵:透過 Send API 動態分配多個 Worker 並行生成用例,功能點越多加速越明顯,實測 3-5 倍
- 質量閉環唔係盲目重試:quality_review 節點多維度打分,低分時輸出具體改進建議,帶住上一輪用例同建議重新生成,最多重試 3 次
- 多模型協同策略:需求解析同質量評審用強模型(qwen3-max),用例生成用性價比高嘅 qwen-plus,去重用輕量 qwen-turbo
- 最終輸出結構化用例(case_id、優先級、步驟、預期結果等),並支援 XMind/Excel 導出,可對接企業知識庫同 UI 截圖輸入
寫測試用例嘅痛點同解決思路
作者每次收到需求文檔,腦入面要過曬邊界值、異常場景、權限校驗、多端適配呢啲位,搞到一坐就大半日。佢覺得與其死捱,不如用 AI 幫手。
系統架構:一張圖睇曬成條流水線
用戶輸入需求文檔或 UI 截圖,系統就會行一條完整 pipeline:init_state(意圖識別)→ parse_requirement(需求解析)→ split_features(功能拆分)→ assign_case_workers(動態分發)→ 並行生成用例 → deduplicate_cases(語義去重)→ quality_review(質量評審)→ export_cases(導出)。
核心係用 LangGraph 嘅 Send API 實現並行 Worker 分發
def assign_case_workers(state) ->list[Send]:
return [
Send("generate_cases", {"feature": feature, ...})
for feature in state["features"] # 動態創建 N 個 Worker
]
呢個架構令到功能點越多,加速越明顯,因為可以同時開多個 Worker 並行生成,最後自動合併結果。
三大核心亮點:並行、質量閉環、多模型協同
- 需求解析用 qwen3-max 做深度語義理解
- 用例生成用 qwen-plus 因為並行調用量大,性價比高
- 去重優化用 qwen-turbo 簡單比對,夠用就得
- 質量評審再用回 qwen3-max 因為需要強推理
按節點選用唔同模型,重推理用強模型,重複調用性價比優先
呢種策略令效果同成本都得到兼顧,唔使下下都用最勁嘅模型。
生成嘅用例規格同其他實用功能
每條用例包含 case_id、優先級(P0/P1/P2)、前置條件、測試步驟、預期結果、測試類型、適用端同埋是否可自動化等結構化字段,全部用 Pydantic 輸出,格式穩定。
支援輸入 UI 設計稿截圖,多模態解析提取交互邏輯
- 對接企業知識庫(RAG)補充歷史用例同產品文檔
- 一鍵導出 XMind 腦圖,手動構建 ZIP 格式
- 導出 Excel 多 Sheet 工作簿連需求追溯矩陣
- LangGraph Studio 一鍵啟動 Chat UI,開箱即用
仲有個自定義 Reducer 嘅小技巧,用 add_or_reset_cases 解決並發寫入問題,傳空列表就清空,正常就追加。
最終性能指標同總結
最終性能:生成速度 1000 字需求 ≤ 60 秒,首次達標率 ≥ 85%,去重準確率 ≥ 95%,並行加速比 3-5 倍。
感興趣嘅話可以留意後續詳細代碼實現教程
輸入一段需求文檔,60秒內產出20+條結構化測試用例仲可以自動查重、做質量評審、導出XMind / Excel!
📌 先講痛點
寫測試用例真係好浪費時間——每次收到需求文檔,個腦就要諗一輪:邊界值、異常場景、權限校驗、多端適配……複雜少少嘅功能,一坐就大半日😮💨
所以我用LangGraph整咗套AI測試用例生成系統將「測試設計方法論」直接工程化變成一條可復現嘅AI流水線✅
🏗️ 整體架構:一張圖睇得明
用戶輸入需求文檔 / UI 截圖
↓
init_state(意圖識別)
↓
parse_requirement(需求解析)
↓
split_features(功能拆分)
↓
assign_case_workers(動態分發)
↙ ↓ ↘
W1 W2 W3 ← 並行生成用例(這裏是亮點!)
↘ ↓ ↙
deduplicate_cases(語義去重)
↓
quality_review(質量評審)
↙ ↘
合格 不合格 → 帶反饋迴流(最多3次)
↓
export_cases → XMind / Excel / JSON
簡單講就係:解析 → 拆分 → 並行生成 → 去重 → 評審 → 導出每一步都有LLM幫手,全程唔使人工參與🎯
⚡ 核心亮點1:並行Worker,速度快3-5倍
用LangGraph嘅 Send API 做到動態Worker分發
功能點越多,加速效果越明顯!例如需求裡面有5個功能模塊,就同時開5個Worker並行生成,最後自動合併結果
def assign_case_workers(state) ->list[Send]:
return [
Send("generate_cases", {"feature": feature, ...})
for feature in state["features"] # 動態創建 N 個 Worker
]實測:1000字需求 → 20+條用例,⏱️ 唔使60秒
🔄 核心亮點2:質量閉環,唔係盲目重試
好多人做AI生成,唔合格就直接重新生成,其實咁樣好蠢
我嘅方案係帶反饋嘅迭代優化:
quality_review 節點多維度打分(覆蓋度/規範性/可執行性)
分數 < 0.85 → 輸出具體改進建議,帶住建議返去再生成
重試時會用返上一輪嘅用例加改進建議,唔係由零開始
同時將temperature由0.5降到0.3,令輸出更收斂
最多重試3次,最後輸出最好嘅版本
combined_input=f"""
🔄 重新生成(第{retry_count}次)
⚠️ 改進建議:{suggestions} ← 告訴 AI 哪裏不對
📝 已有用例參:{existing_cases} ← 別從零開始,在此基礎上改
"""效果:首次質量達標率 ≥ 85%
🧠 核心亮點3:多模型協同,平靚正
唔同節點用唔同模型,按需分配算力💰
| 節點 | 模型 | 原因 |
|---|---|---|
| 需求解析 | qwen3-max | 需要深度語義理解 |
| 用例生成 | qwen-plus | 並行調用量大,性價比優先 |
| 去重優化 | qwen-turbo | 簡單比對,用輕量模型 |
| 質量評審 | qwen3-max | 評審要求高,需要強推理 |
重推理嘅節點用強模型,重複調用嘅節點用平價模型效果同成本都兼顧得到👍
📦 生成嘅用例係點樣?
每條用例包括:
case_id:TC_LOGIN_001
優先級:P0 / P1 / P2
前置條件 + 測試步驟 + 預期結果(一一對應)
測試類型:功能測試 / 接口測試 / 安全測試
適用端:[PC, APP, H5]
是否可自動化:true / false
全部經Pydantic結構化輸出,格式穩定,唔會亂✅
🗂️ 仲支援呢啲功能
✅ 輸入UI設計稿截圖 → 多模態解析,提取交互邏輯
✅ 對接企業知識庫(RAG) → 補充歷史用例、產品文檔
✅ 一鍵導出XMind腦圖 → 手動構建ZIP格式,真係用得
✅ 導出Excel多Sheet工作簿 + 需求追溯矩陣
✅ LangGraph Studio 一鍵開Chat UI,開箱即用
🛠️ 技術棧一覽
LangGraph ≥ 0.2 → 流程編排(StateGraph + Send API)
LangChain ≥ 0.3 → LLM 抽象 + 結構化輸出
通義千問 (DashScope) → qwen-max / plus / turbo
阿里雲百鍊 → RAG 知識庫檢索
Pydantic → 數據模型校驗
Pandas + OpenPyXL → Excel 導出
python-dotenv → 配置管理
💡 一個小技巧:自定義Reducer解決併發寫入問題
多個Worker並行向同一個列表寫數據,用 operator.add 會有問題——無法清空
所以我寫咗個自定義reducer:
def add_or_reset_cases(left, right):
if right== []:
return [] # 傳空列表 → 清空(重試時用)
return left+right# 正常追加(Worker 寫入)呢個細節搞咗我好耐,分享俾大家🙏
📊 最終性能指標
| 指標 | 數值 |
|---|---|
| 生成速度 | 1000字需求 ≤ 60s |
| 首次達標率 | ≥ 85% |
| 去重準確率 | ≥ 95% |
| 並行加速比 | 3-5x |
🎯 總結
呢套系統最核心嘅設計理念就係:唔係要AI取代測試工程師,而係將測試設計方法論工程化
每一個節點對應一個人工流程:解析需求 → 拆分功能 → 套用測試方法 → 質量評審 → 輸出交付
AI做嘅係可復現、可追溯、可迭代嘅工程化替代💪
有興趣嘅話點讚收藏,之後會出詳細嘅代碼實現教學!有問題歡迎留言區交流👇
#AI測試 #LangGraph #自動化測試 #測試工程師 #AI工具 #程序員乾貨 #通義千問 #大模型應用
輸入一段需求文檔,60秒內產出 20+ 條結構化測試用例還能自動查重、質量評審、導出 XMind / Excel!
📌 先說痛點
寫測試用例真的太費時間了——每次拿到需求文檔,腦子裏要過一遍:邊界值、異常場景、權限校驗、多端適配……稍微複雜一點的功能,一坐就是大半天 😮💨
所以我用 LangGraph 搭了一套 AI 測試用例生成系統把「測試設計方法論」直接工程化成一條可復現的 AI 流水線 ✅
🏗️ 整體架構:一張圖看懂
用戶輸入需求文檔 / UI 截圖
↓
init_state(意圖識別)
↓
parse_requirement(需求解析)
↓
split_features(功能拆分)
↓
assign_case_workers(動態分發)
↙ ↓ ↘
W1 W2 W3 ← 並行生成用例(這裏是亮點!)
↘ ↓ ↙
deduplicate_cases(語義去重)
↓
quality_review(質量評審)
↙ ↘
合格 不合格 → 帶反饋迴流(最多3次)
↓
export_cases → XMind / Excel / JSON
簡單說就是:解析 → 拆分 → 並行生成 → 去重 → 評審 → 導出每一步都有 LLM 在工作,全程不需要人工干預 🎯
⚡ 核心亮點 1:並行 Worker,速度提升 3-5 倍
用 LangGraph 的 Send API 實現動態 Worker 分發
功能點越多,加速越明顯!比如需求裏有 5 個功能模塊,就同時開 5 個 Worker 並行生成,最後自動合併結果
def assign_case_workers(state) ->list[Send]:
return [
Send("generate_cases", {"feature": feature, ...})
for feature in state["features"] # 動態創建 N 個 Worker
]實測:1000字需求 → 20+ 條用例,⏱️ 不超過 60 秒
🔄 核心亮點 2:質量閉環,不是盲目重試
很多人做 AI 生成,不合格就直接重新生成,其實這樣很蠢
我的方案是帶反饋的迭代優化:
quality_review 節點多維度打分(覆蓋度 / 規範性 / 可執行性)
分數 < 0.85 → 輸出具體改進建議,帶着建議迴流重新生成
重試時注入上一輪用例 + 改進建議,不是從零開始
同時把 temperature 從 0.5 降到 0.3,讓輸出更收斂
最多重試 3 次,兜底輸出最優版本
combined_input=f"""
🔄 重新生成(第{retry_count}次)
⚠️ 改進建議:{suggestions} ← 告訴 AI 哪裏不對
📝 已有用例參:{existing_cases} ← 別從零開始,在此基礎上改
"""效果:首次質量達標率 ≥ 85%
🧠 核心亮點 3:多模型協同,省錢又好用
不同節點用不同模型,按需分配算力 💰
| 節點 | 模型 | 原因 |
|---|---|---|
| 需求解析 | qwen3-max | 需要深度語義理解 |
| 用例生成 | qwen-plus | 並行調用量大,性價比優先 |
| 去重優化 | qwen-turbo | 簡單比對,用輕量模型 |
| 質量評審 | qwen3-max | 評審要求高,需要強推理 |
重推理的節點用強模型,重複調用的節點用便宜模型效果和成本都能兼顧 👍
📦 生成的用例長什麼樣?
每條用例包含:
case_id:TC_LOGIN_001
優先級:P0 / P1 / P2
前置條件 + 測試步驟 + 預期結果(一一對應)
測試類型:功能測試 / 接口測試 / 安全測試
適用端:[PC, APP, H5]
是否可自動化:true / false
全部通過 Pydantic 結構化輸出,格式穩定,不會亂 ✅
🗂️ 還支持這些功能
✅ 輸入 UI 設計稿截圖 → 多模態解析,提取交互邏輯
✅ 對接企業知識庫(RAG) → 補充歷史用例、產品文檔
✅ 一鍵導出 XMind 腦圖 → 手動構建 ZIP 格式,真正可用
✅ 導出 Excel 多 Sheet 工作簿 + 需求追溯矩陣
✅ LangGraph Studio 一鍵啓動 Chat UI,開箱即用
🛠️ 技術棧一覽
LangGraph ≥ 0.2 → 流程編排(StateGraph + Send API)
LangChain ≥ 0.3 → LLM 抽象 + 結構化輸出
通義千問 (DashScope) → qwen-max / plus / turbo
阿里雲百鍊 → RAG 知識庫檢索
Pydantic → 數據模型校驗
Pandas + OpenPyXL → Excel 導出
python-dotenv → 配置管理
💡 一個小技巧:自定義 Reducer 解決併發寫入問題
多個 Worker 並行往同一個列表寫數據,用 operator.add 會有問題——無法清空
所以我寫了個自定義 reducer:
def add_or_reset_cases(left, right):
if right== []:
return [] # 傳空列表 → 清空(重試時用)
return left+right# 正常追加(Worker 寫入)這個細節坑了我好久,分享給大家 🙏
📊 最終性能指標
| 指標 | 數值 |
|---|---|
| 生成速度 | 1000字需求 ≤ 60s |
| 首次達標率 | ≥ 85% |
| 去重準確率 | ≥ 95% |
| 並行加速比 | 3-5x |
🎯 總結
這套系統最核心的設計理念就是:不是讓 AI 替代測試工程師,而是把測試設計方法論工程化
每一個節點對應一個人工流程:解析需求 → 拆分功能 → 套用測試方法 → 質量評審 → 輸出交付
AI 做的是可復現、可追溯、可迭代的工程化替代 💪
感興趣的話點贊收藏,後續會出詳細的代碼實現教程!有問題歡迎評論區交流 👇
#AI測試 #LangGraph #自動化測試 #測試工程師 #AI工具 #程序員乾貨 #通義千問 #大模型應用