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.rhkb.cn/news/40046.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Axure RP9.0 教程:左侧菜单列表导航 ( 点击父级菜单,子菜单自动收缩或展开)【响应式的菜单导航】

文章目录 引言I 实现步骤添加商品管理菜单组推拉效果引言 应用场景:PC端管理后台页面,左侧菜单列表导航。 思路: 用到了动态面板的两个交互效果来实现:隐藏/显示切换、展开/收起元件向下I 实现步骤 添加商品管理菜单组 在左侧画布区域添加一个菜单栏矩形框;再添加一个商…

详细比较StringRedisTemplate和RedisTemplate的区别及使用方法,及解决融合使用方法

前言 感觉StringRedisTemplate和RedisTemplate非常的相识&#xff0c;到底有什么区别和联系呢&#xff1f;点开idea&#xff0c;打开其依赖关系&#xff0c;可以看出只需使用maven依赖包spring-boot-starter-data-redis&#xff0c;然后在service中注入StringRedisTemplate或者…

SpringSecurity——前后端分离登录认证

SpringSecurity——前后端分离登录认证的整个过程 前端&#xff1a; 使用Axios向后端发送请求 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>登录</title><script src"https://cdn…

如何用腾讯云建站做好一个多语言的建筑工程网站?海外用户访问量提升3倍!分享我的经验

作为新疆地区领先的工程建筑企业&#xff0c;我们深知在数字化浪潮中&#xff0c;一个专业、高效且具备国际视野的官方网站是企业形象与业务拓展的“门面担当”。然而&#xff0c;传统的建站流程复杂、技术门槛高、多语言适配难等问题&#xff0c;曾让我们在数字化转型中举步维…

遥控器钥匙学习---通过uds指令

1、实际报文 2、硬件配置信息 使用原gateway硬件&#xff0c;软件基于sbcm-main工程新建的一个分支。主要用于钥匙学习的指令发送。 3、后续更改 这里需要细化一下&#xff0c;为了后续方便测试 4、钥匙学习策略 可以学习2把钥匙 一次可以学习把钥匙&#xff0c;uds命令&…

QinQ项展 VLAN 空间

随着以太网技术在网络中的大量部署&#xff0c;利用 VLAN 对用户进行隔离和标识受到很大限制。因为 IEEE802.1Q 中定义的 VLAN Tag 域只有 12 个比特&#xff0c;仅能表示 4096 个 VLAN&#xff0c;无法满足城域以太网中标识大量用户的需求&#xff0c;于是 QinQ 技术应运而生。…

给Web开发者的HarmonyOS指南02-布局样式

给Web开发者的HarmonyOS指南02-布局样式 本系列教程适合鸿蒙 HarmonyOS 初学者&#xff0c;为那些熟悉用 HTML 与 CSS 语法的 Web 前端开发者准备的。 本系列教程会将 HTML/CSS 代码片段替换为等价的 HarmonyOS/ArkUI 代码。 布局基础对比 在Web开发中&#xff0c;我们使用CS…

mapbox进阶,添加鹰眼图控件

👨‍⚕️ 主页: gis分享者 👨‍⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍⚕️ 收录于专栏:mapbox 从入门到精通 文章目录 一、🍀前言1.1 ☘️mapboxgl.Map 地图对象1.2 ☘️mapboxgl.Map style属性1.3 ☘️mapboxgl-minimap 鹰眼控件二、🍀添加…

Linux 配置时间服务器

一、同步阿里云服务器时间 服务端设置 1.检查chrony服务是否安装&#xff0c;设置chrony开机自启&#xff0c;查看chrony服务状态 [rootnode1-server ~]# rpm -q chrony # rpm -q 用于查看包是否安装 chrony-4.3-1.el9.x86_64 [rootnode1-server ~]# systemctl enable --n…

Android实践开发制作小猴子摘桃小游戏

Android实践制作小猴子摘桃小游戏 实践素材项目源文件获取&#xff1a;Android可以存在版本差异项目如果不能正确运行&#xff0c;可以使用里面的素材自己构建项目Android实践制作小猴子摘桃小游戏Android实践制作小猴子摘桃小游戏https://mp.weixin.qq.com/s/jNU_hVfj9xklsil…

数据库查询练习

1.单表查询 CREATE TABLE worker (部门号 int(11) NOT NULL,职工号 int(11) NOT NULL,工作时间 date NOT NULL,工资 float(8,2) NOT NULL,政治面貌 varchar(10) NOT NULL DEFAULT 群众,姓名 varchar(20) NOT NULL,出生日期 date NOT NULL,PRIMARY KEY (职工号) ) ENGINEInnoDB…

VGG 改进:添加ScConv空间与通道特征重构卷积

目录 1. ScConv空间与通道特征重构卷积 2. VGG+ScConv模块 3. 完整代码 Tips:融入模块后的网络经过测试,可以直接使用,设置好输入和输出的图片维度即可 1. ScConv空间与通道特征重构卷积 ScConv (Spatial and Channel reconstruction Convolution) 是一种旨在减少卷积神…

如何优化SQL查询以提高数据库性能?

你正在自助餐厅&#xff0c;所有的食物看起来都很美味。但你不是拿一个盘子&#xff0c;只取你需要的&#xff0c;而是开始从各个角落堆满食物&#xff0c;弄得一团糟&#xff0c;速度也慢了下来。结果是什么&#xff1f;你拿的东西很多并且效率低下。 这就像没有优化的SQL查询…

VS2022的第一个Qt程序——实战《加载并显示图像》

目录 一、UI设计 S1&#xff1a;双击Form Files下.ui文件&#xff0c;进入ui设计界面Qt Designer S2&#xff1a;然后拖动一个Push Button和Label控件到界面 S3&#xff1a;点击信号与槽&#xff0c;然后点击PushButton往外拉一下 S4&#xff1a;松开鼠标进入配置连接界面…

决策树算法详解:从西瓜分类到实战应用

目录 0. 引言 1. 决策树是什么&#xff1f; 1.1 生活中的决策树 1.2 专业版决策树 2. 如何构建决策树&#xff1f; 2.1 关键问题&#xff1a;选哪个特征先判断&#xff1f; 2.1.1 信息熵&#xff08;数据混乱度&#xff09; 2.1.2 信息增益&#xff08;划分后的整洁度提…

Python 标准库与数据结构

Python的标准库提供了丰富的内置数据结构和函数&#xff0c;使用这些工具能为我们提供一套强有力的工具。 需要注意的是&#xff0c;相比C与Java&#xff0c;Python的一些特点&#xff1a; Python不需要显式声明变量类型Python没有模板(Template)的概念&#xff0c;因为Pytho…

VUE3 路由配置

1.下载 VueRouter 模块 在命令行中输入 yarn add vue-router 2.导⼊相关函数 在自己创建的router/index.js 文件中 import { createRouter, createWebHashHistory } from vue-router 3.创建路由实例 在自己创建的router/index.js 文件中 const theFirstRouter ()>{return…

算法训练营第二十三天 | 贪心算法(一)

文章目录 一、贪心算法理论基础二、Leetcode 455.分发饼干二、Leetcode 376. 摆动序列三、Leetcode 53. 最大子序和 一、贪心算法理论基础 贪心算法是一种在每一步选择中都采取当前状态下的最优决策&#xff0c;从而希望最终达到全局最优解的算法设计技术。 基本思想 贪心算…

Apifox下载安装

&#x1f91f;致敬读者 &#x1f7e9;感谢阅读&#x1f7e6;笑口常开&#x1f7ea;生日快乐⬛早点睡觉 &#x1f4d8;博主相关 &#x1f7e7;博主信息&#x1f7e8;博客首页&#x1f7eb;专栏推荐&#x1f7e5;活动信息 文章目录 Apifox下载安装使用1. 下载2. 安装 &#x1…

如何区别在Spring Boot 2 和 Spring Boot 3 中使用 Knife4j:集成与配置指南

在现代的 Web 开发中&#xff0c;API 文档是不可或缺的一部分。Knife4j 是基于 Swagger 的增强工具&#xff0c;它不仅提供了更友好的 API 文档界面&#xff0c;还支持更多实用的功能&#xff0c;如离线文档导出、全局参数配置等。本文将详细介绍如何在 Spring Boot 2 和 Sprin…