当前位置: 首页 > article >正文

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"输出用例类型:

相关文章:

Deepseek API+Python 测试用例一键生成与导出 V1.0.3

** 功能详解** 随着软件测试复杂度的不断提升,测试工程师需要更高效的方法来设计高覆盖率的测试用例。Deepseek API+Python 测试用例生成工具在 V1.0.3 版本中,新增了多个功能点,优化了提示词模板,并增强了对文档和接口测试用例的支持,极大提升了测试用例设计的智能化和易…...

[c语言日寄MAX]深度解析:大小端字节序

【作者主页】siy2333 【专栏介绍】⌈c语言日寄MAX⌋&#xff1a;这是一个专注于C语言刷题的专栏&#xff0c;精选题目&#xff0c;搭配详细题解、拓展算法。从基础语法到复杂算法&#xff0c;题目涉及的知识点全面覆盖&#xff0c;助力你系统提升。无论你是初学者&#xff0c;还…...

Android ADB工具使用教程(从安装到使用)

目录 ADB工具介绍 什么是ADB&#xff1f; 组成 主要功能 ADB工具安装与连接设备 WIFI连接&#xff0c;提示计算机积极拒绝10061 WIFI成功连接后&#xff0c;拔掉数据线显示offline 提示adb版本不一致​编辑 ADB工具使用 ★日志操作命令 adb logcat:抓取日志 日志格式…...

开个坑记录一下树莓派4B部署yolo的一些问题

问题一&#xff1a;操作系统与内核信息 这个问题困扰了我一天半&#xff0c;下载的时候显示的信息是aar64的系统&#xff0c;但是这并无意味着一个问题&#xff0c;那就是你的操作系统是64位的。需要采用如下的指令查看&#xff1a; getconf LONG_BIT 我在树莓派得出来的操作…...

基于SSM框架的线上甜品销售系统(源码+lw+部署文档+讲解),源码可白嫖!

摘要 网络技术和计算机技术发展至今&#xff0c;已经拥有了深厚的理论基础&#xff0c;并在现实中进行了充分运用&#xff0c;尤其是基于计算机运行的软件更是受到各界的关注。加上现在人们已经步入信息时代&#xff0c;所以对于信息的宣传和管理就很关键。因此网上销售信息的…...

基于 FPGA的HLS技术与应用

1、hls简介 HLS &#xff08; high level synthesis &#xff09;即高层次综合&#xff0c;主要是利用高级编程语言实现算法。 2、循环优化 约束语法&#xff1a; #pragma HLS unroll #pragma HLS PIPELINE II1 绝大多数循环都以串行的方式执行&#xff0c;这种执行方…...

Redis原理:Monitor 实现

在调用 Redis 的 MONITOR 命令后&#xff0c;可以在对应的客户端上实时查看服务器的执行情况。今天&#xff0c;我们将从源码的角度来深入探讨 MONITOR 机制是如何处理这些请求以及如何将数据反馈给用户的。 MONITOR 命令的实现 Redis 中所有命令的具体实现细节都可以在其源代…...

计算机工具基础(七)——Git

Git 本系列博客为《Missing in CS Class(2020)》课程笔记 Git是一种分布式版本控制系统&#xff0c;被其跟踪的文件可被查询精细到行的修改记录、回退版本、建立分支等 模型 一般流程&#xff1a;工作区 → \to →暂存区 → \to →仓库(本地 → \to →远端) 工作区&#xff1…...

鸿蒙开发:父组件如何调用子组件中的方法?

前言 本文基于Api13 很多的场景下&#xff0c;父组件需要触发子组件中的某个方法&#xff0c;来实现一些特定的逻辑&#xff0c;但是ArkUI是声明式UI&#xff0c;不能直接调用子组件中的方法&#xff0c;那么怎么去实现这个功能呢&#xff1f; 举一个很常见的案例&#xff0c;通…...

23种设计模式-创建型模式-工厂方法

文章目录 简介场景问题1. 直接依赖具体实现2. 违反开闭原则3. 条件分支泛滥4. 代码重复风险 解决根本问题完整类图完整代码说明核心优势代码优化静态配置表动态策略 总结 简介 工厂方法是一种创建型设计模式&#xff0c;它提供了在父类中创建对象的接口&#xff0c;但允许子类…...

142. 环形链表 II——考察数学,难!

142. 环形链表 IIhttps://leetcode.cn/problems/linked-list-cycle-ii/ 给定一个链表的头节点 head ,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,…...

C++常见问题与思考

TLS&#xff08;线程本地存储&#xff09;原理 线程本地存储&#xff08;Thread Local Storage&#xff0c;TLS&#xff09;是一种机制&#xff0c;它允许每个线程拥有自己独立的变量实例&#xff0c;这些变量的生命周期与线程相同。也就是说&#xff0c;不同线程对同一个 TLS…...

从零开始:使用Luatools工具高效烧录Air780EPM核心板项目的完整指南

本文将深入讲解如何使用Luatools工具烧录一个具体的项目到Air780EPM开发板中。如何使用官方推荐的Luatools工具&#xff08;一款跨平台、命令行驱动的烧录利器&#xff09;&#xff0c;通过“环境配置→硬件连接→参数设置→一键烧录”四大步骤&#xff0c;帮助用户实现Air780E…...

关于c++的几个简单算法

一. 动态规划&#xff08;Dynamic Programming&#xff09; 难点&#xff1a;状态转移方程的构建和初始化条件的设计 典型问题&#xff1a;01背包问题 分析&#xff1a; 状态定义 dp[i][j] 表示前i个物品放入容量为j的背包的最大价值。状态转移需要判断是否选择当前物品。 #i…...

WPF MergedDictionaries详解

在 WPF 中&#xff0c;ResourceDictionary.MergedDictionaries 是一个非常重要的特性&#xff0c;用于将多个资源字典&#xff08;ResourceDictionary&#xff09;合并到一个主资源字典中。这种机制使得资源的管理和复用变得更加灵活和高效。 1. MergedDictionaries 的作用 Me…...

一套云HIS系统源码,系统融合HIS与EMR,基于云端部署,采用B/S架构与SaaS模式

云HIS系统完全基于云端部署&#xff0c;采用B/S架构&#xff0c;并通过软件即服务&#xff08;SaaS&#xff09;的形式面向二级及以下医院可快速交付、便捷运维、云化的医院核心业务平台产品。融合医院HIS和EMR两大主营系统&#xff0c;构建涵盖患者、费用、医嘱、电子病历等核…...

DisplayPort(DP)详解

一、DisplayPort的定义与核心特性 DisplayPort&#xff08;DP&#xff09; 是由 视频电子标准协会&#xff08;VESA&#xff09; 制定的 高性能数字音视频接口&#xff0c;专为高分辨率显示器和多屏应用设计。其核心特性包括&#xff1a; 高带宽&#xff1a;DisplayPort 2.0支…...

C++数据结构(搜索二叉树)

1.二叉树搜索的概念 二叉搜索数也成为二叉排序树&#xff0c;它或者是一颗空树&#xff0c;或者是满足以下性质的树&#xff1a; 1.若他的左子树不为空&#xff0c;则左子树上的所有节点的值都小于等于根节点的值。 2.若他的右子树不为空&#xff0c;则右子树上的所有节点的值…...

OpenCV图像拼接(6)图像拼接模块的用于创建权重图函数createWeightMap()

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 cv::detail::createWeightMap 是 OpenCV 库中用于图像拼接模块的一个函数&#xff0c;主要用于创建权重图。这个权重图在图像拼接过程中扮演着重…...

Micropython RPI-PICO 随记-双PICO串口传数据

开发环境 MCU&#xff1a;双 Pico1&#xff08;无wifi版&#xff09;&#xff0c;串口相连&#xff0c;需要共地使用固件&#xff1a;自编译版本开发环境&#xff1a;MacBook Pro Sonoma 14.5开发工具&#xff1a;Thonny 4.1.6开发语言&#xff1a;MicroPython 1.24.0 上位机…...

炫酷的HTML5粒子动画特效实现详解

炫酷的HTML5粒子动画特效实现详解 这里写目录标题 炫酷的HTML5粒子动画特效实现详解项目介绍技术栈项目架构1. HTML结构2. 样式设计 核心实现1. 粒子类设计2. 动画效果实现星空效果烟花效果雨滴效果 3. 鼠标交互 性能优化效果展示总结 项目介绍 本文将详细介绍如何使用HTML5 C…...

YoloV8训练和平精英人物检测模型

概述 和平精英人物检测&#xff0c;可以识别游戏中所有人物角色&#xff0c;并通过绘制框将人物选中&#xff0c;训练的模型仅仅具有识别功能&#xff0c;可以识别游戏中的视频、图片等文件&#xff0c;搭配Autox.js可以推理&#xff0c;实现实时绘制&#xff0c;但是对手机性…...

BC93 公务员面试

&#x1f680;个人主页&#xff1a;BabyZZの秘密日记 &#x1f4d6;收入专栏&#xff1a;C语言练习题分享 &#x1f30d;文章目入 #include <stdio.h> int main() {int score 0, max 0, min 100, sum 0, count 0; while (scanf("%d", &score) ! EOF){…...

3.0 Disruptor的使用介绍(一)

Disruptor: 其官网定义为&#xff1a;“A High Performance Inter-Thread Messaging Library”&#xff0c;即&#xff1a;线程间的高性能消息框架&#xff0c;与Labview的生产者、消费者模型很相似。 其组成部分比较多&#xff0c;先介绍几个常用的概念&#xff1a; …...

基础实验2-2.1 整数的分类处理

基础实验2-2.1 整数的分类处理 - 浙大版《数据结构学习与实验指导&#xff08;第2版&#xff09;》题目集 (pintia.cn) 给定 N 个正整数&#xff0c;要求你从中得到下列三种计算结果&#xff1a; A1 能被 3 整除的最大整数A2 存在整数 K 使之可以表示为 3K1 的整数的个数A3…...

[深度学习]图像分类项目-食物分类

图像分类项目-食物分类(监督学习和半监督学习) 文章目录 图像分类项目-食物分类(监督学习和半监督学习)项目介绍数据处理设定随机种子读取文件内容图像增广定义Dataset类 模型定义迁移学习 定义超参Adam和AdamW 训练过程半监督学习定义Dataset类模型定义定义超参训练过程 项目介…...

有价值的面试问题

迅雷一面 都是c和网络问题 了解epoll吗&#xff1f;解释下水平触发和边缘触发&#xff0c;医院的叫号系统应该算哪一种 c类a有成员b&#xff0c;成员b调用了a的函数&#xff0c;但是a不小心把b的成员删除了&#xff0c;会发生什么&#xff0c;怎么解决 c类a有一个static的函数…...

禁用ONLY_FULL_GROUP_BY模式

这是由于MySQL启用了ONLY_FULL_GROUP_BY模式导致的。以下是禁用该模式的三种方法&#xff0c;结合你的需求选择最合适的方案&#xff1a; 一、临时禁用&#xff08;重启后失效&#xff09; 1. 当前会话禁用 直接在SQL客户端执行以下命令&#xff0c;仅对当前数据库连接有效&…...

SAP 获取RFC的WSDL文件

主要是CPI要用到WSDL文件做mapping&#xff0c;客户的SAP服务器不一定直接可在浏览器访问http或者https的地址&#xff0c;所以在SAP里面开发程序内部调用地址获取WSDL文件 *&---------------------------------------------------------------------* *& Report YXX_…...

SQLite优化实践

1. 启用写入批处理 使用事务将多条插入操作包装在一起&#xff0c;这样可以减少磁盘I/O和日志的写入。 BEGIN TRANSACTION; -- 执行多个INSERT语句 COMMIT;通过将多个插入操作包装在一个事务中&#xff0c;可以显著减少每次写入数据库时的磁盘I/O操作。 2. 使用更大的页大小…...