Deepseek API+Python 測試用例一鍵生成與導出 V1.0.3

** 功能詳解**

隨著軟件測試復雜度的不斷提升,測試工程師需要更高效的方法來設計高覆蓋率的測試用例。Deepseek API+Python 測試用例生成工具在 V1.0.3 版本中,新增了多個功能點,優化了提示詞模板,并增強了對文檔和接口測試用例的支持,極大提升了測試用例設計的智能化和易用性。

本文將詳細介紹 V1.0.3 的新增功能、優化點,以及如何使用這些功能進行測試用例設計。整體界面如下圖所示。

在這里插入圖片描述


1. 新增功能點

在這里插入圖片描述

1.1 新增提示詞模式

在 V1.0.3 中,新增了提示詞模式,支持以下兩種枚舉值:

  1. 文檔模式:提示詞以需求分析為主,適合基于需求文檔設計測試用例。
  2. 參數輸入模式:提示詞以參數維度生成,適合基于參數組合生成測試用例。
文檔模式

當選擇 文檔模式 時,生成的提示詞將包含需求分析的指導模板,幫助測試工程師提取關鍵要素。如下所示:

需求分析指南:
1. 識別功能邊界(系統做什么/不做什么)
2. 提取業務規則(計算規則、驗證規則)
3. 定義用戶角色及其權限
4. 梳理關鍵業務流程(正常流、備選流、異常流)
5. 標記敏感操作(審計日志、權限校驗點)
參數輸入模式

當選擇 參數輸入模式 時,生成的提示詞會根據用戶輸入的參數維度,結合常見的測試用例設計方法生成。示例如下:

關鍵步驟:
1. 構建正交表
2. 優化組合數量
3. 驗證兩兩覆蓋參數維度:
? 支付方式:銀聯支付, 支付寶支付, 微信支付
? 金額范圍:<100, 100-1000, >1000
? 貨幣類型:CNY, USD

1.2 新增功能模式字段

新增 功能模式字段,支持以下兩種模式:

  1. 功能測試用例(默認選項)
  2. 接口測試用例
功能測試用例

當選擇功能測試用例時,提示詞會自動標注為功能測試,生成的測試用例將專注于功能性驗證,示例如下:

Role: 測試用例設計專家(功能測試用例)
接口測試用例

當選擇接口測試用例時,提示詞會包含接口測試相關信息,并根據用戶提供的接口文檔(如 .xlsx 文件)生成高覆蓋率的接口測試用例。


1.3 新增用例設計方法

支持 八種常用測試用例設計方法 的多選功能,選中后提示詞信息中將包含對應方法的指導內容。這八種方法包括:

  1. 正交分析法
  2. 邊界值分析
  3. 等價類劃分
  4. 狀態轉換法
  5. 決策表法
  6. 錯誤推測法
  7. 場景法
  8. 因果圖法
選中方法的提示詞

示例:當選擇正交分析法和邊界值分析時,提示詞中會增加如下內容:

用例設計方法:
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 文檔的支持:

  1. 讀取 .txt 文件

    • 文檔內容直接展示在預覽文本框中,不進行數據預清洗。
    • 適用于直接查看需求文檔內容。
      在這里插入圖片描述
      生成的JSON結構化用例支持導出為JSON和XLSX格式。
      在這里插入圖片描述
  2. 讀取 .xlsx 文件

    • 當前主要用于生成接口測試用例。
    • 功能模式需選擇 接口測試用例
    • 大模型依據 .xlsx 中的接口信息生成測試用例,輸出結果為 JSON 格式。

2. 核心代碼實現

以下是新增功能的核心代碼實現,展示了如何處理提示詞模式、功能模式、用例設計方法,以及文檔讀取功能:

2.1 提示詞模式處理

2.1.1 提示詞生成邏輯優化

新增了以下核心功能:

  1. 支持多種輸入模式

    • 顯式參數模式:基于用戶提供的參數維度生成提示詞。
    • 需求文檔模式:基于需求文檔生成需求分析指南。
    • 默認模式:當未提供明確輸入時,生成通用的需求分析指南。
  2. 新增功能類型字段

    • 支持選擇用例類型(功能測試用例、接口測試用例等)。
    • 在提示詞中自動添加用例類型信息。
  3. 支持多種測試用例設計方法

    • 內置八種常用測試方法(正交分析法、邊界值分析、等價類劃分等)。
    • 可根據選擇的設計方法,動態生成對應的提示內容。
  4. 優化生成步驟與輸出格式

    • 統一輸出格式為結構化 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"輸出用例類型:

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/76069.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/76069.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/76069.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

react如何引用(按需加載)百度地圖,并結合and組件化封裝

1.技術選項: vitereactantdesign load-script 2.實現思路&#xff1a; 1.按需加載如何實現? 要實現按需加載就不能直接在項目的入口文件這種地方去通過script標簽引入&#xff0c;這里使用load-script封裝了一個加載百度地圖的Bmap.js方法,實現動態的插入script腳本。 根…

LeetCode 第31~33題

目錄 LeetCode 第31題&#xff1a;下一個排列 LeetCode 第32題&#xff1a;最長有效括號 LeetCode 第33題&#xff1a;搜索旋轉排序數組 LeetCode 第31題&#xff1a;下一個排列 題目描述 整數數組的一個排列就是將所有成員以序列或線性順序排列。例如arr[1,2,3]&#xff0c;以…

虛擬現實--->unity學習

前言&#xff1a;這學期勞動課選了虛擬現實&#xff0c;其中老師算挺認真的&#xff0c;當然對一些不感興趣的同學來說是一種折磨&#xff0c;我對這個unity的學習以及后續的虛幻引擎剛開始連基礎的概念都沒有&#xff0c;后面漸漸也是滋生了一些興趣&#xff0c;用這篇博客記錄…

在Trae中設置Python解釋器版本

Python 是一種廣泛使用的高級編程語言&#xff0c;因其簡潔易讀的語法和強大的功能而備受歡迎。隨著 Python 的不斷發展&#xff0c;多個版本相繼發布&#xff0c;每個版本都帶來了新特性和改進。然而&#xff0c;這也帶來了一些問題&#xff0c;比如不同的工程&#xff0c;需要…

鴻蒙原生開發之狀態管理V2

一、ArkTS狀態變量的定義&#xff1a; State&#xff1a;狀態&#xff0c;指驅動UI更新的數據。用戶通過觸發組件的事件方法&#xff0c;改變狀態數據。狀態數據的改變&#xff0c;引起UI的重新渲染。 在鴻蒙原生開發中&#xff0c;使用ArkTS開發UI的時候&#xff0c;我們可以…

nginx配置跳轉設置Host有誤導致報404問題

我們有個項目&#xff0c;前端調用了第三方接口。為了避免跨域&#xff0c;所以使用nginx進行轉發。一直正常工作&#xff0c;相安無事。近日第三方調整了安全策略&#xff0c;http轉換成https&#xff0c;原本使用ip&#xff0c;現在也改成使用域名&#xff0c;所以nginx這里我…

深度學習 Deep Learning 第12章 深度學習的主流應用

深度學習 Deep Learning 第12章 深度學習的主流應用 內容概要 本周深入探討了深度學習在多個領域的應用&#xff0c;包括計算機視覺、語音識別、自然語言處理以及其他領域如推薦系統和知識表示。本章強調了硬件和軟件基礎設施的重要性&#xff0c;特別是GPU在加速神經網絡訓練…

【Qt】三種操作sqlite3的方式及其三種多表連接

一、sqlite3與MySQL數據庫區別&#xff1a; 1. 數據庫類型 SQLite3&#xff1a;是嵌入式數據庫&#xff0c;它將整個數據庫存儲在單個文件中&#xff0c;不需要獨立的服務器進程。這意味著它可以很方便地集成到各種應用程序中&#xff0c;如移動應用、桌面應用等。MySQL&…

mysqlworkbench導入.sql文件

1、MySQL Workbench 新建數據庫 或者 在左側導航欄的 ?Schemas 區域右鍵選擇 ?Create Schema...輸入數據庫名稱&#xff08;例如 mydatabase&#xff09;&#xff0c;點擊 ?Apply確認創建&#xff0c;點擊 ?Finish 2、選擇目標數據庫 在左側導航欄的 ?Schemas 列表中&a…

《Spring Cloud Eureka 高可用集群實戰:從零構建高可靠性的微服務注冊中心》

從零構建高可用 Eureka 集群 | Spring Cloud 微服務架構深度實踐指南 本文核心內容基于《Spring Cloud 微服務架構開發》第1版整理&#xff0c;結合生產級實踐經驗優化 實驗環境&#xff1a;IntelliJ IDEA 2024 | JDK 1.8| Spring Boot 2.1.7.RELEASE | Spring Cloud Greenwich…

實變函數:集合與子集合一例(20250329)

題目 設 r , s , t r, s, t r,s,t 是三個互不相同的數&#xff0c;且 A { r , s , t } A \{r, s, t\} A{r,s,t}, B { r 2 , s 2 , t 2 } B \{r^2, s^2, t^2\} B{r2,s2,t2}, C { r s , s t , r t } C \{rs, st, rt\} C{rs,st,rt} 若 A B C A B C ABC 則 { r , s…

Redis設計與實現-哨兵

哨兵模式 1、啟動并初始化sentinel1.1 初始化服務器1.2 使用Sentinel代碼1.3 初始化sentinel狀態1.4 初始化sentinel狀態的master屬性1.5 創建連向主服務器的網絡連接 2、獲取主服務器信息3、獲取從服務器的信息4、向主從服務器發送信息5、接受主從服務器的頻道信息6、檢測主觀…

藍橋杯省模擬賽 字符串拼接

問題描述 給定四個字符串 a,b,c,d&#xff0c;請將這四個字符串按照任意順序依次連接拼成一個字符串。 請問拼成的字符串字典序最小是多少&#xff1f; 輸入格式 輸入四行&#xff0c;每行包含一個字符串。 輸出格式 輸出一行包含一個字符串&#xff0c;表示答案。 樣例…

【大前端系列20】JavaScript核心:項目實戰從零構建任務管理系統

JavaScript核心&#xff1a;項目實戰從零構建任務管理系統 系列: 「全棧進化&#xff1a;大前端開發完全指南」系列第20篇 核心: 將JavaScript異步編程、事件循環等核心知識應用于實際項目開發 &#x1f4cc; 引言 在前面的文章中&#xff0c;我們深入探討了JavaScript中的異步…

STM32單片機的桌面寵物機器人(基于HAL庫)

效果 基于STM32單片機的桌面寵物機器人 概要 語音模塊&#xff1a;ASR PRO&#xff0c;通過天問block軟件燒錄語音指令 主控芯片&#xff1a;STM32F103C8T6 使用HAL庫 屏幕&#xff1a;0.96寸OLED屏&#xff0c;用來顯示表情 4個舵機&#xff0c;用來當作四只腿 底部一個面…

計算機視覺初步(環境搭建)

1.anaconda 建議安裝在D盤&#xff0c;官網正常安裝即可&#xff0c;一般可以安裝windows版本 安裝成功后&#xff0c;可以在電腦應用里找到&#xff1a; 2.創建虛擬環境 打開anaconda prompt&#xff0c; 可以用conda env list 查看現有的環境&#xff0c;一般打開默認bas…

SQL Server數據庫引擎服務啟動失敗:端口沖突

問題現象&#xff1a; SQL Server 2022 安裝完成后&#xff0c;數據庫引擎服務無法啟動&#xff0c;日志報錯 “TCP 端口 1433 已被占用”&#xff08;ERROR_LOG_SYS_TCP_PORT&#xff09;。 快速診斷 檢測端口占用&#xff1a; # 查看 1433 端口占用情況&#xff08;需管理員權…

全局思維與系統思考

最近接到一些需求&#xff0c;1號位希望每個層級的領導者有眼界&#xff0c;胸懷&#xff0c;格局&#xff0c;全局觀&#xff0c;這些聽起來似乎很抽象&#xff0c;然而它們是每個人、每個團隊成長與成功的核心競爭力。那么&#xff0c;如何才能提升這些能力&#xff1f;就像我…

區間有關的貪心解題記錄435無重疊區間452用最少數量的箭引爆氣球

無重疊區間我的想法是開一個數組a&#xff0c;遍歷給出的區間&#xff0c;在數組a里將對應落在的區間index標記。如果有重復區間就只選擇最小的那個區間標記。但是這道題的區間好像很長-5 * 104 < starti < endi < 5 * 104沒法用數組a表示總的區間范圍。 核心思路是當…

天銳藍盾終端安全防護——企業終端設備安全管控

從辦公室的臺式電腦到員工手中的移動終端&#xff0c;這些設備不僅是工作的得力助手&#xff0c;更是企業數據的重要載體。然而&#xff0c;隨著終端設備的廣泛使用&#xff0c;安全風險也如影隨形。硬件設備使用不當、數據隨意傳輸等問題頻發&#xff0c;使得企業數據面臨著泄…