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.mzph.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;使得企业数据面临着泄…