首页
学习
活动
专区
圈层
工具
发布
50 篇文章
1
Ubuntu环境使用TPC-DS工具生成测试数据
2
cookie机制及其原理
3
网络测试,带宽测试,流量测试
4
使Edge浏览器打开仅支持IE兼容模式的网站
5
【Linux】挂载硬盘、镜像文件、rpm软件包管理器、yum软件包管理器、软件安装jdk、tomcat、mysql
6
【Spring Boot 项目创建】002-代码关联 Git 远程仓库
7
用ChatGPT生成测试数据
8
手机APP测试(测试点、测试流程、功能测试)
9
web前端好帮手 - Jest单元测试工具
10
用ChatGPT生成测试数据
11
Redis 精简笔记
12
一句话就能提Bug,这个自动提交Bug Skill 太好用了
13
从0到1做出可复用的 iOS 自动化测试 Skill,附真机演示效果
14
大厂测开面试都在问AI,这个实战项目直接帮你准备好了
15
OpenClaw 拿什么吃掉测试岗?
16
一篇理清Prompt,Skill,MCP之间的区别
17
AI 测试必备:推荐一款能让自动化失败脚本「自己修好」的 AI skill!
18
【Selenium 自学系列】(一)看源码分析交互原理
19
什么是CI/CD
20
这到底是前端还是后端Bug
21
详解接口测试(2)- HTTP接口用例设计与测试方法(拿B站练手)
22
比羊了个羊还火的ChatGPT,玩法全攻略讲解
23
爱心代码文字升级版
24
自动打包、装机、生成用例、真机回归,AI 测试流水线终于跑通了
25
AI生成注册用户测试用例
26
AI驱动的测试报告分析:从数据中挖掘测试洞察
27
WEB功能测试说明
28
APP功能测试要点
29
不输ChatGPT,kimi秒画流程图
30
聊天功能如何测试?
31
订单支付功能测试
32
app功能测试--需要测试哪些要点
33
【软件测试】使用QTP进行功能测试
34
TestZeus Hercules:功能测试写 Gherkin,让 AI Agent 去跑冒烟流程
35
非功能需求的测试
36
【功能篇】如何测试报表?
37
VFP AI 插件(ver:20251007)测试报告
38
VFP AI 插件使用指南(三)
39
「 支付功能 」的测试思路
40
研发、测试提效攻略:利用Apipost AI 6 大核心功能实现接口测试全流程
41
功能测试之app测试要点提取与分析
42
网站测试中短信发送功能测试点
43
常用功能的测试用例
44
20行代码,用Python实现异常测试用例
45
新梦想干货——软件测试中的43个功能测试点(下)
46
《打造你的 AI 知识库:用 Skill 实现项目文档的自动生成与维护》
47
Apifox和Apipost:2025 API工具巅峰对决
48
接口测试--apipost接口断言详解
49
ApiPost自动化测试基础之:如何使用测试校验(测试用例)?
50
教你用 Node.js 模拟自动发送邮件验证码
清单首页测试文章详情

用ChatGPT生成测试数据

大家好,欢迎来到 Crossin的编程教室 !

在之前的文章 用ChatGPT写一个数据采集程序 中,我们演示了如何用 ChatGPT 辅助编写代码。

除了直接让ChatGPT写代码,我们也可以让它生成一些开发中使用的测试数据。

比如在开发和测试时,常会用到 JSON 格式的数据:

代码语言:javascript
代码运行次数:0
复制
[
  {
    "id": 1,
    "name": "John Smith",
    "age": 28,
    "gender": "male",
    "email": "john.smith@example.com",
    "address": "123 Main Street, City",
    "phone": "123-456-7890"
  },
  {
    "id": 2,
    "name": "Jane Doe",
    "age": 32,
    "gender": "female",
    "email": "jane.doe@example.com",
    "address": "456 Oak Avenue, Town",
    "phone": "987-654-3210"
  },
  {
    "id": 3,
    "name": "David Johnson",
    "age": 45,
    "gender": "male",
    "email": "david.johnson@example.com",
    "address": "789 Elm Street, Village",
    "phone": "555-123-4567"
  },
  {
    "id": 4,
    "name": "Emily Williams",
    "age": 21,
    "gender": "female",
    "email": "emily.williams@example.com",
    "address": "321 Pine Avenue, Town",
    "phone": "777-888-9999"
  }
]

如果对数据内容或结构不满意,可以让ChatGPT做进一步修改,比如增加一个存在重复数据的字段:

代码语言:javascript
代码运行次数:0
复制
[
  {
    "id": 1,
    "name": "John Smith",
    "age": 28,
    "gender": "male",
    "email": "john.smith@example.com",
    "address": "123 Main Street, City",
    "phone": "123-456-7890",
    "occupation": "engineer"
  },
  {
    "id": 2,
    "name": "Jane Doe",
    "age": 32,
    "gender": "female",
    "email": "jane.doe@example.com",
    "address": "456 Oak Avenue, Town",
    "phone": "987-654-3210",
    "occupation": "doctor"
  },
  {
    "id": 3,
    "name": "David Johnson",
    "age": 45,
    "gender": "male",
    "email": "david.johnson@example.com",
    "address": "789 Elm Street, Village",
    "phone": "555-123-4567",
    "occupation": "teacher"
  },
  {
    "id": 4,
    "name": "Emily Williams",
    "age": 21,
    "gender": "female",
    "email": "emily.williams@example.com",
    "address": "321 Pine Avenue, Town",
    "phone": "777-888-9999",
    "occupation": "engineer"
  }
]

数据的格式也可以很方便地调整,比如从JSON换成XML:

代码语言:javascript
代码运行次数:0
复制
<users>
  <user>
    <id>1</id>
    <name>John Smith</name>
    <age>28</age>
    <gender>male</gender>
    <email>john.smith@example.com</email>
    <address>123 Main Street, City</address>
    <phone>123-456-7890</phone>
    <occupation>engineer</occupation>
  </user>
  <user>
    <id>2</id>
    <name>Jane Doe</name>
    <age>32</age>
    <gender>female</gender>
    <email>jane.doe@example.com</email>
    <address>456 Oak Avenue, Town</address>
    <phone>987-654-3210</phone>
    <occupation>doctor</occupation>
  </user>
  <user>
    <id>3</id>
    <name>David Johnson</name>
    <age>45</age>
    <gender>male</gender>
    <email>david.johnson@example.com</email>
    <address>789 Elm Street, Village</address>
    <phone>555-123-4567</phone>
    <occupation>teacher</occupation>
  </user>
  <user>
    <id>4</id>
    <name>Emily Williams</name>
    <age>21</age>
    <gender>female</gender>
    <email>emily.williams@example.com</email>
    <address>321 Pine Avenue, Town</address>
    <phone>777-888-9999</phone>
    <occupation>engineer</occupation>
  </user>
</users>

有同学要说了,可以用 faker 模块来生成哎!

是的,但那样毕竟也要自己动手写代码,还可能时不时要调整。现在有ChatGPT的辅助,可以秒出数据,岂不是更轻松?

当然你也可以将二者结合,比如这样:

代码语言:javascript
代码运行次数:0
复制
import random
from faker import Faker
import json

faker = Faker()

def generate_user_data(num_users):
    users = []
    for _ in range(num_users):
        user = {
            "id": faker.random_number(digits=4),
            "name": faker.name(),
            "age": random.randint(18, 60),
            "gender": random.choice(["male", "female"]),
            "email": faker.email(),
            "address": faker.address(),
            "phone": faker.phone_number()
        }
        users.append(user)
    return users

num_users = 4
user_data = generate_user_data(num_users)

json_data = json.dumps(user_data, indent=4)
print(json_data)

以往在开发中,如果需要类似的测试数据,手动编写是非常耗时和低效的。现在,类似的很多编程辅助工作都可交由ChatGPT来处理,从而让开发者把时间花在更重要的事情之上。

_往期文章推荐_

学编程遇到问题,如何更好地提问?

下一篇
举报
领券