大数跨境
0
0

大咖专访:AI在软件测试中的应用

大咖专访:AI在软件测试中的应用 David的跨境日记
2025-10-16
10
导读:本文深入探讨了AI在软件测试中的两大核心应用:​​NLP自动生成测试用例​​和​​CV解决UI元素定位问题​​。
图片
点击蓝字,立即关注
图片




前言



在当今数字化时代,人工智能(AI)正以前所未有的速度重塑软件测试领域。从自动解析需求文档生成测试用例,到利用计算机视觉解决 UI 自动化测试中的难题,AI 技术的应用不仅提高了测试效率,还显著提升了软件质量。


本次专访,我们将深入探讨 AI 在软件测试中的多样化应用,分析其带来的技术革新与挑战,并展望未来的发展趋势。


我们将对话行业专家,了解他们如何利用 AI 工具解决实际问题,以及这些技术如何改变他们的工作方式。


这不仅是一次技术的交流,更是一次对行业未来的深刻洞察。




嘉宾介绍



昵称Moment

职位:测试主管

简介:曾供职于多家互联网公司及 (比如支付宝)大型外企,多年安全测试以及测试管理工作经验,曾担任开发工程师、自动化测试工程师、安全测试工程师和测试主管等职位,进行过多个大型项目的Web安全测试,带领测试部门从零开始建立安全性测试规范,针对Web安全测试搭建了基于开源工具的安全测试架构,并应用于SaaS平台等云计算项目;曾独立开发基于Webdriver的自动化测试平台,该平台可使无代码基础的测试人员进行自动化脚本的编写与执行。此外,对渗透测试和敏捷测试也有一定的研究。安全测试、自动化测试培训讲师。《LOADRUNNER性能测试巧匠训练营》安全篇作者,独特的幽默的语言风格,让无数学员喜爱。




专访实录




01

技术趋势与核心原理


1、AI如何通过自然语言处理(NLP)自动解析需求文档生成测试用例?

(AI基础:NLP文本理解、语义分析、需求-测试用例映射模型)


AI自动生成测试用例的核心逻辑,其实是 “让 AI 像测试工程师一样读懂需求,再把需求转化为可执行的测试点”。


这个过程不需要 AI “凭空创造”,而是基于对需求文档的语义理解,提取关键信息并按测试逻辑拆解 —— 就像我们拿到一份产品需求,会先划重点,再想 “这个功能要测哪些情况”。


测试用例的本质是 “验证需求是否被满足的具体场景”(比如 “输入正确密码能登录”“输入错误密码提示报错”)。


AI 要做的就是通过 NLP 技术,从需求文档中 “抠出” 生成这些场景的关键信息,再按我们优化好的提示词、甚至是我们的知识库生成测试用例。


关键步骤可以参考下边的图:



总体来说,AI 生成测试用例,本质是 “用技术替代人工的‘读需求 - 拆场景 - 写用例’重复劳动”。


它的核心不是 “比人聪明”,而是 “比人更严谨、更快地执行标准化流程”—— 前提是需求文档本身描述清晰(如果需求写得模糊,AI 也会 “卡壳”,就像人看不懂模糊的需求一样)。


目前在电商、金融等需求标准化程度高的领域,这种技术已经很成熟,能帮测试团队节省 60% 以上的基础用例编写时间。


2、计算机视觉如何解决UI自动化测试中元素定位易失效的问题?

(AI基础:图像识别、目标检测、动态容差机制)


实际上我们面对最常见的问题:传统 UI 自动化测试里,元素定位为啥总 “掉链子”?


就像你跟朋友约在 “XX 路 3 号奶茶店” 见面,结果店家偷偷改了门牌号,你拿着旧地址肯定找不到人 —— 传统定位靠 ID、XPath 这些 “门牌号”,开发改个属性、挪个位置,定位就歇菜了。


那么计算机视觉(CV)是怎么 “救场” 的?它跟传统方法最大区别是啥?


CV 的思路特简单:不管 “门牌号”,直接看 “人长啥样”。传统方法盯元素的 “身份证信息”(ID、属性),CV 盯元素的 “长相”(颜色、形状、上面的字,甚至旁边有啥邻居)。就像你找朋友时,不记地址,只记 “穿红裙子、扎马尾、站在公交站旁边”,哪怕她换了位置,你也能认出来。


举个例子,CV 怎么搞定 “元素改了 ID” 的坑?


比如测试 “提交” 按钮:


  • 传统方法:记了个 “ID=submit123”,开发手一抖改成 “ID=submit456”,直接找不到了;


  • CV 方法:早就拍了张按钮 “证件照”(灰色底、白色 “提交” 字、圆角矩形),测试时扫一眼当前界面,看到 “灰色圆角 + 写着提交” 的东西,不管 ID 是啥,直接锁定 —— 就像你认朋友,总不能她换个身份证号你就不认识了吧?


那布局变了,比如列表里的元素挪位置了,CV 也能搞定?


必须能!比如你要找列表里 “写着北京的选项”:


  • 传统方法:记了个 “第 2 个位置”,结果列表新增了一项,原来的第 2 变成第 3,直接懵了;


  • CV 方法:管它排第几,只要在列表里看到 “北京” 这俩字,旁边还有小箭头,直接锁定 —— 就像你在班级合照里找同学,总不能他换个座位你就认不出了吧?


有没有那种 “连 ID 都没有” 的元素?CV 能搞定吗?


比如弹窗上的 “叉号” 按钮,可能是动态生成的,没 ID 没属性,传统方法抓瞎;


但 CV 眼里:这是 “弹窗右上角 + 圆形 + 中间一道杠” 的东西 —— 特征够明显,直接定位。就像你在商场找厕所,不用记厕所编号,看到 “小人图标” 就知道是了。


总结一下:CV 为啥能解决定位失效?


它把 “靠元素身份证定位” 变成了 “靠元素长相定位”,只要东西 “看起来没变”,不管开发怎么改属性、挪位置,都能找到 —— 本质就是让电脑像人眼一样 “认东西”,而不是死记硬背 “编号”。


当然,目前来说,CV仍然有一些局限性,主要体现在:


  • 识别准确性受影响:


    如果界面元素存在遮挡,CV 可能无法准确识别目标元素。


    此外,不同设备的分辨率和屏幕尺寸不同,可能导致元素的外观和大小发生变化,影响 CV 的识别效果。


    半透明元素或与背景颜色相近的元素,也可能使 CV 难以准确区分元素边界,剔除背景色对图片匹配结果的影响。


  • 计算资源消耗大:一些 CV 算法,如 SIFT、SURF 等,在进行特征比对时,需要与预存的错误图形库逐一比对判断,随着问题类型的增加,计算资源与耗时会线性增长,可能影响测试效率。


  • 样本数据需求大:


    CV 算法需要大量的样本数据来训练模型,以覆盖各种异常场景。


    但在实际应用中,缺陷、异常问题反馈的图像数据相对较少,人工构建异常样本步骤繁琐,人力成本耗费较大,且某些异常情况可能无法人工构造。


  • 对复杂场景处理能力有限:


    CV 对于需要人类直觉的测试场景,如用户体验测试,处理能力较弱,无法有效评估 “界面是否美观” 等主观指标,对多步骤交互流程的异常模拟也可能不足。


  • 测试环境受限:


    CV 通常需要在前台运行,不能在后台进行测试,如果桌面有其他窗口遮挡测试界面,就可能导致对应的元素找不到。



......


本文节选自51Testing软件测试网【专题

AI在软件测试中的应用

专题后续还介绍了

“相关工具与平台应用、实战场景与挑战、职业发展与技能转型


长按识别下方二维码

查看本期专访!




每日有奖互动











你用 AI 生成测试用例时,是否遇到过相关类似问题?

你是如何解决的?






点击阅读原文↙,查看本期专访~

【声明】内容源于网络
0
0
David的跨境日记
跨境分享营 | 持续分享跨境心得
内容 46537
粉丝 1
David的跨境日记 跨境分享营 | 持续分享跨境心得
总阅读234.7k
粉丝1
内容46.5k