AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


如何用AI 一键开发工具,生成你想要的测试数据
发布日期:2024-06-05 08:30:29 浏览次数: 1825 来源:测试工程化


软件研发过程中,我们经常需要各种各样的模拟数据来测试软件,为了让数据更真实地接近用户端数据,需要数据满足一定的规则,同时,数据还可能涉及一些逻辑运算等。


这种情况下,原来的做法就是开发测试工具来解决。要开发工具,自然要用编程语言,例如Python,Java,C/C++/C##等,总之,你擅长什么语言就用什么。

这对于整天绞尽脑汁设计用例找bug为重心(并不是整天编码)的测试人员来说,并不是每个人都擅长。这样,团队中的这些需求通常就由测试开发工程师来完成,没有独立测试开发岗位的公司通常则由擅长这方面工作的测试工程师兼职来完成。

但,在AI时代,程序开发的门槛实实在在降低了很多很多。无论是谁,哪怕你并不擅长,只要有一些编码基础,有一些开发的思维,完全可以借AI之力,突破边界,助你进阶,高效地完成任务。下面分享一个实例。

明确目标

首先,开始动手前,想清楚要开发解决什么问题的工具,本案例:自动生成100条满足条件的学生信息,供某软件功能测试时使用,节省手动处理测试数据的时间。

下面,是详细的开发步骤。


 

开发步骤

第1步:条件准备

 

1.确定用什么语言编写程序,并准备好程序的运行环境。本例采用Python脚本语言,本机安装了Python3.7作为 运行环境。如果没有安装,可到官网下载安装,版本可下载最新的。
 
2.选择你用的AI智能助手,此案例,用KimiChat(地址:https://kimi.ai)
 
3.创建数据源文件,放在D:\temp,叫Classinfo.xlsx (可以换成你的目录与文件名)。
打开Classinfo.xlsx,里面的基础内容如下:
 

 

第2步:提示词设置

 

提示词设计如下:

 

##

你是一个Python编程专家,需完成一个Python脚本编写任务,具体步骤如下:
 
1、打开文件:D:\temp\Classinfo.xlsx
 
2、读取第2行信息,并以此为样例,按以下规则随机生成学生数据信息,规则如下:
1)学号用"NS"开头,按数字0001为第1个学号顺序填写在A列
2)姓名循环采用“李”,"张","刘”,"王","黄",“肖","姚",背后再加随机数字,生成后,填写在B列
3)语文、数学及英语的成绩大于0分,小于100分,随机生成后,分别填写在C列,D列,E列
4)每生成一条记录,算出学生的总分及平均分,分别填写在F列,G列
5)共生成100个学生的信息。
 
注意:脚本程序需要在python3.7环境下运行
##

我们需要注意,python程序运行的环境,因为不同版本的python存在兼容性问题,而AI 写的脚本程序并不一定在你的环境下可正确运行。所以,在提示词设计时,要明确出来(此处,我踩坑了,是后面才加上去的)

 

第3步:AI生成脚本程序


1、进入kimi chat 聊天界面
2、把上面提示词内容复制到Kimi 对话框中,如下:

 

 


下面是kimi输出的python程序:


import openpyxlimport randomfrom openpyxl.utils import get_column_letter

# 定义文件路径file_path = 'D:\\temp\\Classinfo.xlsx'

# 打开现有的Excel工作簿和工作表try:wb = openpyxl.load_workbook(file_path)ws = wb.activeexcept FileNotFoundError:print(f"File {file_path} not found.")exit()

# 读取第2行样例信息sample_row = 2sample_data = [cell.value for cell in ws[1]]

# 定义姓氏列表surnames = ["李", "张", "刘", "王", "黄", "肖", "姚"]

# 随机生成学生数据for i in range(1, 101):# 从1到100生成100个学生信息# 学号student_id = f"NS{str(i).zfill(4)}"# 姓名surname = random.choice(surnames)name = f"{surname}{random.randint(0, 9)}"# 语文、数学、英语成绩scores = [random.randint(1, 100) for _ in range(3)]total_score = sum(scores)average_score = total_score / len(scores)
# 插入数据到工作表中new_row = [student_id, name] + scores + [total_score, average_score]ws.append(new_row)
# 输出执行信息print(f"Generated data for student {i}: {student_id}, {name}, Scores: {scores}, Total: {total_score}, Average: {average_score}")

# 保存工作簿wb.save(file_path)print("Data generation and file saving completed.")
 

第4步:运行脚


把脚本程序复制到文本文件中,保存为Createstudentinfo.py,并执行,见下:

 

 

第5步:查检生成的结果


打开程序执行后生成的结果文件,如下:


 

 

注意事项


1、有可能第一次运行会报错,需根据错误内容解决。我这里遇到过python版本不兼容问题,也遇到kimi输出的代码并不是最优的,会报错,重新把错误喂给它,kimi修改后,可以正常运行。
2、提示词中设计的流程规则,或逻辑运算规则,有可能也会有问题,需根据kimi的提示,手动修改,这也说明提示词有时可能不能一次到位。

小结:

1、编程的技术门槛明显降低了,效率也高高了。那么,是否不用再学编程也能开发工具?从这个案例中,我们可以看到还是要学习编程的思维,能大致看懂什么意思,看到问题能有解决思路。
例如,一个从未接触过编程的人,是需要学习设置好运行环境,程序一旦有问题,需与AI不断微调,会作简单调试与修改。
2、对当下测试的影响:由于AI的高效,同样的任务,团队人员可减少,且更需要全栈式的测试工程师。
3、用AI开发工具:提示词的设计是关键,类似之前我们开发软件时做的详细设计,对任务进行拆解,把完成任务的流程明确出来,体现在提示词中。

总体而言,AI时代,用AI开发工具可用如下流程:


开发步骤
参与者
说明
条件准备
需求提出人
不一定是原来的开发人员/程序员
设计提示词
需求提出人
拆解工作问题,对工具的实现细则作设计,并体现在提示词中
AI生成程序
AI
AI自动生成代码
执行程序
需求提出人/用户
运行程序,生成数据
检查结果
需求提出人/用户
判断AI生成的程序,运行后完成的任务是否符合预期,此步可能需要反复,与AI交互修改,调试


53AI,企业落地应用大模型首选服务商

产品:大模型应用平台+智能体定制开发+落地咨询服务

承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询