软件测试/测试开发丨利用人工智能ChatGPT批量生成测试数据

news2024/11/25 23:14:16

点此获取更多相关资料

简介

测试数据是指一组专注于为测试服务的数据,既可以作为功能的输入去验证输出,也可以去触发各类异常场景。

测试数据的设计尤为重要,等价类、边界值、正交法等测试用例设计方法都是为了更全面地设计对应的测试数据集。

实践演练

在批量生成测试数据中,我们需要明确数据的类型、格式、还有需求。然后再将这些信息输入到ChatGPT中,由ChatGPT帮助我们自动生成测试数据。

那么如何让ChatGPT自动生成测试数据呢?

1.要把对应的需求信息给到ChatGPT。

2.规定好数据的输出格式。

假设以下是我们的需求内容:

要求添加一个输入框,输入框只能输入中国的手机号码。那我们可以使用如下的方式编写我们的提示词:

  • 提示词:要求添加一个输入框,输入框只能输入中国的手机号码。请根据以上需求帮我生成一些测试数据。
很抱歉,由于我目前无法直接操作图形界面或添加实际的输入框,我无法为您生成实际的测试数据。但是,我可以为您提供一些模拟的测试数据,以供参考。请注意,这些数据是随机生成的,仅用于测试目的。
模拟的中国手机号码测试数据:
1. 13812345678
2. 15098765432
3. 13456789012
4. 13987654321
5. 13678901234

请确保在实际测试中使用合法的手机号码,并根据您的需求进行适当的验证。

这样的返回信息明显没有考虑到异常场景,并不满足我们的需求,可以继续做进一步的补充。

  • 提示词:请考虑异常场景的测试数据
当然,为了全面测试输入框的有效性和鲁棒性,您可以考虑以下异常场景的测试数据:

1. 非数字字符:
   - 输入:abcde123456
   - 输入:1a2b3c4d5e6

2. 长度不正确的手机号码:
   - 输入:1391234567(缺少一位)
   - 输入:138123456789(超过11位)

3. 非中国手机号码:
   - 输入:+8613812345678
   - 输入:02012345678(固定电话)

4. 特殊字符:
   - 输入:13912#45678
   - 输入:15098&65432

5. 空输入:
   - 输入:(留空)

6. 其他异常情况:
   - 输入:00000000000(看起来像是假号码)
   - 输入:19912345678(虽然长度和格式正确,但可能是未来的号码)

请确保您的输入框能够正确地识别并处理这些异常情况,并向用户提供相应的错误提示或反馈。这样可以确保用户输入的有效性和系统的稳定性。

由此即可让生成的测试数据更加的完成。

除此之外,还可以限定生成的测试数据的格式信息,比如需要将生成的测试数据给代码使用,可以限定测试数据生成的格式。

  • 提示词:以上的测试数据,请使用yaml格式输出
    a248f5da0326261e0bf8bf5765cd3bb2.png

如此一来,即可通过不同的提示词,生成满足需求的测试用例。

总结

测试数据的生成其实也是遵循提示词的技巧与原则:

  1. 写清楚需求:需要明确测试数据的内容范围、数据类型等。
  2. 将复杂的任务拆分为更简单的子任务:如果一开始就计划生成一个比较复杂的数据信息,可以从输入的范围、格式等逐步拆解。
  3. 系统的测试变化:如果中间步骤输出的数据不满足需求,可以通过提示词进行纠正与补充。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1023918.html

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

相关文章

Immutable.js API 简介

Immutable-js 这个库的实现是深拷贝还是浅拷贝?immutable 来源immutable.js三大特性: 持久化数据结构结构共享惰性操作 Immutable.js 的几种数据类型 immutable 使用 使用 npm 安装 immutable: 常用API介绍 MapListList.isList() 和 Map.isMa…

【Linux】页表讲解(一级、二级) 和 vm_area_struct ## 对于我前面博客内容的补充

对于前5篇进程相关知识的补充 前言正式开始页表讲解缺页中断页表是如何映射的页表的真正面目 vm_area_structmm_structvm_area_stuct 前言 前面我的博客中讲了很多关于进程的知识,但是有一些内容需要做一点补充,补充完后我的下一篇博客就开始讲线程相关…

云原生Kubernetes:pod亲和性与反亲和性

目录 一、理论 1.调度策略 2.亲和性与反亲和性案例 二、实验 1.亲和性与反亲和性 三、问题 1.节点批次打标签错误 2.for循环批量创建pod报错 四、总结 一、理论 1.调度策略 (1)对比 2.Pod 拓扑分布约束 (1)概念 使用 …

游戏ip多开安全指南:保障多重账号操作安全性

游戏多开是许多游戏玩家们常用的操作方式,而使用游戏ip进行游戏多开则能够进一步拓展多重账号的应用。然而,对于游戏多开使用游戏ip的安全性,我们也需要保持一定的警惕和注意事项。本文将为您分享有关游戏ip多开的安全指南,助您保…

C++中operator关键字(重载操作符)

转载地址: https://www.cnblogs.com/ZY-Dream/p/10068993.html operator是C的关键字,它和运算符一起使用,表示一个运算符函数,理解时应将operator整体上视为一个函数名。 这是C 扩展运算符功能的方法,虽然样子古怪&a…

vs2022 创建一个同时支持.net480和.net6.0的WPF项目

新建WPF项目&#xff0c;不要选.NET Framework框架的。如下图所示&#xff0c;选择第一个。&#xff08;选择.NET Framework框架改成.net6.0会报错&#xff09; 用记事本打开项目的csproj文件&#xff0c;修改TargetFrameworks标签&#xff0c;如下所示&#xff1a; <Pro…

C++之容器std::stack类empty、size、top、push、emplace、pop、swap应用总结(二百二十三)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 人生格言&#xff1a; 人生…

Bootstrap 框架学习笔记(基础)

来自于 Twitter&#xff0c;基于 HTML、CSS、JavaScript。 有关网站&#xff1a;Bootstrap中文网Bootstrap是Twitter推出的一个用于前端开发的开源工具包。它由Twitter的设计师Mark Otto和Jacob Thornton合作开发&#xff0c;是一个CSS/HTML框架。目前&#xff0c;Bootstrap最…

JVM面试题-类加载顺序、双亲委派、类初始化顺序(详解)

类加载器 JVM只会运行二进制文件&#xff0c;类加载器的作用就是将字节码文件加载到JVM中&#xff0c;从而让Java程序能够启动起来。 类加载负责执行类加载&#xff0c;去磁盘进行识别&#xff0c;识别完后加载到内存 类加载器的种类&#xff1a; 从上往下 启动类加载器&…

Unity的配置文件在安卓路径下使用的方法

Unity的配置文件在安卓路径下使用的方法 前言 之前我做过的很多使用配置文件的Unity项目&#xff0c;后面的有些项目也有在安卓路径下读取json文件的需求。这几天有个需求是获取在安卓路径下配置文件里的数据&#xff0c;我在网上查了一些案例&#xff0c;简单实现了这个需求…

swift 约束布局

添加约束布局 背景图瀑全屏 如何三等分 外面view容器没有约束

Laravel Swagger 使用完整教程

Swagger 使用 一、Swagger 基础1、 什么是Swagger2、 安装过程1 、composer安装2、添加服务提供者&#xff0c;引导框架运行时加载&#xff0c;在 app 配置文件&#xff0c;providers 选项中添加(laravel 5以上忽略此步骤)3、配置完成后&#xff0c;通过输入命令 **php artisan…

QT记事本+登陆界面的简单实现

主体头文件 #ifndef JSB_H #define JSB_H#include <QMainWindow> #include <QMenuBar>//菜单栏 #include <QToolBar>//工具栏 #include <QStatusBar>//状态栏 #include <QTextEdit>//文本 #include <QLabel>//标签 #include <QDebug&g…

什么样的应用程序适合使用Flutter开发桌面?

桌面应用开发的现状 在过去&#xff0c;桌面应用程序的开发通常需要使用特定于操作系统的工具和语言&#xff0c;如C、C#、Java等。这导致了高昂的开发成本和维护困难。尽管有一些跨平台桌面开发工具&#xff0c;如Electron和Qt&#xff0c;但它们在性能、用户体验和开发效率方…

Linus Torvalds接受来自微软的Linux Hyper-V升级

微软最近推送了一些变更&#xff0c;旨在改进即将发布的 Linux 内核 6.6 版本对 Hyper-V 的支持。这些改进包括在 Hyper-V 上支持 AMD SEV-SNP guest 和 Intel TDX guest。除了这两项&#xff0c;还有其他一些升级&#xff0c;如改进了 VMBus 驱动程序中的 ACPI&#xff08;高级…

阿里云产品试用系列-负载均衡 SLB

阿里云负载均衡&#xff08;Server Load Balancer&#xff0c;简称SLB&#xff09;是云原生时代应用高可用的基本要素。通过将流量分发到不同的后端服务来扩展应用系统的服务吞吐能力&#xff0c;消除单点故障并提升应用系统的可用性。阿里云SLB包含面向4层的网络型负载均衡NLB…

Flink TaskManger 内存计算实战

Flink TaskManager内存计算图 计算实例 案例一、假设Task Process内存4GB。 taskmanager.memory.process.size4096m 先排减JVM内存。 JVM Metaspace 固定内存 256mJVM Overhead 固定比例 process * 0.1 4096 * 0.1 410m 得到 Total Flink Memory 4096-256-410 3430m 计…

Palantir的“英伟达时刻”即将到来

来源&#xff1a;猛兽财经 作者&#xff1a;猛兽财经 总结 &#xff08;1&#xff09;由于投资者对生成式人工智能的兴趣持续增加&#xff0c;Palantir的股价一直在上涨。 &#xff08;2&#xff09;Palantir已经连续三个季度实现了GAAP盈利&#xff0c;并将很快有资格被纳入标…

接口幂等性最佳实践--redis+注解

文章目录 一、概念二、常见解决方案三、本文实现四、实现思路五、项目简介六、代码实现1.pom2.JedisUtil3.自定义注解ApiIdempotent4.ApiIdempotentInterceptor拦截器5.TokenServiceImpl6.TestApplication 七、测试验证1.获取token的控制器TokenController2.TestController, 注…

Postman应用——Headers请求头设置

文章目录 Header设置Header删除或禁用Header批量编辑Header预设添加 一般在接口需要校验签名时&#xff0c;Headers请求头用来携带签名和生成签名需要的参数&#xff0c;在Postman也可以设置请求头在接口请求时携带参数。 Header设置 说明&#xff1a; Key&#xff1a;Header…