文章目录
2023.10.23更新:
经过一段时间的实践和沉淀之后,我将这段时间使用AI的经验,总结为教程,有兴趣可以前往新发表的文章:使用AI编写测试用例——详细教程
一、现状
- 随着chatGPT的发布,点燃了人们对人工智能的热情,也同样引起了一场“人类将会被AI替代”的恐慌。
- 谁都知道现阶段人工智能难以落地,但几乎是所有人,相关的、不相关的领域都争先恐后的涌入这项技术的研究当中。
- 大家普遍人为即使现在还未在自己身上发生“机器替代人工”,但一旦出现这种可能性,它带来的变革将十分迅速。
- 谁都担心在这场变革中落后于他人,从而导致失去先机,甚至是被淘汰。
二、测试技术可结合AI的几个方向
- “机器替代人工” 那么首先从人工的内容入手
- 那么从软件测试工作,都有什么工作内容
- 测试用例编写与执行、bug定位与跟踪,
- 测试报告等一些文档的编写
- 自动化脚本编写
- 测试用例算是测试工作中的一个重要的文档
- 而当前的AI技术大多数运用于文档编写,所以运用AI来编写测试用例是首先能想到的实践方向。
三、尝试使用AI编写测试用例(实验过程)
- 因为此篇文章主要探讨一种工作模式的可行性,所以直接使用CSDN的chitGPT作为测试对象
- 在整个实验的过程中,确认了使用AI编写测试用例确实可行。但过程中也暴露了一些问题。
1、AI联系上下文的能力弱
- 在问答交流的过程中,不算流畅
2、回答的内容类似于能在网上搜索到的内容
- 空泛的问题,得到空泛的答案。
- 如果没有一个明确的指令,得到的内容很像是通过搜索引擎获取到的一样
3、需要有一个明确的指令
- 当我开始给AI一个明确的需求的时候,这个实验变得有趣了起来
- AI的回答已经是能够运用到实际测试用例当中的测试点了。
4、输出内容有限
- 当我把编写用例的指令再明确一些,AI输出的结果已经非常完整了
- 但是可能因为内容太多,一会就报错了。
5、无法想象到需求描述之外的内容
- 在我两次问答的过程中,有意去掉一些内容,比如弹出键盘的这个描述。
- 含有这个描述时,AI回答的内容也包含这个。
- 去除这个描述,AI回答的内容也就没有包含这个内容。
四、总结:使用AI编写测试用例方案
- AI就像一面镜子,提供的指令是模糊,照出的结果也是模糊的。指令越清晰,结果也越清晰。
- 针对上面的过程,我总结出一个可行的方案
1、方案
- 向AI输入需求文档,及编写用例的指令
- 我在上诉实验过程使用的指令如下,有兴趣可以尝试一下:
编写下面这段需求的测试用例。
需求说明:
1.手机号输入框限制只能输入数字,除数字外字符输入不成功。手机号限制输入11位;
2.点击发送验证码,向服务端发起获取验证码请求。并且客户端提示“验证码已发送”;
3.密码输入框,限制只能输入数字或字母,限制位数为8-16位;
4.点击注册按钮提交数据;
5.用户协议默认选中,用户点击“隐私协议”或“用户协议”跳转至对应协议页面;
6.点击“直接登录”跳转至登录弹框;
7.当用户点击“X”按钮,关闭注册弹框;
输出内容需要包含用例序号、前置条件、用例标题、用例步骤、用例预期。
输出格式为表格。
- 获取AI输出的测试用例,并核验
2、存在的问题及解决方案
- 问题:AI对自然语言的理解有限,且无法联系上下文。
解决方案:需求文档通过人工提炼功能点。大部分功能分为展示\触发时机、样式、功能逻辑、异常处理几个部分,可以从这个几个方向整理功能点。 - 问题:针对迭代的项目和功能,如何输入需求文档?
解决方案:通过机器学习,让AI了解整个项目。但同时存在隐私泄漏的可能性。或是在需求文档中增加描述。 - 问题:AI产出的用例格式并非用例最终格式
解决方案:将指令更详细,更贴合自己的需求。通过脚本、或人工转换格式。 - 问题:AI产出的用例无法思考到文本描述之外的内容
解决方案:可以通过机器学习,也可以通过人工整理功能点时加入必要功能点。
3、存在风险、疑虑
- 让机器学习,伴随而来的就是严重隐私泄漏问题。它越了解公司的项目,那隐私泄漏的也就越多。所有AI也是一个双刃剑,想要利用好AI,首先要处理好这之间的平衡。
- 近期存在chatGPT大量封号的消息,想要方便安全的使用并不是那么容易。当然国内也有,到底哪个好用,这个还需要等各大厂的产品正式推出才可以。
- 因为使用AI还是需要一些前期的装备,和后续的处理,产出的价值是否能够大于成本这也是需要考虑的问题之一。
此篇文章只是本人的一些思考,可能存在不正确或遗漏的地方。欢迎大家一起讨论或指正我的错误。
————————————————————————————————————————————
本人运营的博客同名公众号【软件测试必备技能】不定期会上传测试相关资料,可点击文章下方二维码,前往领取~