Deepseek API+Python 测试用例一键生成与导出 V1.0.3
** 功能详解**
随着软件测试复杂度的不断提升,测试工程师需要更高效的方法来设计高覆盖率的测试用例。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"输出用例类型: