写点什么

利用人工智能 ChatGPT 批量生成测试数据,测试工作再也不愁数据!

作者:测试人
  • 2024-04-29
    北京
  • 本文字数:1494 字

    阅读完需:约 5 分钟

简介

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

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

实践演练

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

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

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

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

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

要求添加一个输入框,输入框只能输入中国的手机号码。

那我们可以使用如下的方式编写我们的提示词:

  • 提示词:要求添加一个输入框,输入框只能输入中国的手机号码。请根据以上需求帮我生成一些测试数据。

很抱歉,由于我目前无法直接操作图形界面或添加实际的输入框,我无法为您生成实际的测试数据。但是,我可以为您提供一些模拟的测试数据,以供参考。请注意,这些数据是随机生成的,仅用于测试目的。
模拟的中国手机号码测试数据:1. 138123456782. 150987654323. 134567890124. 139876543215. 13678901234
请确保在实际测试中使用合法的手机号码,并根据您的需求进行适当的验证.
复制代码

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

  • 提示词:请考虑异常场景的测试数据

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

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

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

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

- description: Non-numeric characters  input: abcde123456
- description: Non-numeric characters input: 1a2b3c4d5e6
- description: Incorrect length input: 1391234567
- description: Incorrect length input: 138123456789
- description: Non-Chinese phone number input: +8613812345678
- description: Non-Chinese phone number input: 02012345678
- description: Special characters input: 13912#45678
- description: Special characters input: 15098&65432
- description: Empty input input:
- description: Potentially fake number input: 00000000000
- description: Potential future number input: 19912345678
复制代码

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

总结

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

  1. 写清楚需求:需要明确测试数据的内容范围、数据类型等。

  2. 将复杂的任务拆分为更简单的子任务:如果一开始就计划生成一个比较复杂的数据信息,可以从输入的范围、格式、再到输出个格式逐步拆解。

  3. 系统地测试变化:如果中间步骤输出的数据不满足需求,可以通过提示词进行纠正与补充。

软件测试开发免费视频教程分享


发布于: 刚刚阅读数: 3
用户头像

测试人

关注

专注于软件测试开发 2022-08-29 加入

霍格沃兹测试开发学社,测试人社区:https://ceshiren.com/t/topic/22284

评论

发布
暂无评论
利用人工智能ChatGPT批量生成测试数据,测试工作再也不愁数据!_软件测试_测试人_InfoQ写作社区