【原】用ChatGPT生成测试数据 世界热议

2023-06-10 08:55:23 来源:个人图书馆-编程教室

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


【资料图】

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

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

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

[{"id":1,"name":"JohnSmith","age":28,"gender":"male","email":"john.smith@example.com","address":"123MainStreet,City","phone":"123-456-7890"},{"id":2,"name":"JaneDoe","age":32,"gender":"female","email":"jane.doe@example.com","address":"456OakAvenue,Town","phone":"987-654-3210"},{"id":3,"name":"DavidJohnson","age":45,"gender":"male","email":"david.johnson@example.com","address":"789ElmStreet,Village","phone":"555-123-4567"},{"id":4,"name":"EmilyWilliams","age":21,"gender":"female","email":"emily.williams@example.com","address":"321PineAvenue,Town","phone":"777-888-9999"}]

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

[{"id":1,"name":"JohnSmith","age":28,"gender":"male","email":"john.smith@example.com","address":"123MainStreet,City","phone":"123-456-7890","occupation":"engineer"},{"id":2,"name":"JaneDoe","age":32,"gender":"female","email":"jane.doe@example.com","address":"456OakAvenue,Town","phone":"987-654-3210","occupation":"doctor"},{"id":3,"name":"DavidJohnson","age":45,"gender":"male","email":"david.johnson@example.com","address":"789ElmStreet,Village","phone":"555-123-4567","occupation":"teacher"},{"id":4,"name":"EmilyWilliams","age":21,"gender":"female","email":"emily.williams@example.com","address":"321PineAvenue,Town","phone":"777-888-9999","occupation":"engineer"}]

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

1JohnSmith28malejohn.smith@example.com
123MainStreet,City
123-456-7890engineer
2JaneDoe32femalejane.doe@example.com
456OakAvenue,Town
987-654-3210doctor
3DavidJohnson45maledavid.johnson@example.com
789ElmStreet,Village
555-123-4567teacher
4EmilyWilliams21femaleemily.williams@example.com
321PineAvenue,Town
777-888-9999engineer

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

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

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

import randomfrom faker import Fakerimport jsonfaker = 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 usersnum_users = 4user_data = generate_user_data(num_users)json_data = json.dumps(user_data, indent=4)print(json_data)

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

标签:

推荐阅读>