在软件研发过程中,我们经常需要各种各样的模拟数据来测试软件,为了让数据更真实地接近用户端数据,需要数据满足一定的规则,同时,数据还可能涉及一些逻辑运算等。
这种情况下,原来的做法就是开发测试工具来解决。要开发工具,自然要用编程语言,例如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 openpyxl
import random
from openpyxl.utils import get_column_letter
# 定义文件路径
file_path = 'D:\\temp\\Classinfo.xlsx'
# 打开现有的Excel工作簿和工作表
try:
wb = openpyxl.load_workbook(file_path)
ws = wb.active
except FileNotFoundError:
print(f"File {file_path} not found.")
exit()
# 读取第2行样例信息
sample_row = 2
sample_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交互修改,调试 |
行动吧,在路上总比一直观望的要好,未来的你肯定会感谢现在拼搏的自己!如果想学习提升找不到资料,没人答疑解惑时,请及时加入群: 759968159,里面有各种测试开发资料和技术可以一起交流哦。
最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取【保证100%免费】
软件测试面试文档
我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。