测试是软件开发流程的关键部分。软件代码引起的错误在 2020 年给美国本土企业造成了 2.08 万亿的损失。鉴于如此高昂的成本,预防代码错误成为一件重要的事情,这也是测试这个工作产生的根本原因。为了防止错误,开发需要进行定期和彻底的测试,这也带来了两大难题,耗时多、测试目标难确定。
面对这两个测试大难题,业界统一的解决思路是 AI+ 测试。目前 AI+ 测试的形态,更多的是在测试阶段,借助 AI 的力量作用于测试环节或者测试步骤的修改,或者通过 AI 来直接生成一段测试用例。但最近 ChatGPT 的爆火带来了另一种 AI+ 测试的形态,借助 AI 的力量,在开发阶段自动定位问题所在,从而达到测试左移。
第一形态
第一种形态,相信大家都比较熟悉,也能举出几个熟悉的工具。这里我们就拿龙测 AI-TestOps 云平台举例。
通过 OCR、OpenCV 带来的视觉定位方式,方便、快捷的定位元素的位置,在此期间,获取元素属性,形成元素属性库,后续即使元素属性变更,通过元素属性库也能自动辐射所有使用该元素的用例,做道一键修改;NLP 录制使得元素位置间的变化不再是大问题,因为相对位置固定,所以元素的定位准确率得到极大增强。遇到极小控件的情况下,NLP 可以借助文本的方式录制出来;利用 AI 直接生成测试用例,手机录制一段实机演示,交由 AI 分析,自动转化为测试用例。
感兴趣的小伙伴欢迎点击链接前往体验。
https://testerhome.com/users/third_app_login/dragontesting
以上 AI 功能聚焦于测试流程的全过程,每个部分都有涉及。除此之外,AI 滑块验证码;AI 弹窗检测等功能也可有效提高测试效率。
第二形态
第二种形态,早已有之,但一直处于设想状态,没有成品。直到近期,这个形态的产品方才问世。
上周,软件代码质量初创公司 CodiumAI,推出其生成式 AI 驱动的代码完整性工具 TestGPT 的 beta 测试版。
TestGPT 是一个人工智能模型,该模型由 OpenAI 的 GPT-4 大型语言模型提供支持。TestGPT 可以帮助开发人员以交互方式测试他们的代码。TestGPT 在开发人员工作时分析新编写的代码、文档字符串和注释,然后建议应该执行哪些测试以确保该代码的功能和完整性。开发人员只需在 TestGPT 建议他们确保代码的完整性时接受并提交这些测试。
TestGPT 网址:https://www.codium.ai/
CodiumAI 的工具现已推出测试版,作为 PyCharm、VSCode 和 WebStorm 等流行集成开发环境的扩展,并将在未来与更多 IDE 和其他编程语言集成。
TestGPT 借着 ChatGPT 的风来到了我们的眼前。从目前的软件行业情况来看,TestGPT 主要还是供给于开发端,和当前情况不符。但是,未来会是什么样子呢?
如果 TestGPT 的能力足够强大,那他就能倒逼软件企业改变规则,让开发把单元测试的时间替换为使用 AI 的时间,甚至缩短开发时间,增加自我测试时间,从而淘汰测试;又或者解放开发,让测试直接发现问题,并把更多的时间解放出来,去寻找 AI 也难以发现的问题。
未来已来,开发和测试的合作即将迎来新的考验,你准备好了么。