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

news2025/4/21 21:09:07

** 功能详解**

随着软件测试复杂度的不断提升,测试工程师需要更高效的方法来设计高覆盖率的测试用例。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.coloradmin.cn/o/2321801.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[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:抓取日志 日志格式…

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

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

Redis原理:Monitor 实现

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

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

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

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

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

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

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

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

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

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

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

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;主要用于创建权重图。这个权重图在图像拼接过程中扮演着重…

炫酷的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; …

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

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

java8循环解压zip文件---实现Excel文件数据追加

java8循环追加Excel数据 实际遇到问题&#xff1a;定期获取zip文件&#xff0c;zip文件内有几个固定模板的Excel文件&#xff0c;有的Excel文件可能还包含多个sheet。 有段时间一次性获取到好几个zip包&#xff0c;需要将这些包都解压&#xff0c;并且按照不同的文件名、sheet进…

基于SpringBoot的电影售票系统

作者&#xff1a;计算机学姐 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等&#xff0c;“文末源码”。 专栏推荐&#xff1a;前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码、微信小程序源码 精品专栏&#xff1a;…

SQL Server 2022 安装问题

一、安装与配置问题 1. SQL Server 2022 安装失败怎么办&#xff1f; 常见原因&#xff1a; 硬件或操作系统不满足最低要求&#xff08;如内存、磁盘空间不足&#xff09;。未关闭防火墙或杀毒软件。之前版本的 SQL Server 残留文件未清理。 解决方案&#xff1a; 确保硬件配…