软件测试/人工智能|测试数据很头疼,ChatGPT帮你造

2023-11-21 10:43:44 浏览数 (3)

简介

在我们完成了测试用例的编写之后,我们就需要造不同的测试数据去进行实际的测试工作了,我们要让我们的测试尽可能地覆盖所有的情况,就需要我们根据测试用例的设计方法,去设计更多的测试数据,执行更多地测试用例,使得测试更加完善。在造测试数据的时候,ChatGPT当然也可以帮我们很多。

测试数据

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

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

生成实践

我们在借助ChatGPT帮我们生成测试数据时,也需要明确我们的需求,我们的数据类型格式等等,只有这样,ChatGPT才能生成符合测试需求的测试数据,这样我们的测试结果才符合要求。

比如我们要在注册账号时输入境内的手机号码,那我们应该如何向ChatGPT提问生成测试数据呢?

提问:我现在需要测试一个需求,在手机号码输入框中,只能输入中国大陆境内的手机号码,请根据我的需求给我生成一些测试数据

ChatGPT的回复如下:

代码语言:txt复制
理解了,你需要测试一个手机号码输入框的需求,该输入框只接受中国大陆境内的手机号码。以下是一些测试数据,包括有效和无效的手机号码示例:

- 有效的中国大陆境内手机号码示例:
 - 13987654321
 - 18812345678
 - 13723456789
 - 15678901234
 - 18523456789
- 无效的手机号码示例(非中国大陆境内手机号码):
 - 12345678901 (不是有效的手机号码长度)
 - 8613987654321 (国家代码 手机号)
 - 001377654321 (国际拨号格式)
 - 85298765432 (中国香港手机号码)
 - 07894561234 (英国手机号码)
这些测试数据涵盖了中国大陆境内手机号码的不同格式和有效性,以及一些不符合要求的手机号码格式。使用这些数据进行测试可以检查输入框是否符合限制条件,只接受中国大陆境内有效的手机号码。

这个回复只考虑了地区方面,并没有考虑到非数字字符和特殊字符的情况,请帮我补充一下。

ChatGPT的补充如下:

代码语言:txt复制
明白了,除了地区限制外,还需要考虑非数字字符和特殊字符的情况。以下是一些扩展的测试数据,包括非数字字符和特殊字符的情况:

含有非数字字符和特殊字符的手机号码示例:
- 13987654321(正常的手机号码)
- 188-1234-5678(带有连字符)
-  8613723456789(带有国际拨号代码)
- 137 2345 6789(带有空格)
- 156@7890^234(包含特殊字符)
这些测试数据包括了带有连字符、国际拨号代码、空格和特殊字符的手机号码,可以用来验证输入框是否能够正确地拒绝或者过滤掉这些非数字字符和特殊字符。

我们可以看到,ChatGPT根据我们的需求,补充了测试数据。

如果我们采用的是自动化测试并且我们采用了数据驱动的方法,我们可以将这些测试数据放在我们的yaml文件中,我们也可以让ChatGPT直接生成yaml文件。

提问:我所进行的是自动化测试,需要将以上的测试数据生成一个yaml文件,方便我进行数据驱动测试

ChatGPT回复如下:

代码语言:yaml复制
valid_phone_numbers:
  - 13987654321
  - 18812345678
  - 13723456789
  - 15678901234
  - 18523456789

invalid_phone_numbers:
  - 12345678901
  - 8613987654321
  - '001377654321'
  - 85298765432
  - 07894561234

phone_numbers_with_special_characters:
  - '13987654321'    # 正常的手机号码
  - '188-1234-5678'  # 带有连字符
  - ' 8613723456789' # 带有国际拨号代码
  - '137 2345 6789'  # 带有空格
  - '156@7890^234'   # 包含特殊字符

这个YAML文件分为三个部分:valid_phone_numbers(有效的中国大陆境内手机号码)、invalid_phone_numbers(无效的手机号码示例,不在中国大陆境内)、phone_numbers_with_special_characters(带有特殊字符的手机号码示例)。这样可以更方便地进行数据驱动测试,你可以根据需要引用这些测试数据进行自动化测试。

总结

本文主要给大家介绍了使用ChatGPT生成测试数据的步骤,使用ChatGPT可以极大地简化测试数据的构造过程,节省时间和人力资源。通过为模型提供清晰的提示,我们可以生成多样化且符合需求的测试数据,从而更全面地测试应用程序。希望本文可以帮到大家。

0 人点赞