高德测试体系智能化升级:AI驱动质量保障新范式

一、抛开业务,从测试的本质能力聊起

为什么选择“抛开业务”?

之所以选择暂时抛开具体的业务场景,是因为高德质量技术团队的数据平台测试组所对接的业务形态多样。尽管深知测试能力的核心目标是为业务解题服务,但多年来团队始终致力于构建一种“一力降十会”的通用测试能力。经过多年的实践积累,我们在不同业务中提炼出了一些不变的理念和建设方法。这些理念在 AI 技术逐步渗透测试领域的过程中,又不断被重新审视和演进。

为了更纯粹地分享这些经验和思考,本文希望剥离业务中的“花花肠子”,聚焦于测试本身的专业价值。

明确测试岗位的职责共识

首先,明确测试岗位的基本职责:质量保障、效率提升与流程管控。多说一句,成本是效率提升后的必然产物,否则就是假效率。

接下来,本文从一个测试团队的发展历程出发,回顾其演进路径。

测试团队的发展阶段分析

阶段一|初期建设 —— 工具化阶段

在业务初期,测试团队的核心任务是确保系统“线上不出错”。这是生存的关键,也是测试团队“保交付”的核心使命。这一阶段,质量保障(约80%)和流程管控(约20%)构成了主要工作内容。

质量保障:防止关键缺陷遗漏;

流程管控:避免人为操作失误(人祸)。

在此阶段,团队通常会引入各类工具,以“放大镜”的视角查找潜在问题,强调的是标准化、可重复的测试流程。这标志着测试进入工具化阶段。

阶段二|功能迭代 —— 自动化阶段

随着线上稳定,业务开始正向功能迭代,美好的新功能上线同时,历史包袱的问题产生了,即使昨天刚上的功能都可能在几天后产生兼容性困惑。而线上每个功能可用是测试人员对用户的承诺,所以就产生了 1*N 的回归测试工作量问题,成为瓶颈。

为此效率问题不得不解,通过编程为主要形式的自动化测试成为主流手段,相关提效工具应运而生。这一阶段称为自动化阶段。

阶段三|长期沉淀 —— 平台化阶段

随着自动化能力的提升以及对自动化职责能力的认知变化,自动化测试的价值也在不断拓展:

  • 脱离单一业务场景,要求它脱离自身业务服务更多的“受苦人群” → 演变为测试平台;

  • 不仅服务于测试人员,也开始支持开发流程 → 敏捷开发和 DevOps 的“左移”;

  • 从上线前测试延伸至线上监控 → 各种验证与监控为目的的“右移”。

总而言之,都是通过平台为形态与手段来提升边界价值,这个阶段称为平台化。

一般来说,测试团队会在第此阶段停留较长时间,甚至一直停留。很容易理解,平台能力+业务,可以有很多有意义的目标可说,有价值的事情可做。
下面一张图就大致将需要的工具与能力列在下面供参考:

我们团队当然在此过程也不落俗,但更希望找到那个“一力”,我们自己实践的方法叫生态化。

二、聊AI之前,先把测试生态这事说清楚

重新看清战场

在聊“生态化”之前,我们不妨先回顾一下每天都在忙什么。只有了解了日常工作的全貌,才能更清楚地理解为何我们需要构建“生态化”的能力。

每天的工作就像一场升级打怪的冒险,我们在不断帮公司解决各种各样的问题——这大概就是工作的常态吧。为了能更高效、有节奏地推进工作,计划与节奏管理就显得尤为重要:OKR 被拆解成目标,大目标又被细化为小目标,最终以“任务”或“工作项”的形式落地到每一天的具体行动中。测试团队也不例外。每天的工作其实是在不停地重复一套“任务序列”的循环:



甜蜜的烦恼

事情可真不少,每个阶段就产生了完成各种“任务/工作项”的平台,以需求为事项跟踪的 Aone,以工作时序为主的五月花,现在团队项目管理的 Teambition,以测试专业为主的老 Kelude 到现在的 Aone,这还不包括有业务或团队特色的自己的任务平台。这些平台各自独立使用倒也没什么问题,但一旦要将它们整合进我们日常的工作流程中,就会面临两个头疼的问题:信息茧房 和 上下文切换成本。简单来说,就是“看这里没那里,看那里又忘了前面”,效率被稀释,从测试和业务的视角来看,信息的传递流动性不强。用一张简图来总结下上面的问题:



从日常小事举例

上面是从工作环节来阐述了下碎片化的问题,下面再从测试专业工作的角度来看下碎片化问题无处不在。下图是我们对于一个服务端业务的能力抽象,以及对应抽象能力的基本测试方案:

对照上图,简单 review 下,一个基于公司内部java生态的服务端需要测试的话,在测试中要考虑多少内容:

  • 功能测试:服务端所有预期的功能是否按照设计实现,包括接口调用、定时任务执行、数据输送和接收等基本运作功能,以及相关公功能的合法性及鲁棒性。

  • 性能测试:服务及关联中间件(hsf、db、mq、redis、定时、oss等)在高负载、低资源环境下的运行表现,响应时间、吞吐量以及资源利用率、并发对系统的影响。

  • 数据测试(完整性可靠性,正确性):数据在处理、存储及检索过程中的一致性和完整性,以及在各个模块间的传输是否稳定且准确无误。数据字段对齐,精度不丢失导致出现异常。如果涉及数据上下线,还要考虑正确性校验和回滚方案测试。

  • 安全性:安全扫描是否通过,是否存在sql注入等风险,对外暴露接口鉴权方案可靠性评估及对抗测试。

  • 环境及配置:不同部署环境(开发、测试、生产)中,服务端配置参数的正确性(一致性或不同环境存在差异),环境间配置差异diff。

  • 其他内容:自动化、排期、线上验证、内外部联调、支持走查、支持外部测试等。

以上是一个面向基础业务测试的同学设计用例时需要考虑的内容,虽然不难,但是线头很多,需要大量的工具和平台支持,再结合自身业务的难度确实费心费力。

生态化解题

之前说了工作的本质就是解决问题,经过一段时间的摸索和尝试,团队梳理了3个关键的解题方向:

  • 信息聚合:
    既然存在碎片化的问题,那就整合在一起就行了,但是整合后的信息更重要的是选择和决策,所以 DevOps 里数据和反馈的理论还是比较经典的,所以就诞生了现在的敏捷交付模式:



  • 测试任务组件化:
    由于集团的公共产品部分能力无法满足我们对未来测试能力升级的需要,所以当年我们决定只能自建测试任务系统,而且删掉了测试计划的概念,打造了测试环节模块化的敏捷测试的一整套能力:



  • 生态资源抓变化:
    随着聚合及反馈链路的完善,我们发现质量问题大部分都来源于两个:“未知”和“变化”。未知现在通常通过特征流量+异常监控,往往属于改动点漏洞,和业务联合解题。而变化是明确的质量题,在明确需求和改动的前提下,工程质量和效果质量是变差还是变好,所以结合测试同学的质量做功的点位,构建了资源信息大量版本间查分的能力,用于测试范围的评估:

综上,我们构建的测试生态,是希望信息与能力都整合到测试任务这一测试人员每天都要接触的基本概念上,底层本身是数据,能力是数据的各种使用场景,而这些不断积累的数据,没有想到会在与 AI 结合时会产生良好的“化学反应”。

三、找准点位,让AI做自己擅长的事情

上面讲了通过构建生态化能力解决测试的质量、效率与管控的问题,起了一个好开始,用俗话说在“一盘棋”里,但什么时候能走到“天下大同”的局面,得一步步来,现在是 AI 博弈的一局,不敢说能“胜天半子”,但也不能 AI 过后一泻千里。从生态化的质量体系结构看,能插入 AI 的点位很多,比如:某个文档让 Agent 生成下,代码或单元测试生成下,让大模型做个判断等等,这些确实也都是很好的方向,但缺乏对大模型的系统性认识,总是感觉有点“露怯” 。

我们说大模型一个重要场景就是虚拟获客,如果把它也看作虚拟员工,让它也参加工作的话同样要知人善任,先要了解它擅长什么,通过早期的实践得出了几个关键应用方向:

  • 内容生成:不仅擅长生成规格化数据的“死物”,如json等,还擅长虚构有不同特色的“活物”,前者在常规自动化中有重要作用,后者在算法评测、产品效果评测上,能快速达到千人千面的效果,大大降低获客成本

  • 信息咨询:如果不对接实时数据流的话,大模型在实时资讯上基本不够用,所以这里不是这个意思,这里面的关键在于两个能力:评估信息的专业性训练以及咨询后的决策能力,所以背后的资料数据及其规格就很关键;

  • 信息识别:大模型对多模态的支持,将影像识别部分类别的技术门槛降为 0,尤其是在 OCR 识别领域,基本人人可上手。除此之外,如果上一步的专业性训练的足够的话,可以完成影像型资料的特征打标,对算法的测试帮助很大。

    所以我们可以把大部分应用场景划分到这三个大模型能力中,在同类场景中以标准方式构建相关的 AI Agent,结合生态化的内容,AI 插入的点位以及对应的智能体通过下面的图来说清楚:

    通过上图可以看出,Agent 跟人一样,脑部模块决定了专业性程度、推理能力的强弱、特征识别的精准性等,所以对于脑部模块的支持非常重要,人学习的是知识,我们把给 Agent 学习的叫资料,只有资料越准确,Agent 的理解力和行动力才会遇强则强。

    四、建立资料域,理解比执行更重要

    我们在上面找到了 AI 在测试领域可以大展拳脚的“点位”,这就像选好了战场,接下来就得给咱们的 AI“精兵”配上精良的“武器装备”和“作战地图”。这“武器装备”和“作战地图”是啥呢?在我们团队看来,就是 AI 赖以学习和理解的“资料域”。为啥要强调这个?因为我们发现,很多时候 AI 看起来“不灵光”,问题往往不出在 AI 模型本身不够“聪明”,而是我们没喂给它足够好、足够结构化的“精神食粮”。

    AI 的执行能力,比如跑个自动化脚本、分析个日志,那都是基本功,很多传统工具也能做。但 AI 真正区别于传统工具的核心价值,在于它的“理解能力”和基于理解的“智能决策”。而这份理解力,不是凭空产生的,它源于对高质量、结构化、互相关联的资料的深度学习和分析。所以,我们认为,在 AI 测试的实践中,“理解比执行更重要”,而建立一个完善的“资料域”是培养 AI 理解力的基石。

    资料域的构型

    这个“资料域”具体都包含些啥呢?它可不是简单地把各种文档、数据堆在一起就完事儿了,那顶多算个“资料堆”,离“域”还差得远。在我们团队,这个“资料域”可不是个空泛的概念,而是经过多年实践和摸索,已经具象化为几个紧密相连、各有侧重的核心组成部分。它们共同构成了 AI 理解我们测试世界的基石:


    • 项目管理资料域:Aone 项目信息、语雀文档、钉钉沟通记录、邮件往来、乃至更广义的工程域实践沉淀。

    • AI 的理解视角: 这不仅仅是项目信息的堆砌,更是 AI 理解“我们为什么要做这个测试”、“需求的来龙去脉是什么”、“团队是如何协作和沟通”的关键窗口。比如,AI 可以通过分析 Aone 中的项目目标和迭代计划,结合语雀或者钉钉文档中的需求文档和设计稿,理解测试的上下文和预期目标。

    • Aone 应用资料域:Aone 代码平台资料、依赖的阿里中间件信息、端发布监控数据、以及沉淀的测试资料(如历史用例、缺陷数据等)。

    • AI 的理解视角: 这是 AI 理解“我们测的是什么”的核心。从 aone 代码平台的每一次代码提交、分支合并,到阿里中间件的版本和配置,再到端发布后的实际运行监控数据和历史测试资料,都为 AI 描绘了被测对象的完整技术画像。AI 可以学习代码变更与缺陷之间的关联,理解不同中间件特性对测试策略的影响,从监控数据中发现异常模式。

    • 测试生态资料域:自动化框架与脚本、领域知识库(历史的测试用例、特定业务的测试策略、常见问题FAQ、资深测试工程师的经验总结等)。

    • AI 的理解视角: 光有被测对象还不够,AI 还需要理解“我们是怎么测的”以及“这个领域有什么特别的门道”。自动化脚本库是 AI 学习现有测试逻辑和覆盖范围的直接教材;而沉淀的领域知识,则是 AI 提升测试“智商”,进行更深层次分析和推理(比如预测高风险模块、推荐更优测试策略)的关键养料。

    • 数据资料域:各类数据源(如日志、用户行为数据、性能监控数据)、指标设计文档、大数据计算平台与过程、以及最终的度量应用(如质量大盘、效能看板)。

    • AI 的理解视角: “用数据说话”在 AI 时代尤为重要。这个资料域为 AI 提供了“量化理解”的可能。无论是来自各种数据源的原始数据,还是经过精心设计的指标体系,亦或是大数据计算后的洞察,都能帮助 AI 从海量数据中学习模式、发现异常、评估测试效果,甚至反哺测试策略的优化。例如,AI 可以分析用户行为数据,识别核心路径和边缘场景,为测试优先级排序提供依据。

    • 运营资料域:质量运营的流程与数据、项目运营的跟踪与反馈、工程运营的实践与规范、以及各类信息的推送/触达机制。

    • AI 的理解视角: 测试的价值最终要体现在实际运营中,并形成有效的反馈闭环。这个资料域让 AI 了解到测试活动如何融入整体运营,质量问题如何在真实环境中暴露、跟踪和管理,以及我们的工作成果是如何被团队和用户感知的。这为 AI 提供了从“实验室”走向“战场”的真实反馈,使其决策更贴近实际,也使其能力更容易被团队所用。

    看到这里,你可能已经发现,这些资料域并非孤立存在,它们之间是相互勾连、彼此印证的。比如,“项目管理域”的需求文档会直接指导“测试生态域”的用例设计和“aone 应用域”中“测试资料”的完善;“aone 应用域”的代码变更会触发“测试生态域”中“自动化”的执行;其执行结果结合“数据资料域”的分析,会影响“运营资料域”中质量运营的决策和推送内容。

    建立这个“资料域”可不是一蹴而就的,它是个持续建设、持续优化的过程。当这些不同来源、不同格式的资料,通过有效的手段(比如知识图谱、向量数据库等)被结构化、关联起来,形成一个融会贯通的“知识网络”时,AI 就不再是那个只会“依葫芦画瓢”的执行者了。它可以:

    • 更立体地理解需求: 结合项目背景、历史沟通、代码结构和已有测试资产,全面评估需求变更的影响。

    • 更智能地规划测试: 基于对应用特性、历史缺陷、自动化能力和领域知识的综合理解,推荐更精准、高效的测试策略。

    • 更前瞻地预测风险: 通过分析代码、配置、监控数据和运营反馈,提前识别潜在的质量隐患。

    当 AI 具备了这种基于“资料域”的理解力,它就不再仅仅是“降本增效”的工具,而是真正成为了测试团队的“智能伙伴”。它帮助我们看得更远、想得更深,把测试工作从繁琐的执行中解放出来,更多地投入到对质量风险的洞察和预防上。

    自动迭代的知识库

    智能体的核心能力高度依赖于知识库的精准召回与持续更新。目前,知识库中已涵盖业务知识、行业规范、测试专业领域知识等静态信息,但在动态关联信息的覆盖上仍存在明显不足。例如,历史关联需求、历史关联用例、测试资源、工程代码等持续迭代的关键内容尚未被有效整合。这种信息断层限制了智能体对测试场景的深度理解与推理能力,进而影响了其在复杂测试环境中的表现。

           为解决这一问题,除静态知识库外,我们需要构建一个具备持续迭代能力的知识库体系。该体系应能够动态捕获并更新与测试相关的多维信息,形成闭环的知识管理机制。通过将历史需求、测试用例、测试资源、工程代码等动态数据纳入知识库,强化智能体的上下文理解能力,且为其提供更丰富的决策依据,从而进一步提升测试覆盖度、精准性和执行效率。进而为智能化测试生态注入更强的驱动力,助力实现更高效、更可靠的测试自动化目标。
    下图就是一个基于需求不断进行知识库迭代的实例:

    实战——让代码和知识库一起“72变”!

    测试同学都应该深有同感,对代码改动越明确,遗漏问题的概率就会下降很多,最可怕的就是“未知”,所以如果能通过需求信息,将工程改动直接“通知”我们将是极好的,结合这章所讲将代码信息变为知识库的一部分,没准能解决这个问题。按照上面的“长篇大论”,我们有几个对此知识库的期待:

    • 自动迭代:构建具备持续迭代能力的知识库体系,自动追踪各应用的代码小动作,实时更新知识库;

    • 工程域:以业务、应用为维度创建知识库,支持各业务绑定,让每个业务都能找到专属的动态工程知识锦囊;

    • 动态捕获:实时同步工程代码变更,确保知识库与最新代码对齐;

    • 代码智能解析:解析代码骨骼结构,生成带注释的"代码说明书",识别关键逻辑(如数据获取、文件处理、智能体调用)。

    整个链路解决的问题有很多,这里只讲两个关键环节:代码智能解析以及持续迭代链路的搭建。

    代码智能解析

    智能解析是希望通过语义标注与代码结构化建模,解决代码与需求脱节的问题,为需求理解和测试自动化提供精准的上下文数据。解析后的工程更有利于Agent基于需求内容精准召回。通过Agent,对工程代码进行深度解析,输出结构化数据以支持需求增强与测试自动化。其核心解析功能涵盖以下八个维度:

    • 代码功能注解:在代码关键逻辑位置插入注释,智能分段,解释分段代码的功能,用人类语言解释每个代码段的小心思(算法、规则、操作全揭秘);

    • 代码结构分析:绘制代码的“家谱图”,明确类、方法、模块的划分及相互关系;识别并说明代码中的关键变量、参数及其用途;

    • 依赖与接口说明:列清代码的"朋友圈"(外部库/框架/服务),描述代码对外提供的接口(如方法)及其调用方式;

    • 输入输出定义:明确代码的输入、输出参数的类型、格式、含义;

    • 异常处理逻辑:列出代码中可能抛出的异常及其触发条件、说明代码如何处理异常(如日志记录、回退策略);

    • 性能与限制分析:给代码做"体检报告",分析代码的时间复杂度和空间复杂度,指出代码的已知限制或潜在问题;

    • 扩展性与维护性评估:评估代码是否支持新增功能或适配新场景,提供改进建议或优化方向;

    • 缺陷识别与测试指导:识别代码中可能隐藏的 bug 或设计问题,基于缺陷分析推荐测试场景与数据。

    解析结果示例:



    知识库迭代链路控制
    • 流程编排:通过流程编排机制实现工程代码知识库的初始化与持续迭代,采用分支级文件映射策略(以分支名作为文件标识),结合并发任务调度动态分配解析资源,确保多分支并行处理时的效率与版本一致性。

    • 定时更新:基于定时任务(每日凌晨)查询有代码提交的工程,以文件级粒度触发知识库迭代链路。通过全量覆盖策略更新对应分支的知识库文件,确保知识库内容与代码仓库保持同步:

    五、需求增强,将理解力发挥到极致

    软件开发的起点,一点需求

    需求是测试设计、执行和验证的前提与基础,其完整性和准确性直接决定了测试覆盖度与缺陷识别能力。然而,传统需求文档常存在描述模糊、业务关键词、场景等无直接定义、需求无历史版本追溯、需求文档、测试文档、代码库割裂导致技术实现未对齐等问题,导致测试环节难以精准定位关键逻辑,导致理解偏差、遗漏边界场景、沟通成本高等问题。

    所以,理解需求是测试体系智能化的起点,我们将这个过程叫做需求增强。通过上游资料域,通过Agent对资料域中多维度信息召回、整合与上下文感知能力,将原始需求转化为结构化、可执行的测试输入,显著提升测试理解力,并为后续测试自动化奠定坚实基础。包含如下四个关键作用:

    • 精准需求解析:结合业务知识库、工程代码库及历史用例库等动态数据,系统性补充需求中的上下文信息(如需求背景)、关键字解释(如业务术语、场景描述等)、关联关系(如接口依赖、模块调用链、历史测试用例等)及工程信息(如API参数、配置变更信息、数据库字段定义、代码实现映射)。通过消除需求歧义并补充隐含逻辑(如参数校验规则、异常处理机制),增强测试环节对需求理解的准确性与全面性。

    • 测试场景预判:基于需求逻辑、历史需求关联及测试场景关联分析,智能推荐测试用例(如边界值、异常场景)和测试数据(如符合数据规范和测试场景的输入模板),覆盖潜在风险点。例如,需求会识别代码提交增量,输出需求相关的代码分支名、提交时间、文件列表的版本信息,从而为测试用例生成提供明确参数边界和逻辑等判断条件。

    • 风险预判:通过解析需求增强后的代码逻辑、数据规格及接口定义,提前识别高风险测试点(如未处理的异常分支、性能瓶颈),辅助测试设计优先级排序。

    • 自动化闭环支撑:为脑图生成、用例自动生成及用例自动执行提供高质量输入(如专业术语解释、接口调用方式、测试示例、数据示例等),确保测试设计与需求内容的强一致性。

    需求增加方案的宏观思路

    增强方案最重要的环节,也就是资料的准备,在上一张已经讲过了,这里是对资料域及其知识库中最极致的应用:

    • 业务映射层:根据需求所属业务ID精准匹配预设的是业务知识库配置模板,自动调取对应领域的知识库(比如业务知识库、工程知识库等);

    • 智能解析层:构建多个需求增强Agent,包含关键字增强、业务场景增强、数据规格增强等;

    • 链路控制层:通过知识图谱检索+Agent信息增强推荐,通过链路控制的方式实现需求要素的自动化补全、边界场景推演、测试示例等增强功能。

    需求增加链路的搭建

    使用麦兜链路,分别链接不同维度的增强Agent,完成五个方面的需求理解:

    下表罗列了各种增强维度的能力及其实例,部分包含了高德自身业务的特征:


    增强示例

    【需求原文】



    【增强结果】

    未来希望通过多模态知识融合与多维度信息整合,需求增强体系将实现以下突破:

    • 从被动响应到主动预测:基于历史数据预判需求可能存在的漏洞或设计缺陷,并提前干预,通过早期预防降低整体研发成本,确保每个需求都符合业务规则和技术规范;

    • 从测试生态辅助到资源共享:推动业务、研发、测试团队的需求理解资源共享,并延伸增强产研关注的内容。

    六、高质量的需求分析与用例生成是必然

    AI 在测试领域的效果取决于对需求的精准把控。“理解”已经在前面的需求增强环节完成,但还缺乏高质量的需求拆解与转化,转化后才能落地为实际业务价值。如何通过结构化拆解将模糊目标转化为可执行的AI用例,同时建立验证闭环,确保每一个需求都能在技术边界内实现价值最大化。这不仅是前五部分方法论的自然延伸,更是决定AI项目成败的关键一跃。

    第一幕:需求分析

            需求分析处于测试生态关键环节,其目的在于通过分析需求内容,条理清晰地输出需求所涵盖的所有功能项和细节,为后续用例生成做准备。俗话说,工欲善其事,必先利其器,需求分析亦是如此,分析之前,需要具备专业的测试领域知识,需求所涉及的专业知识要足够了解,需求涉及的工程层面、资源层面等信息都要全部准备好。上述这些可以说是需求分析的养料,资料足够全面,信息足够详细,分析的就越专业。想到这,我们会发现,知识迭代、更新、汇聚的过程就是上述构建资料域和需求增强的过程。资料域的构建解决了知识收集和学习。需求增强则提升了需求完整性,基于此,原始需求会演变成一个内容丰富的“大需求”。从“大需求”作为切入点,AI分析结果会更专业、更准确。

            结合知识库+对需求进行内容增强+进行增强后的需求信息分析,大模型就拿到了需求和知识数据,然后就可以通过 Agent 以专业的质量交付视角入手,分析得到高质量思维导图。

    【流程图】
    【脑图生成效果示例】

    需求分析后续的能力建设方向:

    1)需要在需求全量分析能力基础之上,扩展增量分析能力,降低冗余,提升分析效率。核心思路,针对于需求片段生成思维导图,支持用户动态输入需求内容的同时也可以针对需求内容进行自动化diff,获取增量需求进行增量分析。

    2)基于MCP架构构建长文本生命周期分析链路,解决需求多片段分析出现遗漏的问题。

    第二幕:用例生成

    承接需求分析环节输出的结构化测试骨架,测试工作正式进入核心落地产出阶段——测试用例生成。传统模式下,测试人员需将需求脑图中的功能节点逐层拆解,手工梳理每个分支路径对应的测试目标、执行步骤与预期结果。这项工作不仅需要反复校验输入输出逻辑的完整性,还需结合业务特性补充边界条件与异常场景,机械性操作占据测试人员近30%的准备工作时间。

    • 信息的结构化整理:系统通过解析需求脑图的层级结构(根节点A→子节点B→叶子节点C),自动构建功能描述链路。当节点B承载核心功能点时,其子节点将被智能识别为用例要素——例如预置条件、操作步骤或校验标准。这一过程通过深度优先遍历算法展开脑图分支,生成基础测试场景路径,确保用例框架完整覆盖需求分析中的关键逻辑路径。

    • 专家经验与知识库的融合增强:在用例框架生成后,系统内嵌的专家知识库自动注入行业通用的测试设计模式。例如针对支付类场景的金额精度校验模板、消息队列的幂等性验证规则等。同时联动历史缺陷库,将高频问题点转化为新增测试点,确保用例覆盖度既符合业务特性又具备前瞻性。对于模糊需求描述(如"性能优化"),知识库可主动调取基准指标模板,补充响应时间阈值、并发量分级等量化标准。

    • 平台适配与操作步骤注入:根据集团测试工具链特性,系统植入可执行的原子操作指令。例如在schedule平台调度任务超时场景中,schedulex平台操作连接和步骤;在metaq平台消息堆积测试时,提供ons平台跳转地址及相关操作。这些具体操作指令均基于平台API文档与历史测试案例库生成,确保用例具备执行层的指导性

    在需求变更时,系统通过差分引擎快速定位影响范围并联动知识库进行局部更新,避免全量刷新。目前该体系在数据平台各业务场景中全面应用,提升了一定的效率,测试人员精力可集中于需求分析的精准性把控,而用例生成、维护等操作性工作已大部分实现自动化生成。

    至此,从需求到用例的测试主干链路已实现全智能化贯通,而最终的质量防线——用例评审环节,将进一步融合AI的洞察能力,推动测试流程闭环从高效走向严谨。

    第三幕:用例评审

    用例评审是测试交付流程中的关键环节,旨在通过团队协作对测试用例进行全面审查,确保其与需求文档一致、覆盖完整场景及边界条件,并为高效执行测试奠定基础。有效的用例评审可以减少因需求误解或覆盖不全导致的缺陷泄漏;可以在早期发现需求矛盾或设计漏洞,降低项目返工成本;可以建立统一的测试目标与质量标准,推动全员对交付物的共识。

    传统测试流程中,用例评审往往依赖人工经验,存在效率低、覆盖盲区、反馈滞后等问题。而AI技术的介入,能够从需求分析到测试执行的端到端流程中实现深度穿透,既验证用例对需求的精准映射,又为执行阶段提供可落地、可追踪的测试资产(前置条件、执行步骤等),最终实现「生成-验证-执行」的全链路可信闭环。

    智能化用例评审通过AI技术实现需求文档的智能解析,精准识别功能场景、边界条件及隐性规则,结合算法实时检查用例覆盖度并推荐补充用例,动态关联需求变更与用例更新,利用数据驱动策略优化测试优先级,减少人工经验依赖,同时通过协同平台实现评审意见实时记录与闭环跟踪,显著提升评审效率与精准度,降低缺陷泄漏风险,并支持跨团队快速达成共识,最终形成覆盖完整、可追溯、自适应需求迭代的高质量测试用例集。技术方案不再着重介绍,真实实现的评审效果如下,至此测试人员终于也有了自己的 “Code” Review 能力:

    七、上点难度,自然语言化的自动化用例

    整个测试流程是一个较长的链路,从原始信息收集理解,到整合产生增强信息,再经过将前置信息聚合处理,最后产生需求分析和用例。经过漫长的链路最后得到了成品的用例,依靠成品用例即可交给测试人员进行任务的执行。一切看起来都蛮不错的,但是如果再大胆一点,有没有可能把下一步也交给AI做,让AI直接一步做到位?

    打个比方来说,完成信息处理并提供解决方案的能力就像是一位厨师,他可以设计出一份菜谱,给出做菜的计划,但无法亲自下厨。如果这位厨师不仅可以构思菜谱,还能自己洗菜、切菜、备菜,最后亲自炒出一盘菜,那将会是何等美妙的事!下面将介绍如何让我们的AI同学帮忙“把菜做出来”,完成最后的自动化执行。

    想要让AI同学帮忙把菜炒了,得依托于自动化用例。能够让机器执行的测试用例,不论是以代码的形式还是通过平台实现,我们统称为自动化用例。在常规测试中,自动化用例是提高测试效率和进行回归的重要工具。构建自动化能力以及编写自动化用例,早已成为测试开发人员的关键工作之一。

    翻译-自动化用例产出

    在测试生态相关功能最终产出的用例中,用例的内容往往是一个混合体,既包含自然语言的描述,也嵌入了一些基于特定标记(如@)注入的测试资源和数据工厂等测试能力。这些混合文本的用例,就像是一筐混合起来的新鲜蔬菜,需要经过精细的拆解和烹饪,才能最终呈现出令人满意的结果。

    自动化用例构建依赖于技术栈和业务栈,基础能力越强,自动化能够做的事情就越多,目前支撑自动化运行的重要能力包括:

    • 测试资源:提供了HTTP、HSF、DB、MetaQ、schedule等基础能力和中间件的调用,依靠各种资源的组合调用可以覆盖大多数执行场景。

    • 数据工厂:数据工厂提供了多种数据存储、组织、打标分类功能,让数据和测试资源结合起来,可以覆盖大多数自动化的测试场景。

    首先,我们会基于用例描述文本进行结构的拆解。这一过程类似于将食材进行分类和切割,将文本描述和每个注入的能力(数据块)逐一分离出来。拆解后的内容会交给大模型的解释器部分(解释器agent),解释器会根据自然语义对段落进行重新划分。在划分的过程中,解释器会遵循一些基本原则,比如确保一条数据和一条资源一一映射,将步骤相关的上下文与步骤进行关联聚合等,从而保证每个步骤的准确性和可执行性。

    拆解后,我们便形成了一系列可执行的步骤,每个步骤的执行能力依赖了其关联的资源or数据or其他注入能力。每个步骤都支持用户的单独调试,确保在正式执行前,每个环节都能达到预期的效果。多个步骤之间采用串行执行的方式,确保测试流程的连贯性和逻辑性,以及一些上下依赖的场景,比如步骤B的输入依赖步骤A的输出等。

    执行-命令执行能力

    在测试平台中,测试用例与测试任务的关系,正如Java类与其创建的实例一般,前者是静态的模板,后者是动态的执行实体。测试任务支持独立执行,无论是手工执行还是自动化执行,都能在完成后更新状态并附带详细的执行步骤。对于自动化用例,平台直接提供了调用接口,确保执行的高效性和一致性。

    处理上下文输入输出转换的方式如下:

    上下文的信息组织、转换由执行器Agent来处理。例如,在某个步骤中,可能需要从第一步的返回值中取得atest字段,并将其放到下一个步骤的接口调用URL参数中,变量名为testKey,变量值为atest取得的值。执行器Agent会处理这种步骤间的数据转换过程,根据数据处理的复杂程度,一次step向下流转背后可能会有多个职能的agent共同协作,确保数据的准确传递和处理。

    处理完毕后,测试流程会进入验证模块。验证模块会对每个步骤的执行结果进行校验,确保测试用例的最终输出符合预期。此外,为了应对某些需要等待的场景,我们还会在每个步骤中增加等待机制。这种机制确保在适当的时间点进行下一步操作,从而避免因时间不足或资源未就绪而导致的测试失败。

    通过这一系列的拆解、解释、执行和验证,我们最终能够将混合文本的测试用例转化为可执行的自动化代码模板。这一过程不仅提高了测试效率,还确保了测试结果的准确性和可靠性,为后续的测试执行奠定了坚实的基础。

    八、从生态与资料成长中出来的AI将有无限可能

    我们通过AI技术开始测试生态的智能化升级和改造。构建多元资料域,我们将需求资料、测试资产、代码信息、线上数据和团队知识库进行持续整合,让大模型获得了广而深的业务理解力、思考力和挖掘力。同时,搭建需求增强能力,结合关键字、业务场景、数据规格、工程信息等基础测试信息,显著提升了AI对需求细节、痛点与深度的理解能力。最后,智能化的需求分析、用例生成、评审与自动化重塑了全测试生态的能力,一个完整的智能化测试生态逐步变成可能。

    AI技术的加速发展推动测试领域达到一个崭新的智能化高度,随着生态与资料的不断完善,与大模型本身的升级换代,我们想结合最近的一些实践探索聊两个展望,持续探讨从生态与资料中成长出来的AI将来的无限可能。

    长文本之痛-上下文逻辑理解升级

    在端智能测试的实践中,我们已经搭建了日志智能报警能力,通过数据预过滤和生命周期配置等手段,显著提升了AI日志检测的效率和效果。但面对客户端持续运行产生的千万级日志量,当前的大模型单次对话接受能力有限,我们只能采取日志分割、多次送检的方式进行日志检测,也因此实时检测效率和效果始终受制于AI Agent的输入token上限。在此限制下,为了尽可能多的给AI Agent提供有效信息,基于分割日志多次送检的方案背景,我们将从检测日志拆解和日志智能总结两个方向来压缩输入token。结合实践与对大模型发展的展望,我们有如下构想:

    • 原始日志过滤及拆解:端测试日志量庞大的原因之一是端上日志来源众多,各个进程都会在logcat或文件中存储日志,为了保证检测原始日志输入的有效性,我们将通过搭建日志分类、黑名单过滤、优先级定义、多Agent送检分流等手段来控制检测输入量级,使Agent能在有限的输入token中,分析更多高优高质的原始日志。

    • 日志片段智能总结:通过原始日志过滤及拆解,我们保证了Agent输入原始日志的质量,为了进一步增加Agent输入的有效信息。我们会为同一生命周期内的待检测日志,增加前置已完成检测的日志核心内容总结。该总结是Agent基于已细分的生命周期、明确定义的核心数据、资料域日志黑白名单等提示数据,进行的智能片段总结及历史总结数据的合并。

    • 大模型记忆能力演进:大模型快速发展的今天,其记忆能力也在快速迭代中。未来的大模型将逐步支持缓存性质的长周期上下文记忆,能在同一会话持续积累和利用先前学习的信息。此外,模型的记忆模块也有可能实现持久化session的能力,不再局限于token纬度的交互,而是使用容量更大的存储介质。

    UI理解-补齐最后一块拼图

    目前我们的多模态数据方面已经有了很多相关工作和沉淀,例如知识库自优化; 需求用例特征标签、需求增强、图片视频识别及增强; 这些工作,大部分都是基于业务体系去建设的。但我们团队的业务有其特殊性,例如车间规范化、任务阶段化、高度图形化表达(包含内容众多,大部分功能无文字描述,只有图标的排列,功能区靠留白区分)。这些内容现有的标签和特征提取不能完全满足要求。端上功能的实现靠一系列的动作触发,这些执行动作尚未有明确的结构化体系、交互后的视觉效果无衡量标准。提取特征的方法对于端上效果类内容来说,我们不仅需要上述业务特征,需要一套UI相关的页面信息、以及用户操作路径相关知识库及增强agent。

    我们的基本思路,除了上面的资料与生态能力外,还有两个重点:训练与反训练,事件型增强,整体思路如下图:

    未来的UI理解将更加依赖于多模态数据的分析和应用。通过对大量文本、图像、视频和用户行为数据的综合分析,AI可以提取出丰富的特征和信息。例如,在高度图形化和无文字描述的UI场景中,AI可以通过图像识别和语义理解技术,准确识别和测试各种图标和留白区分的功能,确保系统的稳定性和可靠性。

    结语

    当测试流程的每个环节都浸润AI能力时,我们终于看清那个「一力」的本质——不是某个神奇算法,而是将人类测试智慧编码为可迭代、可传播、可验证的数字资产的能力。这条路注定漫长,但至少我们已走出关键一步:让质量保障不再是人与缺陷的孤独对抗,而是人类智能与机器智能的共舞。

    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

    当前余额3.43前往充值 >
    需支付:10.00
    成就一亿技术人!
    领取后你会自动成为博主和红包主的粉丝 规则
    hope_wisdom
    发出的红包
    实付
    使用余额支付
    点击重新获取
    扫码支付
    钱包余额 0

    抵扣说明:

    1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
    2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

    余额充值