寫測試用例寫到崩潰後,我決定讓 AI 替我幹這件事|LangGraph 實戰分享

作者:測試的雞腿
日期:2026年3月5日 上午11:26
來源:WeChat 原文

整理版優先睇

速讀 5 個重點 高亮

LangGraph 搭建 AI 測試用例生成系統,並行 Worker 加速、質量閉環反饋,60 秒產出 20+ 條結構化用例

整理版摘要

呢篇文章係作者分享佢用 LangGraph 搭建 AI 測試用例生成系統嘅經驗。作者本身係測試工程師,每次寫測試用例都好花時間,尤其係複雜功能要諗邊界值、異常場景、權限校驗等等,一坐就大半日。所以佢決定將「測試設計方法論」工程化,用 AI 流水線自動化成個流程。

文章講解咗系統嘅整體架構:用戶輸入需求文檔或 UI 截圖,經過意圖識別、需求解析、功能拆分,再用 LangGraphSend 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、優先級、步驟、預期結果等),並支援 XMindExcel 導出,可對接企業知識庫同 UI 截圖輸入
整理重點

寫測試用例嘅痛點同解決思路

作者每次收到需求文檔,腦入面要過曬邊界值、異常場景、權限校驗、多端適配呢啲位,搞到一坐就大半日。佢覺得與其死捱,不如用 AI 幫手。

整理重點

系統架構:一張圖睇曬成條流水線

用戶輸入需求文檔或 UI 截圖,系統就會行一條完整 pipeline:init_state(意圖識別)→ parse_requirement(需求解析)→ split_features(功能拆分)→ assign_case_workers(動態分發)→ 並行生成用例 → deduplicate_cases(語義去重)→ quality_review(質量評審)→ export_cases(導出)。

核心係用 LangGraphSend API 實現並行 Worker 分發

動態 Worker 分發代碼 python
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 格式
  • 導出 ExcelSheet 工作簿連需求追溯矩陣
  • 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生成,唔合格就直接重新生成,其實咁樣好蠢 

我嘅方案係帶反饋嘅迭代優化

  1. quality_review 節點多維度打分(覆蓋度/規範性/可執行性)

  2. 分數 < 0.85 → 輸出具體改進建議,帶住建議返去再生成

  3. 重試時會用返上一輪嘅用例加改進建議,唔係由零開始

  4. 同時將temperature由0.5降到0.3,令輸出更收斂

  5. 最多重試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(leftright):
    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 生成,不合格就直接重新生成,其實這樣很蠢 

我的方案是帶反饋的迭代優化

  1. quality_review 節點多維度打分(覆蓋度 / 規範性 / 可執行性)

  2. 分數 < 0.85 → 輸出具體改進建議,帶着建議迴流重新生成

  3. 重試時注入上一輪用例 + 改進建議,不是從零開始

  4. 同時把 temperature 從 0.5 降到 0.3,讓輸出更收斂

  5. 最多重試 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(leftright):
    if right== []:
        return []       # 傳空列表 → 清空(重試時用)
    return left+right# 正常追加(Worker 寫入)

這個細節坑了我好久,分享給大家 🙏


📊 最終性能指標

指標數值
生成速度1000字需求 ≤ 60s
首次達標率≥ 85%
去重準確率≥ 95%
並行加速比3-5x

🎯 總結

這套系統最核心的設計理念就是:不是讓 AI 替代測試工程師,而是把測試設計方法論工程化

每一個節點對應一個人工流程:解析需求 → 拆分功能 → 套用測試方法 → 質量評審 → 輸出交付

AI 做的是可復現、可追溯、可迭代的工程化替代 💪


感興趣的話點贊收藏,後續會出詳細的代碼實現教程!有問題歡迎評論區交流 👇

#AI測試 #LangGraph #自動化測試 #測試工程師 #AI工具 #程序員乾貨 #通義千問 #大模型應用