龙测科技 AI 成为 “工作刺客”,测试的未来在哪儿?

龙测科技 · 2023年02月08日 · 最后由 stevenhu 回复于 2023年02月09日 · 5214 次阅读

软件从开发 - 上线两步走到现在开发 - 测试 - 上线三步走,经历了一个重要的过程。测试在其中扮演了重要的角色,从开发自测到专门设立测试工程师,测试工程师从手工测试逐渐转为自动化测试。随着数据变革和开发运维的驱动,自动化测试已经成为软件测试的核心,并且在软件测试的发展进程中处于领先地位。但是,接下来测试会向着什么方向演变,这是全行业关注的重点。

当前有个流行的观点,AI 将会 “偷走” 你的工作,因为 AI 已经可以写代码、做基本的测试工作了,比如现在大火的 ChatGPT,它顺利通过了 ISTQB 认证,这是国外通行的软件测试证书,这似乎代表着什么,但在实际和测试者们的沟通中发现,这件事的影响远没有那么大,大家认为 AI 不会取代人类,反而会帮助人们进行 QA 测试。目前,人工智能在软件开发中的使用仍处于起步阶段,其在更先进的领域中自主水平甚至更低。

但不可否认,以 AI 如今的进步速度,代替人类似乎只是时间问题。AI 似乎能够成为测试的未来,人们对 AI 在软件测试领域的表现给予了极高的期望,AI 的发展使得一些组织变革了他们的流程,取得了良好的发展时机。


AI 在测试中有不同的使用方式

用 AI 做单元测试。AI 进行静态分析以发现单元测试代码无法被处理的区域,针对没有覆盖到的代码创建单元测试,并给这些单元测试提供输入数据,这代表着无需人工设置,也无需组件交互,单元测试将更加便捷。在将来,AI 将能够随着源代码的更改随时更新、维护这些单元测试,这也意味着开发人员维护的时间将直线下降。

用 AI 做功能测试。功能测试离不开画面、离不开 UI,而这恰恰是 AI 的拿手绝活。功能测试中,如何对界面元素的位置进行有效判定是一个重要的考验,通过 AI 元素识别,可以帮助用户自动定位界面元素位置。进一步,AI 可以通过对元素的识别,判断界面元素之间的联系,自动生成可行性步骤,生成测试用例。这个测试用例在目前的情况下比较简单,但是通过对 AI 的反复数据训练,将会大大加强测试用例的复杂度,甚至做到 AI 直接做测试。

目前,我们对外推出了 AI 视频转流程图的功能,是对 AI 做功能测试的初步尝试,我们通过手机录制原生操作视频,再把视频上传,经过 AI 分析识别,自动生成对应操作步骤的测试用例,也就是说通过录制视频,AI 就能完成基础的测试用例搭建工作,减少不必要的录制时间,感兴趣的小伙伴可以点击前往。

https://testerhome.com/users/third_app_login/dragontesting

用 AI 做接口测试。AI 可以理解不同的接口命令之间的模式和关系,AI 能够创建一系列的接口命令并且提供要测试的参数,此外,AI 也能通过学习用户行为为接口测试生成更多高级的模式和输入。

AI 测试的优势

AI 将帮助测试实现无差错和简化。使用新的算法和工具,软件开发人员将花费更少的时间写测试代码和验证数据。为了节省时间,AI 拥有通过日志文件分类和提高特定程序准确性的能力。数据的产生使开发人员能洞悉哪些测试区域需要修复,因此使用较少时间做针对性的修改从而缩短了开发周期。新的算法也将规避将来的错误或复杂的情况以提高测试效率。

AI 通过清洗返回日志,优化测试套件,识别冗余和唯一的测试案例,从而消除重复并且改善可追溯性。

AI 帮助在开发过程中更早的识别缺陷以达到未来规避该缺陷的效果。通过更快地发现缺陷,开发人员能够基于已验证的错误优先做回归测试,通过 AI 生成的信息,测试人员能在 bug 出现的时候迅速检测并且消除 bug。

最后,AI 可用于分析测试结果,识别缺陷并预测质量,AI 预测程序的关键参数并且批准最佳操作,从而发现一些重要的、关键的和不怎么明显的缺陷。

总之,AI 将更快、更好的生产出优秀的测试用例,更好的优化,更广的覆盖范围,更好的可追溯性,从而加强软件质量;AI 将缩短测试周期,节省开发成本。


但是,AI 要完全准备好接手软件测试还有很长的路要走。AI 需要大量的训练才能达到上面所说的这些能力——这是一个需要耗费大量时间教学的过程。

目前,我们还需要给 AI 一些积累的时间~

共收到 2 条回复 时间 点赞

摸鱼也是 “工作刺客”🐟

收拾收拾,回老家卖鱼去~~~

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册