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

点此获取更多相关资料

简介

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

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

实践演练

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

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

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

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

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

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

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

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

  • 提示词:请考虑异常场景的测试数据
当然,为了全面测试输入框的有效性和鲁棒性,您可以考虑以下异常场景的测试数据:1. 非数字字符:- 输入:abcde123456- 输入:1a2b3c4d5e62. 长度不正确的手机号码:- 输入:1391234567(缺少一位)- 输入:138123456789(超过11位)3. 非中国手机号码:- 输入:+8613812345678- 输入:02012345678(固定电话)4. 特殊字符:- 输入:13912#45678- 输入:15098&654325. 空输入:- 输入:(留空)6. 其他异常情况:- 输入:00000000000(看起来像是假号码)- 输入:19912345678(虽然长度和格式正确,但可能是未来的号码)请确保您的输入框能够正确地识别并处理这些异常情况,并向用户提供相应的错误提示或反馈。这样可以确保用户输入的有效性和系统的稳定性。

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

在这里插入图片描述

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

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

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

总结

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

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

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

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

相关文章

synchronized jvm实现思考

底层实现时,为什么使用了cxq队列和entryList双向链表?这里为什么不跟AQS中使用一个队列就行了,加了一个entryList的目的是为了什么? 个人理解这里多一个entryList,可能是用于减少频繁的cas操作。假设存在很多锁竞争时&…

LeetCode(12)时间插入、删除和获取随机元素【数组/字符串】【中等】

目录 1.题目2.答案3.提交结果截图 链接: 380. O(1) 时间插入、删除和获取随机元素 1.题目 实现RandomizedSet 类: RandomizedSet() 初始化 RandomizedSet 对象bool insert(int val) 当元素 val 不存在时,向集合中插入该项,并返回…

spring cloud alibaba之nacos

spring cloud nacos 安装和启动nacos # 解压nacos安装包 # tar -zvxf nacos-server-1.4.1.tar.gz# nacos默认是以集群的模式启动,此处先用单机模式 # cd /usr/local/mysoft/nacos/bin # sh startup.sh -m standalone# nacos 日志 # tail -f /usr/local/mysoft/na…

数据分析法宝,一个 SQL 语句查询多个异构数据源

随着企业数据量呈现出爆炸式增长,跨部门、跨应用、跨平台的数据交互需求越来越频繁,传统的数据查询方式已经难以满足这些需求。同时,不同数据库系统之间的数据格式、查询语言等都存在差异,直接进行跨库查询十分困难。 原生跨库查…

4路光栅尺磁栅尺编码器解码转换5MHz高速差分信号转Modbus TCP网络模块 YL97-RJ45

特点: ● 光栅尺磁栅尺解码转换成标准Modbus TCP协议 ● 光栅尺5V差分信号直接输入,4倍频计数 ● 模块可以输出5V的电源给光栅尺供电 ● 高速光栅尺磁栅尺计数,频率可达5MHz ● 支持4个光栅尺同时计数,可识别正反转 ● 可网…

​TechSmith Camtasia 2024破解版功能介绍及使用教程

在现在的网络互联网时代,越来越多的人走上了自媒体的道路。有些自媒体人会自己在网络上录制精彩视频,也有一些人会将精彩、热门的电影剪辑出来再加上自己给它的配音,做成大家喜欢看的电影剪辑片段。相信不管大家是自己平时有独特的爱好也好、…

Actipro Software WPF Controls 23.1.3

Actipro Software WPF Controls v23.1.3 Actipro Software 为 Microsoft 提供软件组件和 .NET 平台。它位于克利夫兰,重点主要是提供高质量的用户界面软件组件以及客户的过程,以便他们有能力信任,以便为用户应用程序添加强大的功能。自 .NET…

开放领域对话系统架构

开放领域对话系统是指针对非特定领域或行业的对话系统,它可以与用户进行自由的对话,不受特定领域或行业的知识和规则的限制。开放领域对话系统需要具备更广泛的语言理解和生成能力,以便与用户进行自然、流畅的对话。 与垂直领域对话系统相比…

arm2 day4

汇编编写流水灯 代码: LED流水灯现象:

Sentinel底层原理(下)

1、概述 Sentinel的核心原理,也就是前面提到暗流涌动的SphU.entry(…)这行代码背后的逻辑。 Sentinel会为每个资源创建一个处理链条,就是一个责任链,第一次访问这个资源的时候创建,之后就一直复用,所以这个处理链条每…

大数据Doris(二十二):数据查看导入

文章目录 数据查看导入 数据查看导入 Broker load 导入方式由于是异步的,所以用户必须将创建导入的 Label 记录,并且在查看导入命令中使用 Label 来查看导入结果。查看导入命令在所有导入方式中是通用的,具体语法可执行 HELP SHOW LOAD 查看。 show load order by create…

处理本地DNS劫持,导致域名解析失败

回顾情形 在公司内网,有同事反馈appstoreconnect.apple.com网站需要通过代理才能正常访问。 向我这边询问,否修改过路由策略; 检测域名 通过域名ping检测网址,https://ping.chinaz.com/astrill.com,来ping域名apps…