游客发表
上周和一位做了十年功能测试的测试朋友吃饭,他掏出手机给我看了一段脚本:一个登录页面,行业AI自动生成了27条测试用例,测试覆盖了边界值、行业异常字符、测试并发场景,行业甚至还有一条“密码输入框粘贴emoji表情”的测试用例。他说自己手动写这些至少花半天,行业现在30秒跑完,测试准确率还比他高。行业
这不是测试个例。2023年GitHub Copilot推出测试生成功能后,行业我陆续在三个项目里试过AI辅助测试。测试最直观的行业感受是——单元测试的编写门槛被彻底拉低了。以前让开发补测试像求人办事,测试现在他们自己就愿意写,因为AI能根据函数签名和注释直接吐出覆盖率80%以上的测试代码。有个做支付网关的团队告诉我,他们用AI生成的测试用例发现了两个手动测试漏掉的汇率精度问题。
但别急着欢呼。AI写出来的测试有个通病:过于依赖代码表面逻辑。比如一个计算折扣的函数,AI会测所有数学分支,却很难想到“用户把优惠券和积分同时使用时后台服务超时”这种业务场景。我见过最离谱的案例是AI为文件上传功能生成了200条用例,全是测文件大小和格式,没有一条测网络中断后重传。这恰恰是真实用户最常遇到的问题。
所以现在我的做法是:让AI干脏活累活,人负责“找茬”。具体分三层——第一层,AI批量生成单元测试和接口参数组合,覆盖基础逻辑;第二层,人工补充业务流测试,尤其是跨系统交互和状态依赖;第三层,用AI做测试结果分析,比如自动聚类失败用例、识别偶发失败的模式。有个做电商的朋友更绝,他把线上真实用户请求采样后喂给AI,让AI生成“用户行为模拟测试”,结果复现了一个困扰他们三个月的购物车并发bug。
UI自动化测试是另一个AI渗透较深的领域。传统方案靠选择器定位元素,页面改个class名就全崩。现在用视觉识别+AI,元素位置变了也能找到。我试过用Applitools的视觉AI跑回归测试,确实省了维护选择器的时间。但代价是执行速度慢了三倍,而且对动态内容(比如倒计时、轮播图)误报率很高。视觉AI适合稳定页面,逻辑AI适合接口层——这个结论是我踩了两个月坑才得出的。
性能测试里AI的玩法不太一样。它不直接生成脚本,而是分析历史监控数据,预测瓶颈出现的概率。某银行系统用AI分析后发现在每月25号凌晨2点,数据库连接池会接近阈值——原因是批量代发工资任务和备份任务撞车了。这种规律人很难主动发现,但AI能从时序数据里挖出来。
说个反常识的观察:AI在测试行业落地最快的不是大厂,而是外包公司和中小团队。大厂有成熟的测试平台和人力,引入AI的边际收益不高;小团队反而因为缺人,AI补上了最短板。我认识一个四人创业团队,用AI生成API测试后,把回归测试时间从两天压缩到四小时,释放出的人力去做了探索性测试。
当然问题也不少。AI生成的测试代码经常有冗余断言,或者把mock写得过于复杂。更麻烦的是可解释性——当AI说“这个用例会失败”,你得花时间理解它为什么这么判断。有次AI报了一个空指针异常,查了半天发现是它自己生成的mock对象没初始化。
我的判断是:未来两年,测试工程师的核心技能会从“写用例”转向“设计测试策略+调教AI”。就像现在没人手写汇编一样,基础用例生成会逐渐交给AI。但业务理解、风险判断、探索性测试这些需要人类直觉的领域,AI还差得远。至少目前,它是个不错的实习生,不是替代者。
```随机阅读
热门排行
友情链接