** 功能詳解**
隨著軟件測試復雜度的不斷提升,測試工程師需要更高效的方法來設計高覆蓋率的測試用例。Deepseek API+Python 測試用例生成工具在 V1.0.3 版本中,新增了多個功能點,優化了提示詞模板,并增強了對文檔和接口測試用例的支持,極大提升了測試用例設計的智能化和易用性。
本文將詳細介紹 V1.0.3 的新增功能、優化點,以及如何使用這些功能進行測試用例設計。整體界面如下圖所示。
1. 新增功能點
1.1 新增提示詞模式
在 V1.0.3 中,新增了提示詞模式,支持以下兩種枚舉值:
- 文檔模式:提示詞以需求分析為主,適合基于需求文檔設計測試用例。
- 參數輸入模式:提示詞以參數維度生成,適合基于參數組合生成測試用例。
文檔模式
當選擇 文檔模式 時,生成的提示詞將包含需求分析的指導模板,幫助測試工程師提取關鍵要素。如下所示:
需求分析指南:
1. 識別功能邊界(系統做什么/不做什么)
2. 提取業務規則(計算規則、驗證規則)
3. 定義用戶角色及其權限
4. 梳理關鍵業務流程(正常流、備選流、異常流)
5. 標記敏感操作(審計日志、權限校驗點)
參數輸入模式
當選擇 參數輸入模式 時,生成的提示詞會根據用戶輸入的參數維度,結合常見的測試用例設計方法生成。示例如下:
關鍵步驟:
1. 構建正交表
2. 優化組合數量
3. 驗證兩兩覆蓋參數維度:
? 支付方式:銀聯支付, 支付寶支付, 微信支付
? 金額范圍:<100, 100-1000, >1000
? 貨幣類型:CNY, USD
1.2 新增功能模式字段
新增 功能模式字段,支持以下兩種模式:
- 功能測試用例(默認選項)
- 接口測試用例
功能測試用例
當選擇功能測試用例時,提示詞會自動標注為功能測試,生成的測試用例將專注于功能性驗證,示例如下:
Role: 測試用例設計專家(功能測試用例)
接口測試用例
當選擇接口測試用例時,提示詞會包含接口測試相關信息,并根據用戶提供的接口文檔(如 .xlsx
文件)生成高覆蓋率的接口測試用例。
1.3 新增用例設計方法
支持 八種常用測試用例設計方法 的多選功能,選中后提示詞信息中將包含對應方法的指導內容。這八種方法包括:
- 正交分析法
- 邊界值分析
- 等價類劃分
- 狀態轉換法
- 決策表法
- 錯誤推測法
- 場景法
- 因果圖法
選中方法的提示詞
示例:當選擇正交分析法和邊界值分析時,提示詞中會增加如下內容:
用例設計方法:
1. 正交分析法:使用正交表生成參數組合,覆蓋所有參數對的交互組合。
2. 邊界值分析:針對數值型參數測試極值:最小值、略高于最小值、正常值、略低于最大值、最大值。
1.4 默認提示詞優化
優化后的默認提示詞如下:
Role: 測試用例設計專家Rules:設計目標:
通過正交分析法實現:
使用正交表生成參數組合,覆蓋所有參數對的交互組合需求分析指南:
1. 識別功能邊界(系統做什么/不做什么)
2. 提取業務規則(計算規則、驗證規則)
3. 定義用戶角色及其權限
4. 梳理關鍵業務流程(正常流、備選流、異常流)
5. 標記敏感操作(審計日志、權限校驗點)用例數量:盡可能多,不少于15條
輸出要求:
1. 格式:結構化JSON
2. 字段:- 用例編號:<模塊縮寫>-<3位序號>- 用例標題:<測試目標> [正例/反例]- 前置條件:初始化狀態描述- 測試數據:參數值的具體組合- 操作步驟:帶編號的明確步驟- 預期結果:可驗證的斷言- 優先級:P0(冒煙)/P1(核心)/P2(次要)
3. 示例:
[{"用例編號": "PAY-001","用例標題": "支付功能 [正例]","前置條件": "用戶已登錄,購物車內已有商品","測試數據": {"支付方式": "支付寶支付","金額范圍": "100-1000","貨幣類型": "CNY"},"操作步驟": ["1. 打開購物車頁面","2. 點擊結算按鈕","3. 選擇支付方式為支付寶支付","4. 確認支付金額為100-1000元人民幣","5. 點擊支付按鈕"],"預期結果": "支付成功,頁面顯示支付完成信息,余額扣減正確","優先級": "P1"}
]質量標準:
- 參數對組合覆蓋率 ≥95%
- 正向場景用例占比60%
- 異常場景用例占比30%
- 邊界場景用例占比10%生成步驟:
1. 參數建模 → 2. 場景分析 → 3. 用例生成 → 4. 交叉校驗
1.5 增強文檔讀取功能
新增對 .txt
和 .xlsx
文檔的支持:
-
讀取
.txt
文件- 文檔內容直接展示在預覽文本框中,不進行數據預清洗。
- 適用于直接查看需求文檔內容。
生成的JSON結構化用例支持導出為JSON和XLSX格式。
-
讀取
.xlsx
文件- 當前主要用于生成接口測試用例。
- 功能模式需選擇 接口測試用例。
- 大模型依據
.xlsx
中的接口信息生成測試用例,輸出結果為 JSON 格式。
2. 核心代碼實現
以下是新增功能的核心代碼實現,展示了如何處理提示詞模式、功能模式、用例設計方法,以及文檔讀取功能:
2.1 提示詞模式處理
2.1.1 提示詞生成邏輯優化
新增了以下核心功能:
-
支持多種輸入模式:
- 顯式參數模式:基于用戶提供的參數維度生成提示詞。
- 需求文檔模式:基于需求文檔生成需求分析指南。
- 默認模式:當未提供明確輸入時,生成通用的需求分析指南。
-
新增功能類型字段:
- 支持選擇用例類型(功能測試用例、接口測試用例等)。
- 在提示詞中自動添加用例類型信息。
-
支持多種測試用例設計方法:
- 內置八種常用測試方法(正交分析法、邊界值分析、等價類劃分等)。
- 可根據選擇的設計方法,動態生成對應的提示內容。
-
優化生成步驟與輸出格式:
- 統一輸出格式為結構化 JSON。
- 提供清晰的生成步驟和示例用例,便于直接使用。
2.2 提示詞生成邏輯詳解
以下是改進后的提示詞生成函數,展示了如何根據不同輸入模式和設計方法動態生成提示詞。
核心代碼
def generate_testcase_prompt(params=None, method="正交分析法", func_type=None):"""生成測試用例設計提示詞的智能函數參數:params : dict/list - 參數維度字典或需求文檔類型method : str - 測試設計方法(默認正交分析法)func_type : str - 功能類型(如功能測試用例或接口測試用例)返回:str - 結構化提示詞模板"""# ========== 參數處理模塊 ==========parameters = ""# 功能類型信息if func_type:parameters += f"輸出用例類型: