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

点此获取更多相关资料

简介

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

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

实践演练

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

总结

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

  1. 写清楚需求:需要明确测试数据的内容范围、数据类型等。
  2. 将复杂的任务拆分为更简单的子任务:如果一开始就计划生成一个比较复杂的数据信息,可以从输入的范围、格式等逐步拆解。
  3. 系统的测试变化:如果中间步骤输出的数据不满足需求,可以通过提示词进行纠正与补充。
相关推荐
德思特41 分钟前
从 Dify 配置页理解 RAG 的重要参数
java·人工智能·llm·dify·rag
火山引擎开发者社区43 分钟前
ArkClaw AI 盯盘管家 —— 从手动口令到自动推送,4 套预置定时任务模版一键启用
人工智能
sxgzzn1 小时前
新能源场站数智化转型:基于数字孪生与AI的智慧运维管理平台解析
大数据·运维·人工智能
北巷`1 小时前
CC Workflow Studio 解析与落地方案
人工智能·团队开发
十铭忘1 小时前
连续扩散语言模型
人工智能
AI算法沐枫1 小时前
深度学习python代码处理科研测序数据
数据结构·人工智能·python·深度学习·决策树·机器学习·线性回归
迁移科技1 小时前
告别人工分拣!迁移科技 AI+3D 视觉让机器人 “看懂” 无序抓取
人工智能·科技·3d·机器人·自动化·视觉检测
IT_陈寒1 小时前
Redis缓存击穿把我整不会了,原来还有这手操作
前端·人工智能·后端
YuanDaima20481 小时前
Linux 进阶运维与 AI 环境实战:进程管理、网络排错与 GPU 监控
linux·运维·服务器·网络·人工智能
跨境数据猎手2 小时前
跨境商城反向海淘系统开发全流程逻辑(上)
人工智能·爬虫·系统架构