阿里技术 06月18日 12:50
别再手搓测试数据了!AE测试数据智造系统揭秘
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

本文介绍了AliExpress跨境电商团队构建的AI测试数据智造助手,利用大语言模型和原子工具库,实现通过自然语言描述自动构造复杂测试数据。该助手解决了传统数据构造的痛点,提高了测试效率,降低了成本,并提升了测试覆盖率。通过RAG技术和Agent架构,实现了从需求到数据的快速转换,并已在实际应用中取得显著效果。

💡 **核心痛点**:传统测试数据构造依赖多系统、耗时费力,难以满足快速增长的业务需求。

🤖 **破局思路**:引入AI智能聚合编排,构建统一调度中台,实现自然语言驱动的全链路数据构造。

🛠️ **实现方案**:通过Agent架构,结合RAG技术和LLM大模型,实现自然语言理解、工具调用和数据组装。

🚀 **应用实践**:已接入钉钉和个人助手,并作为自动化测试的数据提供方,大幅提升测试效率。

📈 **未来展望**:测试数据构造将走向智能化,测试工程师将更专注于场景设计,推动质量保障体系的持续进化。

明朗 2025-06-18 08:30 浙江



这是2025年的第68篇文章

( 本文阅读时间:15分钟 )




01



前言

在AliExpress跨境电商的复杂业务场景下,复杂业务模式(例如跨境、本地)、多类型物流方式、分国家运营策略、多币种、多语言等各因子叠加,测试经常面临测试数据构造复杂且困难、学习成本高、耗时长等问题。测试用例的初衷是验证业务逻辑,却被数据构造的“脏活累活”绑架了。


如今,大语言模型与原子工具库的结合,可以重新定义测试数据构造的工作模式。我们构建的测试数据智造助手,让"生成一个命中单品补贴的pop待评价订单"这样的复杂需求,只需一句自然语言描述即可自动完成全链路数据构造。



02



核心痛点

构造一个包含业务类型、组合营销优惠、物流线路等多种条件的测试数据为例:测试往往需要辗转于测试商家后台、营销运营工作台、各业务域的测试工具平台等多个系统,记忆各种参数规则,耗时费力地拼接出一个完整的测试场景。


随着业务的快速扩张,测试数据的复杂性和多样性持续增长,更加暴露出了传统的数据构造模式存在以下痛点



03



破局思路

通过引入AI智能聚合编排测试数据构造能力,构建统一调度中台,可以有效解决这些问题,提高测试数据构造的效率和质量。


核心思想:通过LLM大模型+RAG技术实现自然语言驱动,结合多业务域原子工具单点调用和链式调用,实现全链路测试数据"所想即所得"。



04



目标

从0-1建设AE测试数据智造Agent,统一测试工具AI接入方式,聚合多业务域测试原子能力,解决测试数据构成本高、造耗时长等问题,实现“提效”、“降本”、“提升覆盖率”,在自动化场景中实际运用。




05



智造Agent实现方案

5.1 设计思路






举个🌰


用户指令:给商品id为123456(示例ID,非真实数据)的商品生成一笔退货退款的订单。


Agent处理流程:

1.使用用户的问题去匹配知识库中的场景,与“退货退款”链路的背景内容关联度最高。

2.将用户问题和知识库匹配结果共同传入大模型,识别用户意图为通过退货退款链路构造测试数据,该链路涉及的原子工具及调用顺序规则为:下单—>支付—>发货—>确认收货—>申请退货退款—>同意退货—>退货—>同意退款。

3.提取必要参数商品id:123456(示例ID,非真实数据),将其作为入参传给下单原子工具。然后将下单工具生成的订单id传给支付工具,之后按照按照顺序调用原子工具。

4.将状态推进成功的订单回复给用户。


5.2 Agent架构设计






因此可以抽象为三层系统架构,具体如下:


规则抽象层

通过构建《原子能力工具库》、《工具调用规则库》的知识库实现。


原子能力工具库:每个原子工具定义工具描述、提问示例、参数说明以及原子工具维度的参数映射规则。


工具调用规则库:将业务场景抽象成原子工具调用规则,再通过DAG有向无环图的方式进行规则的定义。


执行调度层

工具链调用:编写数据智造prompt提示词使大模型能够根据规则生成对应的执行计划。


参数透传:在工具链上的规则输出的结果会根据参数语义透传给后续工具,不需要人工进行干预。


失败重试策略:工具调用失败自动触发重试,重试超过5次触发断点,需要人工确认。


原子工具层

通过AI应用开发平台的工具箱能力执行原子工具的真实调用,从而实现测试数据的自动构造。

5.3 关键实现模块解析

AI应用开发平台

基于AI应用开发平台进行对话型AI智能体设计,在Agent中调用RAG知识库、LLM大语言模型、自定义工具等能力实现AE测试工具构造功能。


    # Role: AE测试数据构造助手——全链路测试数据生成专家


    ## Profile

    - **Author**: AE测试团队

    - **Version**: V0.1.1

    - **Language**: 中文  

    - **Description**: 专注通过自然语言交互,自动化生成覆盖交易、支付、营销等全业务域的复杂测试数据,实现"所想即所得"。

    ## 核心原则

    1. **三源数据优先级**  

       `用户输入参数 > 常用测试数据 > 原子工具默认值

    2. **文档引用规范**  

       - 链路流程 → 《工具调用规则库》  

       - 工具定义 → 《原子能力工具库》  

       - 默认数据 → 《常用测试数据》


    ## Core Capabilities

    1. **意图精准识别**  

       - 支持识别7大场景类型:  

         `基础订单生成 | 营销活动构造 | 逆向流程推进 | 跨境场景模拟 | 用户资产管理 | 数据状态查询 | 异常场景构造`  


    2. **参数深度提取**  

       - **常规参数**:商品ID、用户ID、订单ID 

       - **场景扩展参数**:  

         {

             "营销活动": ["活动类型", "优惠门槛", "叠加规则"],

             "逆向流程": ["纠纷类型", "退款原因", "风控等级"],

             "跨境场景": ["关税模式", "物流渠道", "货币类型"]

         }

    3. **动态链路生成** 基于目标状态自动裁剪工具链(如"已支付"状态仅调用创建+支付工具)

    A[输入解析] --> B{是否跨域?}  B -->|是| C[组合规则引擎]  B -->|否| D[单域规则匹配]  C & D --> E[工具链执行]  E --> F[结果聚合]


    ## Workflow (严格遵循)

    1.**提取请求参数**

    ...


    2. **工具调度阶段**  

    环境适配 → 根据用户输入的环境特征选择对应工具版本

    链式执行 → 按《工具调用规则库》定义的工具顺序执行

    参数桥接 → 自动将上游工具出参映射为下游工具入参

    状态演进 → 每个工具执行后必须推进业务状态到目标阶段


    3. **异常处理机制**  

    ...


    ## Output Format(强制规范)

    ...


    原子能力工具库构建

    梳理研发测试过程中测试数据构造&测试数据查询的原子操作进行封装和抽象,并在AI应用开发平台的工具空间对工具封装成API。



    测试工具知识库建设

    为了让 AI 智能体能够精准识别用户意图,并使用正确参数调用工具组件,因此通过结构化工具描述文档搭建 RAG 测试工具知识库。该知识库是 AI 智能体理解用户需求和执行任务的关键基础。


    需要维护的测试工具知识库涵盖两大部分:

      工具名称:请填写工具名称。

      工具描述:请填写工具描述、使用场景,方便大模型理解工具。

      提问示例:请填写提问相关的示例,支持多条。

      参数说明:参数名称-参数描述(是否必填)以及参数枚举


      链路名称:退货退款链路

      链路背景:售后退货退款是指买家在下单支付完成,货物确认收货后买家申请退货退款,卖家同意退款的链路。用户用淘宝账号购买指定itemId的商品并且支付生成淘宝订单号orderId。在买家确认收货后的时候买家提交退货退款申请,生成退款单,退款单号disputeid,然后卖家同意退货,买家退货,最后卖家同意退款申请。

      链路信息:下单—>支付—>发货—>确认收货—>申请退货退款—>同意退货—>退货—>同意退款



      06



      Agent应用实践

      AE测试数据智造Agent应用场景是多方面的。目前已接入钉钉答疑群和个人助手,以问答的方式作为业务日常测试的测试助手;也可以作为自动化测试(如接口自动化、用例自动化、压测等)的测试数据提供方,以HSF的接入方式对外提供数据构造基础能力。



      针对对外提供的数据构造基础能力,我们做了以下的系统架构设计来保障数据构造的准确性和稳定性。

      6.1 外部接入架构设计


      漏桶算法限流

      由于LLM大模型存在token、QPM限制,而上游平台会批量调用触发限流,所以需要做限流方案。


      为了解决这一问题,需要对流量整形,限制对AE测试数据智造Agent的请求频率,避免触发LLM服务端限流,保障系统的稳定性。


      限流算法选型:漏桶算法


      实现思路:将请求视为水流,将其放入一个“漏桶”中,桶的出口以固定速率流出请求,从而实现对流量的平滑控制,从而以恒定的速率请求AE测试数据智造Agent。


      漏桶容量 = 预估峰值流量 * 1.2) 

      漏水速率 = LLM每分钟限制 / 60 * 安全系数(如0.8) 


      标准化输出

      (1)业务错误场景处理

      测试数据无法构造的场景对于AE测试数据智造Agent来说并不是系统错误,是属于业务层面的错误,直接请求不会返回错误码和错误信息。


      因此在接口适配层识别这些业务错误的场景,返回对应的业务错误码和错误信息。


      (2)标准化错误码

      AI应用开发平台构建的Agent在系统错误时返回的错误码不符合AE的规范,因此在接口适配层按照AE的标准规范进行错误码的转换。


      (3)输出结果标准化处理

      由于上游对数据输出的格式要求严格,如果输出格式只写在AI规则里的话容易因为AI的幻觉导致输出的格式不符合规范。


      JSON Schema校验定义严格的响应结构模板,自动修复或拒绝非法格式(如字段类型错误、多余字段)。


      日志+监控

      通过日志的方式,记录执行链路中的关键数据,并进行监控,分析大模型的执行结果,提供可监控、可分析的稳定性保障能力。


      日志:场景+问题入参+Agent响应+标准化后输出结果+traceId,通过traceId串联从外部请求到Agent调用的全链路日志。


      基础监控:Agent的RT和接口成功率。


      业务监控:监控无法构造出测试数据的场景等。


      执行分析:对无法构造出测试数据场景进行记录和分析,进行后续测试数据构造功能的迭代。


      缓存

      目的:减少重复调用Agent的token开销,提升批量用例执行效率,减少耗时。


      缓存键设计:对用户输入参数(如场景描述、业务参数)计算唯一哈希值,作为缓存主键。


      缓存策略:成功结果缓存30分钟,失败结果缓存2分钟(防穿透)。



      07



      结果

      当前Agent已完成8500+次问答(含调试)。简单测试数据构造场景,人工构造预估需要5分钟,AI可降至1-3分钟,提效约50%;复杂场景(如涉及长链路工具),人工构造预估1小时,AI可降至10-15分钟,提效约70%。


      当前已完成的核心能力如下:




      08



      未来展望

      测试数据构造正在经历从"手工操作"到"智能服务"的转型。当各业务域的测试工具完成原子化改造,当大语言模型真正理解业务语义,我们距离"所想即所得"的终极目标将越来越近。未来的测试工程师可以更专注于场景设计而非数据准备,用创造力推动质量保障体系的持续进化。


      这种智能化改造的价值不仅限于测试领域,其背后构建的业务语义理解能力跨域协作机制,为整个研发体系的效能提升提供了新的可能性。或许在不远的将来,我们今天构建的智能助手,将成为新一代研发基础设施的重要组成部分。




      欢迎留言一起参与讨论~

      阅读原文

      跳转微信打开

      Fish AI Reader

      Fish AI Reader

      AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

      FishAI

      FishAI

      鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

      联系邮箱 441953276@qq.com

      相关标签

      AI测试 测试数据构造 大语言模型 RAG技术
      相关文章