51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 222|回复: 2
打印 上一主题 下一主题

[原创] AI可行性实验之辅助测试工作

[复制链接]
  • TA的每日心情
    无聊
    2 小时前
  • 签到天数: 939 天

    连续签到: 1 天

    [LV.10]测试总司令

    跳转到指定楼层
    1#
    发表于 2024-3-7 13:30:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    前言
    要说这段时间仅在软件测试领域有什么可以总结的内容,我想应该是人工智能了,简称AI(Artificial Intelligence,人工智能)。
    在某本书中有位大佬曾经说过,AI是第四次工业革命。这种说法我消化不了,因为没有亲身体会过工业革命,我能理解的是在大量资本涌入的情况下,AI的推广速度会非常的快,即使不在AI领域内的人,看到哪些让人产生焦虑的视频或文章,也能从侧面感受到,说AI可以替代“这个”,也可以替代“那个”,是不是真的比人做的更好,我想还有待观察。
    我始终相信AI只是一种工具,与一把斧子、一个扳手在本质上没什么区别,当然我用的AI都是通用AI,没用过专业AI,也就是专注于某一领域的AI,具体专业AI可以智能到什么程度,我想也只有接触过最前沿的人才有发言权。
    再多说两句,现在的通用AI最擅长是生成内容,也就是所谓的AIGC(Artificial Intelligence GeneratedContent,人工智能生成内容),像视频、图片、文本等,但是这些东西你不用AI自己也可以做,即使你要让AI做一段视频,你至少也要清楚做视频的基本知识,才能做出符合要求的视频,如果都让AI做,一点要求都没有,门槛如此之低的视频内容,有什么价值。
    同理,本篇文章讨论的是用AI工具辅助测试工作,那你就要具备一名测试工程师的基本知识,才能更好的向AI提问,以及“调教”(训练)AI,让它的正确答案更接近你的需求。
    想要更好的向AI提问以及“调教”AI,就要写好提示词,这个和搜索引擎用的关键词差不多,目的都是缩小范围,以便得到更精确的输出,只不过这些提示词组合起来更像人话。
    接下来,就要进行一个简单的实验,实验用的人工智能是百度的文心一言,非常方便注册和使用。
    使用的示例我在51Testing测试圈中的免费讲堂《测试人员必备的测试技术》中也有引用,都是所有测试工程师都耳熟能详的示例。
    正文一、 使用AI分析需求提取测试点
    程序名称:判断是否为三角形的软件
    程序需求:程序接收3个整数,代表三角形的三个边长,判断3个整数是否可以构成一个三角形,并进一步判断是一般三角形、等腰三角形还是等边三角形。
    接下来,使用AI分析测试需求,并提取测试点。
    向人工智能(百度文心一言)提出的问题,也就是描述需求,如下图所示。
    图1-1 向人工智能提问


    人工智能(百度文心一言)根据要求输出的回答内容如下图所示,由于太长,所以分成两个部分展示。
    图1-2 回答的第一部分





    图1-3 回答的第二部分


    当然这个需求说明非常简单,但我也不得不说,非常有参考价值,就不说很好了,免得它骄傲。

    接下来,我们继续“调教”AI,把软件测试工程师的基本技能都赋予它,如下图所示。




    图1-4 “调教”人工智能

    人工智能(百度文心一言)这次输出的内容非常多,我们分成两个部分展示。
    图1-5 第一部分


    图1-6 第二部分


    怎么样?还可以吧,比较中规中矩,但是“调教”AI,重要的是“教”,也就是把你,一个资深的软件测试工程师的经验教给它,这一步实际上是最重要的。



    图1-7 继续“调教”通过继续“调教”的步骤,也就是赋予经验给它,它的回答就会更加完善,如下图所示。




    图1-8
    在“调教”的时候,也可以根据AI自动生成的提示词继续完善回答内容,当然也需要我们根据自己的经验进行取舍,如下图所示。



    图1-9
    二、使用AI根据测试点生成测试用例
    通过一个简单的示例,人工智能(百度文心一言)给出的结果确实具有参考价值,接下来,我们继续使用它,让它生成测试用例,问题非常简单就不截图了,就是根据以上总结的测试点用表格的形式生成测试用例,输出的回答如下图所示。




    图1-10 第一部分

    图1-11 第二部分

    图1-12 第三部分
    写的很简单,这是因为我们“调教”的不够好,我们可以根据实际情况修改输出的测试用例的格式,比如更加专业的用例编号、测试项目、重要级别等等。






    图1-13
    通过以上的“调教”提示词,我们得到了进一步完善的测试用例,只是简单的训练,效果还可以,如下所示。






    图1-14 第一部分



    图1-15 第二部分图1-15 第二部分图1-15 第二部分

    图1-15 第二部分



    图1-16 第三部分


    我们在问几个比较有趣的问题,看看AI怎么回答,如下图所示。







    根据上面几个问题的答案,我们可以得出结论,待“调教”的AI还有很大的成长空间。


    由于篇幅所限,这里仅仅使用等价类划分方法进行举例,其它的因果、场景、状态图、条件组合等方法,读者可以自行实验。


    三、AI可行性实验总结
    结论一,AI可以辅助测试工作,而且效率比搜索引擎要高。


    结论二,使用AI的人经验越足,能力越高,则“调教”出来的AI能力越高,这个实际上在上述内容的演示中就可以看出来。一个专业的绘画高手,使用AI设计出的作品,与一个业余绘画爱好者使用AI设计的作品,差距会非常明显,很简单的道理,美学素养都不一样,“调教”出的AI肯定不一样,连专业术语都不熟悉的人,怎么设计提示词嘛。


    结论三、AI在测试领域不止可以辅助功能测试,也可以辅助性能、自动化和安全测试,而且效率非常高。当然,需要有专业的人士进行“调教”,要承认一个事实,不同的人“调教”出的AI,能力是不同的。


    结论四,“调教”AI实际上是把自己的经验赋给AI的一个过程,像老师教学生,但这个学生有一个超能力,就是强大的计算能力和大数据能力,就是没啥想象力,也会出错,所以需要教,教完以后绝不会犯第二次错。


    结论五、这是最重要的,AI就是一个工具!用好了,有加成效果,用不好,那还不如用搜索引擎呢。


    最后,我想基于一个问题说说自己的想法,那就是AI是不是可以替代人类工作?当然,你也可以直接问AI,但是问这种问题就好像在问一个卖瓜的人他的瓜甜不甜,他会说不甜吗,只能给你一个看似中肯的答案,还是别人喂给它的答案。


    完全替代的可能性不大,反正在我可看见的未来应该机会不大,但是在某些领域减少工作,如果AI大力推广的话,应该问题不大,比如说,一间医院原来有10个医生,用了AI以后,也许5个就够了。


    那技术领域会怎么样的?我说的技术领域范围只限定在开发和测试。


    开发,先不说复杂多变及跨领域的需求或者基于客户意愿定制化的需求,仅仅从编码层面来看,用AI开发代码的程序员要有很强的测试思维,估计会有很多Bug或者安全漏洞,这很容易理解,因为“喂”给它的代码都是人写的,都有Bug,所以它写的代码也不会很完美,毕竟深度学习这个东西,是模拟人脑的神经元链接方式搞出来的,产生结果的原理具有不可解释性,你仔细体会一下不可解释性这个词。


    还有就是测试,我觉得替代不了,用AI测试AI,它都不可解释了,能信任它吗,如果AI全领域覆盖,一旦出问题就是大问题,后果绝对不能承受,就算把所有的代码都规范化处理,AI生成代码完全依据规范开发,这个过程也需要有人监督。


    我们都知道AI已经应用在安全领域的某些方面了,但是AI自身的安全性谁来保证,AI只是应用层面的技术,支撑它运行的基础设施从冯诺依曼以来就没变过,这是基础设施层面的,实际上AI系统自身也是非常脆弱的。


    所以也不需要太神话AI,AI就是一个工具,到底是不是第四次工业革命,我看现在下结论还为时过早,就算是,也只是刚刚开始,都不一定能成功。


    最后开一个玩笑,也许哪天基因工程领域实现了突破性的进展,人脑直接开发到百分之百,去看一下超脑那部电影,还用啥AI。


    我不是反对AI。我使用后的感受就是,AI是一个非常有效率的工具,国内的AI产品做的也非常好,但是没必要过度神话AI,搞得很多人焦虑。




    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

    x
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-4-28 11:08 , Processed in 0.064520 second(s), 23 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表