← 返回 技术博客

技术文章

重新定义AI测试——衡石科技从"用例通过"到"可信质量防线"的工程实践

重新定义AI测试——衡石科技从"用例通过"到"可信质量防线"的工程实践。

2026/04/25技术博客HENGSHI4 分钟阅读
AI研发衡石科技HENGSHI
重新定义AI测试——衡石科技从"用例通过"到"可信质量防线"的工程实践

Article body

正文

一、AI测试的假繁荣

当AI进入研发流程,测试这件事看起来变得前所未有地容易。

给AI一个函数,它能在30秒内生成覆盖正常路径、边界条件、异常场景的完整测试套件。给AI一个API接口文档,它能生成上百个测试用例。测试覆盖率从30%跃升到80%,团队感觉:测试质量前所未有地高。

然后,生产环境出了问题。

一个在测试环境跑通了上百遍的功能,在生产环境的特定数据条件下出现了严重的性能问题。一个所有测试用例都通过的接口,在特定的并发场景下出现了数据竞争。一个验收测试全部通过的用户流程,在真实用户操作时触发了未被覆盖的代码路径。

这不是个例,而是企业级AI研发中的普遍现象。测试用例数量和质量防线之间,存在一条被严重低估的鸿沟。这就是AI测试的假繁荣:高覆盖率的数字繁荣,掩盖了质量防线的实质空洞。

二、传统测试体系 vs AI测试的本质差异

2.1 经验感知 vs 模式匹配

有经验的测试工程师在设计测试用例时,依赖的是一种”经验感知”:这个地方曾经出过边界问题,我多设计几个边界用例;这类业务逻辑在高并发下容易出数据一致性问题。

AI测试工程师在生成测试用例时,依赖的是”模式匹配”:看到一个函数,识别其输入参数类型,生成边界值测试。模式匹配能覆盖”已知的”测试模式,但无法感知”未知的”风险。

2.2 结构性缺陷的不可见性

更深层的问题是:AI测试对结构性缺陷几乎盲目。

结构性缺陷不是某个函数的实现错误,而是系统架构或设计层面的问题。AI生成的单元测试和集成测试,通常以”模块正确性”为视角,难以发现跨模块的结构性缺陷。通过了所有测试,不代表系统没有结构性问题。

三、可信质量防线的四个维度

3.1 风险覆盖有效性

问题:测试用例覆盖的,是真正高风险的业务路径,还是容易生成测试的简单路径?

AI测试有一个天然的偏向:倾向于覆盖”容易测试的”场景,而不是”最重要的”场景。

度量方法:

  • 核心业务路径覆盖率(而非代码行覆盖率)
  • 历史生产缺陷被测试套件覆盖的比例
  • 高风险模块的测试密度(是否与业务重要性匹配)

实践建议:在构建测试套件时,先做”风险地图”——与产品经理、业务方共同识别核心业务路径和高风险场景,将这些场景作为测试设计的出发点。

3.2 变更后稳定性

问题:当代码发生变更时,测试能否稳定地检测出回归问题?

AI生成的测试用例有一个常见问题:测试依赖了太多实现细节。当实现方式调整(但行为不变)时,大量测试因为”实现改变了”而失败,产生大量噪音——真正的行为回归问题反而可能被忽视。

度量方法:

  • 代码变更与测试失败的比率
  • 测试修复时间占研发总时间的比例
  • 假阳性率(测试失败但行为实际上正确的比例)

实践建议:遵循”测试行为,不测试实现”原则。AI生成测试时,优先生成基于接口契约的测试,而非基于内部实现的白盒测试。

3.3 问题根因定位能力

问题:当测试失败时,能否快速定位是哪个模块、哪个逻辑出了问题?

实践建议:在测试设计时,引入”测试分层”原则:

  • L1 单元测试:聚焦单个函数/类的行为正确性,粒度细,问题定位精确
  • L2 集成测试:聚焦模块间接口契约,发现模块边界问题
  • L3 端到端测试:聚焦核心用户路径,验证系统整体行为

每层测试的失败,对应不同类型的问题,根因定位效率大幅提升。

3.4 测试结论可信度

问题:当所有测试通过时,我们能在多大程度上相信系统是正确的?

这是最核心、也最难量化的维度。测试通过 ≠ 系统正确。

实践建议:建立测试可信度报告,而不仅仅是”通过/失败”的布尔值。每次测试运行后,生成一份包含以下信息的可信度报告:

  • 核心业务路径覆盖情况(绿/黄/红)
  • 已知测试盲区清单
  • 测试环境与生产环境的已知差异
  • 本次变更的高风险区域及其测试覆盖情况

四、AI研发中的测试反馈闭环设计

4.1 闭环架构设计

4.2 关键节点的AI介入方式

风险识别阶段:AI分析需求文档,结合历史缺陷数据库,自动标注高风险业务路径,生成”测试重点清单”。人工确认清单后,作为测试设计的输入。

测试设计阶段:AI根据测试重点清单生成测试用例,同时自动检查是否覆盖了约束注册表中的相关约束。生成的测试用例按优先级排序,人工重点审查高优先级用例。

失败分析阶段:测试失败后,AI自动搜索:相似的历史缺陷、相关的代码变更记录、相关的约束规则。将这些信息整合为”初步根因分析报告”,大幅缩短人工排查时间。

五、结构性缺陷的识别方法

5.1 模块间契约测试

契约测试的核心思想:不是测试模块内部的实现,而是测试模块之间的”承诺”是否被履行。

具体做法:

  • 对每个模块间的接口,显式定义”消费者期望”和”提供者能力”
  • 在每次代码变更时,自动运行契约验证,确保提供者的变更没有破坏消费者的期望

5.2 混沌工程

混沌工程的核心思想:主动向系统注入故障,在受控条件下发现系统的弱点。

典型的混沌实验:

  • 随机终止某个服务实例(测试系统的容错能力)
  • 模拟网络延迟或分区(测试超时处理和降级逻辑)
  • 注入慢SQL(测试数据库依赖的稳定性)
  • 制造资源耗尽场景(测试资源限制下的系统行为)

5.3 架构约束验证

定期扫描代码库,验证实际代码是否符合架构层面的约束:

  • 依赖方向约束(如:基础层不能依赖业务层)
  • 模块隔离约束(如:模块A不应该直接访问模块B的数据库表)

六、企业级AI测试成熟度模型

为了帮助企业评估自身AI测试能力,提出一个五级成熟度模型:

等级特征描述
L1初始级有测试但不可信,覆盖率驱动
L2可重复级开始关注风险覆盖,但未系统化
L3已定义级建立可信质量防线,测试分层清晰
L4量化管理级测试反馈闭环完整,AI深度参与
L5持续优化级测试即知识,持续进化

大多数引入AI测试的团队目前处于L1-L2之间。从L1升级到L3是最关键的一步,需要建立核心业务路径清单和风险分级机制、引入测试分层规范、收集和分析历史缺陷数据。

七、衡石科技的测试闭环实践

在HENGSHI SENSE 6.2的研发过程中,衡石团队将JARVIS的可信质量防线与产品自身的测试需求深度结合。

层面一:测试设计由风险驱动,而非覆盖率驱动

JARVIS在任务启动时自动分析需求中的高风险业务路径,生成”测试重点清单”。测试用例的优先级由业务风险决定,而非代码行覆盖率——核心报表计算逻辑、数据权限校验、多租户隔离等高风险场景,总是被优先覆盖。

层面二:测试失败自动关联历史知识

当测试失败时,JARVIS自动检索知识库中相似的历史问题、关联的约束规则、相关的架构决策记录。这一机制将问题排查时间从平均2小时缩短至30分钟。

层面三:测试可信度驱动发布决策

HENGSHI SENSE的发布决策不再依赖”全部测试通过”的简单判断,而是基于JARVIS生成的测试可信度报告——包含核心业务路径覆盖状态、已知测试盲区、变更影响范围分析。

结语:测试的本质是建立信任

软件工程中,测试的本质从来不是”找bug”,而是建立信任——让团队有足够的信心,相信系统的行为是符合预期的,可以安全地交付给用户。

AI让”生成测试用例”变得极度廉价,但这种廉价并不自动带来信任。可信质量防线的建立,需要的不是更多的测试用例,而是更系统的质量思维:

  • 我们在测试真正重要的风险吗?(风险覆盖有效性)
  • 我们的测试在代码变更后还可信吗?(变更后稳定性)
  • 出了问题,测试能帮我快速找到原因吗?(根因定位能力)
  • 测试通过,我真的可以放心发布吗?(测试结论可信度)

从追求测试覆盖率到追求质量防线可信度——这是企业级AI测试走向成熟的必经之路。

HENGSHI SENSE

丰富的资源 完整的生态

邀您成为衡石伙伴

立即加入

企业级部署、产品集成与试用咨询均可快速响应