前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >自动化测试在美团外卖的实践与落地

自动化测试在美团外卖的实践与落地

作者头像
美团技术团队
发布于 2022-09-20 07:19:11
发布于 2022-09-20 07:19:11
1.4K0
举报
文章被收录于专栏:美团技术团队美团技术团队

总第535篇 | 2022年 第052篇

随着美团到家业务的发展,系统复杂度也在持续增长。测试用例数量近两年增长约一倍,单端数量超过1万2千条,而研发人员的工作从大部分时间在开发,转变成一半时间在开发、一半时间在模拟环境和自测。因此,引入自动化测试就显得十分有必要,本文介绍了美团外卖在自动化测试方向做的一些探索和实践,希望对从事相关领域工作的同学能够带来一些启发或帮助。

  • 1. 项目背景
  • 2. 项目目标
  • 3. 方案选型
  • 4. 实践和探索
    • 4.1 问题和挑战
    • 4.2 前置条件准备
    • 4.3 用例录制与回放的数据一致性
    • 4.4 用例录制与回放的操作一致性
    • 4.5 可溯源的自动化测试
    • 4.6 用例的维护
    • 4.7 跨App回放用例
    • 4.8 埋点的录制回放
  • 5. 测试流程
    • 5.1 自动化任务触发
    • 5.2 回放集群调度
    • 5.3 断言服务
    • 5.4 消息推送
  • 6. 落地与实践
    • 6.1 业务共建
    • 6.2 实践效果

1. 项目背景

美团外卖的业务场景比较多元化,除了外卖自身的业务,还作为平台承接了闪购、团好货、医药、跑腿等其他业务。除此之外,在全链路动态化的大基调下,外卖各个页面的技术形态也变得越来越复杂,除了Native代码,还包括Mach(外卖自研动态化框架)、React Native、美团小程序、H5等,不同技术栈的底层技术实现不同,渲染机制不同,进而对测试方式要求也有所不同,这也在无形中增加了测试的难度。下图汇总了美团多业务、多技术、多App的一些典型场景。

图1 多业务、多技术栈、多App

在产品交付上线的过程中,测试的占比也是非常大的,甚至大于总时长的30%。如下图所示,整个测试包括了冒烟测试、新功能测试、二轮回归测试、三轮测试。然而,现在需求测试绝大部分还是采用非自动化的方式,这就使得人力成本变得非常之高。

图2 外卖迭代模型

另一方面,相比于2018年,2022年的测试用例数量增长近3倍,已经超过1万2千条(如下图所示)。同时,外卖的业务是“三端复用”,除了外卖App,还需要集成到美团App和大众点评App上,这样一来,测试工作量就翻了3倍,业务测试压力之大可想而知。如果按照当前的增长趋势持续下去,要保障外卖业务的稳定,就必须持续不断地投入大量的人力成本,所以引入能够支持外卖“多业务场景”、“多App复用”、“多技术栈” 特点的自动化测试工具来提升人效和质量,势在必行。

图3 近几年用例增长变化

2. 项目目标

为了解决外卖面临的测试困境,我们尝试去探索一种零学习成本、低维护、高可用的自动化测试方案,能够支持外卖复杂多变的测试场景,它必须同时满足下面几点要求:

  • 易用性:工具/平台的上手难度,使用复杂度应该尽可能的低,因为自动化测试的目的是提效人力,而不是增加人力负担。
  • 平台支持:移动端至少需要覆盖iOSAndroid双平台,同时基于外卖的业务特点,不仅需要对Native支持,也需要支持Mach(自研局部动态化框架)、H5、React Native、美团小程序等技术栈。
  • 稳定性:自动化测试用例的执行需要有足够的稳定性和准确性,测试过程中不应因测试工具本身的不稳定而出现稳定性问题。
  • 维护成本:维护成本很大程度上决定了测试工作量的大小,因需求产生变动或架构重构等问题时,用例的维护成本应该尽可能的小。
  • 可扩展性:当测试方案不能满足测试需求时,工具/平台应具备可扩展的能力。

3. 方案选型

自动化测试工具那么多,自研是重复造轮子吗?

针对终端的UI自动化测试工具/平台可谓“屡见不鲜”,市面上也有很多相对成熟的方案,相信大家都有用过,或者至少有所耳闻,但这些方案是否能真的满足我们提效的诉求呢?以下我们挑选了三类非常具有代表性的自动化测试工具/平台 - Appium、Airtest Project、SoloPi进行了分析,来帮助大家对自动化测试技术建立一个认知:

  • Appium是一个开源工具,用于自动化测试iOS手机、Android手机和Windows桌面平台上的原生、移动 Web和混合应用。它使用了各系统自带的自动化框架,无需SDK集成,Appium把这些系统本身提供的框架包装进一套API——WebDriver API中,可以使用任何语言编写Client脚本向服务器发送适当的HTTP请求。这让不同技术栈的人员都能快速上手编写测试用例,可以选择自己最为熟悉的语言,但是对于没有语言开发基础的人来说,还是有一定学习成本,而且这种方式在多人协作时并没有太大作用,为了保证自动化用例的可维护性,团队内部应该需要统一脚本语言。值得一提的是:Appium在iOS、Android和 Windows 测试套件之间可做的一定程度的复用代码。但是由于不同端界面及元素定位的差异,这往往是不现实的,更无法保证测试的准确性,所以这种所谓的“跨端”就变得毫无意义。
  • Airtest Project是由网易游戏推出的一款自动化测试平台,除了支持通过系统自带的自动化测试框架,还支持了通过图像识别的方式,对于非基于原生UI系统的一些游戏引擎提供了SDK的支持。其上手难度稍低,可以一定程度上通过IDE进行相关操作来生成简单的脚本指令。Airtest虽然基于图像进行控件识别,为跨端提供了一定的可能性,然而图像识别并不能达到人眼识别的准确度,除此之外移动端页面的构成和游戏页面也存在不小的差别,页面元素的展示规则和样式受屏幕分辨率影响较大,单纯依靠图像识别来进行元素查找成功率不高,无法保证测试的准确性。
  • SoloPi是一个无线化、非侵入式的自动化测试工具,通过录制回放的方式进行UI自动化测试,SoloPi虽然只支持Android,但是在录制回放的这种方式中,还是极具代表性的。传统的自动化测试工具由于需要编写测试脚本,所以存在着一定的上手难度(Airtest还是存在代码编辑的),便产生了SoloPi这种纯基于录制回放的自动化测试方式,将用例的所有操作事件进行录制,生成一个完整的录制脚本,通过对脚本的回放来还原所有的操作,从而进行自动化测试。但是,这种方式只能记录操作,而不能记录数据,在外卖这种数据驱动展示的场景下无法满足测试要求。并且外卖的业务要复用到美团App和大众点评App中,不同App存在部分视图和逻辑性的差异,SoloPi也无法支持我们“一端录制多端回放”的测试场景。

可以看出,以上这些自动化测试工具/平台对于数据记录,环境模拟、维护成本、跨App复用等方面,都是有所欠缺的。所以无论是哪种方案,在易用性、维护成本、稳定性、可扩展性以及最终的测试效果上,都无法满足我们对自动化测试的需求。我们并不是为了自动化而自动化,而是要解决实际的提效问题。

那么,怎样才能确定一个自动化工具/平台的可用性,并长期落地去使用自动化,带着上述提到的较高门槛的上手成本、操作繁琐的环境模拟、差强人意的测试成功率、定位模糊的测试缺陷、难以维护的用例脚本等几大重要痛点,本文我们将介绍美团外卖自研的测试平台——AlphaTest,都具备哪些能力以及是如何解决这些问题。

4. 实践和探索

一个自动化测试工具/平台能不能用起来,取决于他的上手成本和稳定性,即使工具的测试稳定性做的再好,使用的门槛高也会让人望而生却,反之亦然。所以AlphaTest平台为了上手简单,降低使用成本,采用了基于录制回放的方式进行设计,并且弥补了常规录制回放无法编辑的痛点,同时在手势操作的基础上增加了数据录制。整合美团系App的特性增加了环境模拟、跨App支持、混合技术栈的支持等能力,在使用简单的同时,也保障了用例的可维护性、测试的准确性等。我们先通过视频简单的了解一下:

用例录制:

用例回放:

回放报告:

4.1 问题和挑战

注:这里我们将生成的自动化脚本统称为指令,将平台生成的用例统称自动化用例,将录制回放变成可视化的脚本指令,让用例变的易懂、易维护。

录制回放本身是一连串的操作数据的集合,是连续性的、不可拆分,因此几乎不具备可编辑性,这也就导致了用例维护成本极高。AlphaTest虽然同样基于录制回放的方式生成自动化用例,但是我们将每一步的操作都具化成结构化的指令数据,并提供可视化指令编辑器,以支持查看编辑。

这些可视化的指令,完全通过录制自动生成,也不依赖于任何脚本语言。通过可视化用例指令编辑器,不仅为用例提供了编辑的可能性,同时大大地提高了用例的可阅读性,每一条测试用例在测试过程中每一步都做了什么、当时的界面是什么样的、都有哪些断言校验点,是显而易见的,不会存在像传统图文描述的测试用例那样,出现理解偏差。指令生成演示,手机录制与平台远端录制双模式支持:

图4 指令编辑器

图5 手机录制演示

图6 平台远端录制演示

4.2 前置条件准备

一键环境模拟,解决操作繁琐的用例执行前的环境准备。

进行一个用例的测试之前,往往需要做大量的准备工作,比如切换API环境,定位到某个地点,登录指定账户等。这些需要准备的环境条件我们统称为前置条件。我们知道,前置条件的准备操作通常都不是一两个步骤就可以完成的,比如账号登录/切换:我们需要进入登录页,填写手机号+密码/验证码,点击登录等一系列动作来完成这个过程,非常繁琐,并且每次测试我们都需要准备,重复性高。因此,我们给AlphaTest设计了独立的前置条件模块,将用例拆成了两个部分:前置条件 + 操作步骤。

图7 前置条件

与其它测试框架不同的是,AlphaTest采用了SDK集成,但对业务无侵入的方式,因此可以通过编写白盒代码来实现前置条件的自动配置,只需要在平台添加需要的指令,下发到SDK后,即可根据相关指令完成前置条件的自动配置,不再需要重复进行相关的操作。并且这些前置条件支持复用,也不需要每次进行用例准备时的重复配置。AlphaTest的前置条件,不仅有着基于美团内部服务及底层Hook的默认实现,也提供了API支持业务方自定义实现,比如实现不同的账号体系。

4.3 用例录制与回放的数据一致性

影响用例执行的不仅是代码,还有数据。

很多时候,自动化用例无法正常执行完成,可能是因为App回放时的本地数据及网络数据与录制时的不一致,从而导致用例执行流程的阻塞或App界面展示的不同。这也是大多数自动化测试工具/平台测试通过率不高的主要因素,因此要保证测试成功率,我们需要控制变量,排除由数据产生的影响。

图8 数据一致性

App运行依赖的数据,有两部分——本地数据和网络数据:

  • 本地数据是App在运行期间产生的缓存数据或持久化的存储数据。为了让用例在录制回放时都能够保持一致的本地数据环境,我们在录制和回放前都对App的本地数据进行了清理操作,这样用例在录制和回放的过程中,都可以保持一致的App初始化环境。
  • 网络数据是驱动App交互呈现的基石,各种策略和API升级都会影响网络数据的响应,因此我们将用例录制过程中产生的网络数据也进行了录制,并将网络数据和对应的操作指令进行了关联和绑定,确定了数据产生的事件源。排除数据影响后,我们的自动化测试的成功率就取决于自动化操作的准确性了,这就回到了常见自动化框架范畴。

4.4 用例录制与回放的操作一致性

目标定位的准确性与手势定位的精准性。

UI自动化测试的本质就是代替人去自动的做一步步的操作(点击、长按、输入、滑动等)。录制与回放过程的操作能否一致,是否精准,直接影响测试的成功率,决定了工具/平台的可用性。

  • 目标控件定位准确性:

操作行为是否一致首先需要确认操作目标是否一致。与一般测试工具/平台不同的是AlphaTest采用了ViewPath + 图像 + 坐标的多重定位方案。得益于SDK集成的方式,我们的ViewPath可以记录更多的元素视图特征和执行不同的匹配策略。定位过程中会优先使用ViewPath进行目标控件检索,当目标控件查找异常时,会结合图像匹配和坐标匹配的方式进行兜底查找,来确保界面变化程度不大时,也能准确的查找到目标控件。

图9 图像识别示意图

  • 手势定位的精准性:

有了基于控件的目标定位之后,对于一些常用简单操作手势,比如点击、长按、断言、甚至输入都可以做到很好的支持,只需要找到对应的控件,在控件所在位置下发相应的触摸事件即可。我们知道,App真正接收的触摸事件是屏幕上一个个精准的触摸点,在系统处理后,分发给当前App窗口,App在接收事件后再继续分发,直到找到事件的最佳响应者,后续通过响应者链对事件消化处理。那我们要还原一个触摸事件的坐标点要如何确定呢?由于我们确定的只有控件,所以这个点自然而然就成了控件的中心点了。

大多数情况下,这些都可以很好地进行工作,但是对于一些多响应控件重叠的情况,可能会产生预想不到的操作误差。为了解决这样的问题,我们把控件定位与坐标定位进行了结合:基于纯坐标的定位是一种定位精准度非常高的定位方式,但是稳定性非常差,只有在屏幕分辨率完全一致且回放页面控件位置完全一致的情况下,才具备足够的可靠性,但这往往是不现实的,对测试环境机器量要求过高。

基于控件的定位,又存在着精准度不够的问题。使用坐标定位,如果定位区域足够小的话,那么受屏幕尺寸的影响就会越小,只需要确定在小范围内的相对位置即可。而基于控件目标的定位,恰恰可以把目标区域缩小到一个指定区域,我们刚好可以将二者结合起来,同时解决定位精准度和稳定性的问题。

对于复杂手势的支持,我们同样可以采用微分的方式,将一个复杂手势拆成多个简单手势的组成,比如我们可以将一个滑动操作的定位拆成两个部分:起始位置和终止位置,而这两个位置的定位,就变成了两个普通的单点手势操作定位了,可以通过上面提到的一个目标控件+相对坐标的形式进行定位。核心思想都是将基于屏幕坐标点的定位操作,缩小的目标控件的区域范围内,以达到不受设备分辨率的影响,实现操作行为一致的效果。

图10 手势识别示意图

4.5 可溯源的自动化测试

测试全流程记录,问题溯源一键即达。

测试的目的是保证App运行的稳定,测试过程中出现Bug导致测试未通过时,需要溯源问题原因,发生的场景,乃至具体的执行步骤。这也是大多自动化测试工具/平台所欠缺的,即使发现了问题,排查工作也很困难;这个问题在手工测试的时候,更为严重,往往因为很多缺陷无法复现而难以定位。

AlphaTest的自动化用例最小执行单元是操作指令,我们将测试过程的每一条指令的执行状况和过程中的界面快照进行了记录,并在指令执行失败时,对异常原因进行了初步分析。然后将整个用例的执行组合成了一份完整的测试报告,可快速溯源问题步骤。除此之外,我们还增加大量的日志上报,并将整个用例测试过程进行了视频录制,来进一步帮助疑难问题的排查。真正做到了用例回放测试可溯源。

图11 回放报告-图文详情

4.6 用例的维护

自动化用例需要持续地投入人力来维护么?架构升级,页面重构,用例需要全部重新录制么?

因自动化工具/平台众多,阻碍长期落地使用的一大问题是用例维护成本高,很多工具/平台让我们即便是使用上了自动化,但还需要持续投入人力维护用例的更新,最终的提效收益微乎其微。对于用例更新维护,我们可以梳理划分成三个场景:

  • 需求发生重大变更,整体的业务执行流程及相关的校验点都需要进行大量的调整。对于这种情况,无论是何种自动化测试工具/平台,都是需要正常进行用例变更重录以适应新的需求。
  • 需求发生略微变更,业务流程基本一致,需要调整的校验点、操作以及数据或不影响整体流程的步骤。对于此场景,AlphaTest通过指令编辑器与操作录制,支持指令增删改以及数据和场景的还原,帮助用户快速的进行用例调整,而无需重新录制用例。例如:修改网络数据字段、视图变更路径、断言替换目标等。

图14 指令编辑

  • 和业务需求不同,我们的技术实现也会发生迭代。随着App技术架构不断的演进,经常会面临着架构升级,页面重构甚至技术栈变迁等这样的技术升级。这些变动需要覆盖大量的测试用例,其中大量的自动化用例又可能会因为变动而导致失效,需要重新录制。为此,AlphaTest设计一套利用相近分辨率机器进行用例自动修正的功能:利用图像 + 坐标进行二次识别定位,元素定位成功并校验通过后,生成新的ViewPath,更新对应的用例指令,对用例进行自动修复,修复后可在任意回放。

图15 自修复能力

4.7 跨App回放用例

同一份代码运行在不同的App上,是否需要重新编写多份用例?

美团系的一些业务可能会复用在多个App上。比如外卖有独立App,但同时也要复用到美团和点评App上,这些功能,几乎共用一份代码,而测试人员却不得不对每个App上的业务功能都进行测试,维护多份用例。由于业务本身实现是一致的,那我们可以通过适配不同App之间的差异,来让一个业务Case可以横跨多个App回放,这便可以将成本缩减好几倍,这些差异主要体现在:

  • 前置条件和初始页面:业务的初始页面进入路径不同,例如外卖App打开App就进入到了外卖首页,但是在美团App中就需要从美团首页跳转到外卖频道。同时由于不同App的样式风格、设计规范、业务特性等因素,也会造成首页代码逻辑和视图层级的差异。
  • AB实验配置:不同App所配置的实验可能不同,不同的实验会导致不同的样式和代码逻辑。
  • 网路接口映射:不同App中相同业务场景涉及的接口有所不同。
  • 页面Scheme映射:不同App中相同页面的跳转Scheme也不相同。

AlphaTest平台支持App维度各项差异数据配置,当SDK检测用例回放环境与录制环境不一致时,会自动进行映射适配,从而让用例运行到了不同App上。

4.8 埋点的录制回放

除了功能测试,我们在日常开发和测试的工作中,还会面临另外一个比较重要的问题就是埋点测试。因此,我们在自动化的基础上扩展出埋点自动化测试。埋点自动化测试的核心思想是,通过对比录制时期和回放时期的埋点上报时机和上报参数进行判断。为了保证埋点自动化测试的稳定性,我们主要采用以下的障机制:

图16 埋点自动化测试示意图

  • 字段规则配置:埋点自定义参数千姿百态,甚至有些字段每次代码执行都不一致,如果进行完全匹配结果注定是失败的,所以我们在AlphaTest平台提供了埋点字段规则配置功能,通过人为设置的方式来避免埋点自定义参数校验失败。App重启进入录制状态时,用户就可以操作App,平台会记录用户的操作行为,当产生相应的埋点日志的时候会将日志信息打印在日志区域(如下图17所示),在该过程中也会对埋点日志进行一定的校验。重点将操作时机、埋点日志一并保存到服务端。

图17 埋点上报数据控制台打印

  • 埋点时机校验:针对时机校验,程序并不支持埋点曝光的"1px曝光","下拉刷新曝光","页面切换曝光","切前后台曝光"这些规则,主要的原因是每一个业务方在对埋点曝光的规则都是不一致的,而且该规则的实现会极大耦合业务代码。在针对时机校验我们目前只支持: [1] 点击埋点上报时机校验,程序通过事件监听和埋点类型信息来判断点击埋点上报的时机是否是在点击的操作下产生的,如果不是则报错。 [2] 埋点重复上报校验,针对一般情况下用户一次操作不会产生两个相同的埋点上报,所以程序会校验某个事件下发生的所有埋点日志进行一一校验,检测是否具有2个或多个埋点日志完全一致,如有发生则会上报错误。
  • 结果校验:回放完成后,我们会对比录制和回放时的埋点数据,根据配置好的字段规则校验埋点上报是否符合预期。

图18 埋点校验流程图

5. 测试流程

AlphaTest的核心测试流程始终聚焦在用例的录制与回放环节,整个流程涉及到自动化任务触发、回放集群调度、断言服务、消息推送等核心模块。

以UI自动化和埋点自动化的流程为例,AlphaTest以业务团队为基本单元,可以和各团队的测试用例进行关联,定时同步状态。同时利用需求评审线上化做为基础,将自动化用例和研发流程中的PR、集成打包、二轮回归等节点相结合,定时触发自动化用例并将结果报告推送给相关负责人。

图19 建设自动化测试流程闭环

  • 录制用例: [1] 首先在AlphaTest平台选择要录制的测试用例,打开待测试App进行扫码即可进入用例待录制状态,此时可以设置用例需要的前置条件(账号信息、Mock数据、定位信息等),之后点击开始按钮后,手机便会自动重启,开始录制。 [2] 用户按照测试用例步骤,正常操作手机,AlphaTest会将用户的操作行为全部记录下来,并自动生成语义化的描述语言显示在AlphaTest平台上,与此同时产生的网络数据、埋点数据等校验信息也会一并存储下来。 [3] 在录制的过程中可以快捷的打开断言模式,将页面上想要校验的元素进行文本提取/截图等操作记录下来,用于后续回放过程中对相同元素进行校验。 [4] 测试步骤全都执行完毕后,点击保存按钮即可生成本条自动化用例。
  • 用例回放: [1] 扫描对应自动化用例的二维码即可进行回放,回放过程中会将用户录制的行为、网络数据进行一比一还原,并且辅助有全过程视频录像,用于后续问题排查和溯源。 [2] 回放过程中碰到断言事件时,会将断言的元素进行文本提取/截图,上传至AlphaTest平台。回放完成后,会将回放时候的断言截图和录制时的断言截图进行图像对比,作为整个测试结果的一项。 [3] 回放过程中的埋点数据也会一并记录下来,并和录制时候的埋点数据和上报时机进行对比,自动提取出其中的差异项。 [4] 回放完成后,会生成完整的测试报告并将结果通过OA推送至相关人员。
  • 回放计划:二轮回归测试中,回放用例数量多达几百条,为了做到全流程的自动化,我们提供了回放计划的概念,可以将多个自动化用例进行编组管理,每一组就是一个回放计划。触发一个计划的回放即可自动触发计划内的所有自动化用例。整个计划都执行完成后,会通知到指定的计划负责人或群组。

5.1 自动化任务触发

在整个外卖C端敏捷迭代的流程中,打包平台主要承接了业务需求发起到需求交付的流程,作为AlphaTest的上游平台,可以提供打包信息并触发自动化用例回放任务。以下简单展示AlphaTest与敏捷协同平台的交互流程:

图20 AlphaTest与敏捷协同平台交互流程图

5.2 回放集群调度

整个测试过程真正的解放双手,才能算的上是自动化。因此,我们着手搭建了自己的自动化机器集群,可以 24小时不间断的执行测试任务。为了保证任务回放能够顺利完成,我们在不同阶段增加了相应的保活策略。在极大程度上提高了任务执行完毕的成功率。

  • 执行流程:回放任务通过用户在平台手动触发或者二轮自动触发。新增的回放任务经过任务拆分系统拆分成n个子任务,加入到不同设备的回放任务队列中。每个子任务经过占用设备->安装待测App->应用授权->打开scheme->上报结果等步骤完成回放操作。
  • 节点保活机制:针对回放流程中每一个节点,失败后进行N(默认为3)次重试操作。减少因网络波动,接口偶现异常导致的回放失败数量。
  • 子任务保活机制:每个回放流程,失败后进行N(默认为3)次断点重试。减少因设备异常,SDK心跳上报异常导致的回放失败数量。
  • 父任务保活机制:一个父任务会被拆分成N个子任务,当其中的一个子任务S1在节点保活机制和子任务保活机制下仍然执行失败之后,父任务保活机制会尝试将子任务S1中未执行完毕的用例转移到其他活跃状态的子任务中。减少因设备异常,设备掉线等问题导致的回放失败数量。

图21 机器集群

5.3 断言服务

用例断言是整个自动化用例验证的核心步骤,我们的断言服务依据用例的实际情形可以分别进行文字与图像的断言。其中图像断言服务依托于自建的图像对比算法服务,可以高效进行录制回放断言图像的对比,图像对比准确率可以达到99%以上。

  • 录制阶段: [1] 录制时增加断言决策信息的自动采集。 [2] 和正常流程一样,提取区域的截图信息。 [3] 如果是文本组件,则提取文本内容,如果是图片组件,则提取图片二进制编码或图片URL,同时提取区域内的布局信息。
  • 回放阶段: [1] 回放时,提取和录制时一致的内容(文本信息、图片编码、区域截图、布局信息)。 [2] 将回放时的断言信息上传至AlphaTest平台。 [3] AlphaTest平台对断言结果进行校验,首先是基于模型的图像对比,如果判定为一致,则直接标记结果。 [4] 如果判定为不一致、则匹配“断言失败数据集”,如果能够匹配上,则标记结果。如果匹配不上,则需要人工选择匹配类型。 [5] 匹配类型为“文本校验”、“根据图片信息校验”、“人工校验”。如果前两项判定为一致,则直接标记结果。如果“人工校验”的结果为确实两张图不一致,则直接标记结果,结束。 [6] 如果“人工校验”结果为一致,既上述所有判定都不准确,则需要人工对两张图中判定错误的原因进行分类(具体类型待定),同时将断言存储到失败数据集。 [7] 模型自动训练,当数据集超过一定的阈值、通过定时触发、或者手动触发的方式,触发模型自动训练,训练完成后自动部署到AlphaTest平台,不断迭代。
  • 图像服务:图像对比模型采用基于度量学习的对比算法,将图像对的一致性判别转换为图像语义的相似度量问题。度量学习(Metric Learning),也称距离度量学习(Distance Metric Learning,DML)属于机器学习的一种。其本质就是相似度的学习,也可以认为距离学习。因为在一定条件下,相似度和距离可以相互转换。比如在空间坐标的两条向量,既可以用余弦相似度的大小,也可以使用欧式距离的远近来衡量相似程度。度量学习的网络采用经典的Siamese结构,使用基于resnext50的主干网络提取图像的高级语义特征,后接spplayer完成多尺度特征融合,融合后的特征输出作为表达图像语义的特征向量,使用ContrastiveLoss进行度量学习。

图22 训练过程

[1] 预训练过程:resnext50网络是使用ImageNet的预训练模型。

[2] 数据增强:为增加数据的丰富性、提高网络的泛化性能,数据增强的方式主要包括:图像右下部分的随机剪切和添加黑色蒙层(相应改变图像对的标签)。这种数据增强符合控键截图实际情况,不会造成数据分布的改变。

[3] 对比损失:对比损失函数采用ContrastiveLoss,它是一种在欧式空间的pair based loss,其作用是减少一致图像对距离,保证不一致图像对的距离大于margin,其中margin=2。

图23 训练过程

[4] 相似度量:相似度量也是采用计算图像对特征向量的欧式距离的方法,并归一化到区间[0, 1],作为输出的图像对相似度。

5.4 消息推送

消息推送作为回放流程的最终环节,我们依赖于美团内部自建的消息队列服务与OA SDK消息推送能力,可以进行测试报告的实时推送。在此之上,还可以针对不同团队的推送诉求,做消息模板的定制化。

  • 消息定制:消息推送与触达的核心,是满足业务诉求;不同业务对自动化测试报告中各项指标的关注点不同,这就需要AlphaTest具备消息推送定制的能力;将消息推送的模板以配置文件的形式提供出来,不同的业务使用不同的业务消息配置文件;再利用OA提供的图文、多媒体等消息推送能力,可以将自动化测试报告的各项指标自定义拆分;除此之外,消息还需要减少冗余,在这个信息泛滥的时代,我们愿意为无孔不入的消息、通知做减法,只将最重要、最核心的消息推送给最需要的人,既可以推动自动化测试流程的高效流转,又可以让各相关业务人员享受到自动化测试能力的便捷性。
  • 一键触达:以往的研发人员冒烟测试,主要依赖于测试人员在用例管理平台建立测试计划,研发人员根据用例进行手工用例测试结果标记,之后去提测完成后续流程。这中间缺失的主要环节是,难以对研发人员冒烟测试的质量进行把控。而AlphaTest正可以解决此问题,流程转换为,研发人员在敏捷协同平台触发一键提测流程,调用AlphaTest的自动化测试能力对冒烟用例进行自动化测试回归,完成之后将测试生成的测试报告同步提测平台,作为研发人员冒烟的结论依据,同时在冒烟过程中发生的问题,也可以及时通知到对应的研发人员与测试人员进行改正。既保证了质量,又避免了人力空耗。

6. 落地与实践

外卖C端主要承担了用户在App端点餐、下单、配送的所有核心流程,场景繁多、业务复杂,这也给测试人员的版本测试带来了诸多挑战,其中最核心也最耗费人力的便是二轮回归测试环节。目前,C端采用的双周敏捷迭代的开发方式,每个迭代周期给测试人员用来进行二轮核心流程回归的时间为三天,为此C端测试团队投入了许多人力资源,但即便如此,仍难以覆盖全部流程;而AlphaTest的设计初衷也正是为解决此问题——UI测试流程全覆盖及自动化验证。

6.1 业务共建

用例的转化与维护

AlphaTest 在外卖C端测试团队的落地初期,我们采用了共建的模式,也就是业务研发人员与对应测试人员共同来进行用例录制与维护的工作;推荐这种工作模式的核心原因是,在C端功能迭代流程中的二轮周期的原有工作模式为,研发人员进行二轮冒烟测试,完成测试之后提交二轮包交由测试人员进行二轮回归测试,所以这本来就是一个双方都需要参与的环节;而二轮测试作为版本上线前的最重要一个测试流程,保证核心流程的正常也是测试人员与研发人员所关心重点。

经过多轮的使用与磨合之后,这种模式被证明是行之有效的,在整个C端二轮用例的转化过程中,测试人员主要负责了用例的录制与迭代流程,研发人员则主要负责版本回放数据的统计及问题用例的发现与解决。

外卖二轮落地情况

目前,AlphaTest已经在外卖多个业务落地,支持了大于15个版本的二轮回归测试,用例覆盖率达到70%。现已覆盖了Native、Mach、React Native、美团小程序、H5 技术栈的测试工作,能力上可进行支持:UI自动化测试、埋点自动化测试、动态化加载成功率自动化测试、无障碍适配率自动化测试。

未来,我们会朝着“智能化”和“精准化”两个方向探索,覆盖更多测试场景的同时,更进一步提升测试人效。

6.2 实践效果

7. 参考资料

[1] https://appium.io

[2] http://docs.seleniumhq.org/projects/webdriver

[3] http://airtest.netease.com/index.html

[4] https://github.com/alipay/SoloPi‍

----------  END  ----------

也许你还想看

  | Spock单元测试框架以及在美团优选的实践

  | 美团智能支付稳定性测试实战

  | Lego:美团接口自动化测试实践

阅读更多

前端 | 算法 | 后端 | 数据

安全 | Android | iOS  | 运维 | 测试

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-09-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 美团技术团队 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
ECCV 2024 | ModelMambaIR:基于Mamba模型用于图像恢复的简单基线
近年来,图像恢复领域取得了显著进展,主要归功于现代深度神经网络(如CNN和Transformer)的发展。然而,现有的恢复骨干网络在全局感受野和高效计算之间面临困境,限制了其在实际应用中的应用。最近,选择性结构化状态空间模型(尤其是改进版Mamba)在长程依赖建模方面展现出巨大潜力,具有线性复杂度,为解决上述困境提供了一种方法。然而,标准的Mamba在低级视觉任务中仍面临局部像素遗忘和通道冗余等挑战。在本文中,作者提出了一种简单但有效的基线模型,名为MambaIR,通过引入局部增强和通道注意力来改进原始Mamba。通过这种方式,MambaIR利用了局部像素相似性并减少了通道冗余。大量实验证明了作者方法的优越性,例如,MambaIR在图像超分辨率任务中比SwinIR高出0.45dB,且具有相似的计算成本但拥有全局感受野。
小白学视觉
2024/12/23
4060
ECCV 2024 | ModelMambaIR:基于Mamba模型用于图像恢复的简单基线
LoG-V Mamba ,高效图像分割的新视角 !
医学图像分割(MIS)的目标是2D或3D医学图像中组织和病变的边界和定位。这一过程对于发展自动化疾病识别、分期和治疗,以及开发医学机器人至关重要。近年来,最先进的MIS方法基于深度学习(DL),得益于它从大量数据集中学习复杂模式的能力。这证明在医学应用中产生高质量性能至关重要 。
未来先知
2024/09/11
6690
LoG-V Mamba ,高效图像分割的新视角 !
【源头活水】Mamba-YOLO性能超越 YOLO!:SSM+CNN的新型主干网络
作者提出了Mamba-YOLO,它基于SSM,为YOLO系列在目标检测方面建立了新的基准。实验结果显示 Mamba-YOLO 在一般目标检测任务中非常有竞争力,在 MSCOCO 上的 mAP 比 baseline YOLOv8 高出 8.1%。
马上科普尚尚
2024/07/05
3.8K0
【源头活水】Mamba-YOLO性能超越 YOLO!:SSM+CNN的新型主干网络
【魔改UNet系列】Mamba-UNet: 医学图像分割的UNet类纯视觉Mamba
在医学图像分析的最新进展中,卷积神经网络(CNN)和视觉变换器(ViT)树立了重要的基准。前者通过其卷积操作擅长捕捉局部特征,后者通过自注意力机制实现了显著的全局上下文理解。然而,这两种架构在有效建模医学图像中的长距离依赖方面都存在局限性,这对于精确分割至关重要。受Mamba架构的启发,该架构以其在处理长序列和全局上下文信息方面的专业性而闻名,并且作为状态空间模型(SSM),我们提出了Mamba-UNet,这是一种新颖的架构,它将UNet在医学图像分割中的能力与Mamba的能力相结合。Mamba-UNet采用了基于纯视觉Mamba(VMamba)的编码器-解码器结构,并注入了跳跃连接以保留网络不同尺度上的空间信息。这种设计促进了全面的特征学习过程,在医学图像中捕捉复杂的细节和更广泛的语义上下文。我们引入了一种新颖的集成机制,在VMamba块内确保编码器和解码器路径之间的无缝连接和信息流动,从而增强了分割性能。我们在公开可用的ACDC MRI心脏分割数据集和Synapse CT腹部分割数据集上进行了实验。结果表明,在相同的超参数设置下,Mamba-UNet在医学图像分割方面优于几种类型的UNet。
小白学视觉
2024/10/29
1.3K0
【魔改UNet系列】Mamba-UNet: 医学图像分割的UNet类纯视觉Mamba
西交大 & 上海 AI Lab 提出 HRVMAMBA 用于高分辨率视觉状态空间模型,助力图像分类、人体姿态估计和语义分割等!
卷积神经网络(CNNs)和视觉 Transformer (ViTs)在图像分类、人体姿态估计和语义分割等任务上取得了显著进展。尽管CNN在局部特征提取方面表现出色,具有线性计算复杂度,但它们缺乏全局上下文建模能力。尽管ViTs通过自注意力机制捕获全局感受野,但面临平方复杂度,尤其是对于大输入缺乏归纳偏差。Mamba(Gu和Dao,2023年)引入了S6结构,提高了状态空间模型(SSMs)在长程特征提取方面的效率。通过使用输入相关的状态空间参数,Mamba实现了线性复杂度的更好的上下文建模。这导致了许多后续的视觉Mamba模型,如ViM,VMamba,LocalVMamba,GroupMamba 。
未来先知
2024/11/04
4070
西交大 & 上海 AI Lab 提出 HRVMAMBA 用于高分辨率视觉状态空间模型,助力图像分类、人体姿态估计和语义分割等!
PPMamba 一种基于金字塔聚类局部辅助SSM的图像语义分割模型 !
遥感(RS)技术的快速发展极大地改变了作者对地球时间和空间尺度的认识。遥感技术在农业、林业、地质学、气象学、军事和环境保护等领域得到广泛应用,实现了系统性的分析、评估和预测。在这些应用中,语义分割在许多下游地质学任务中起着重要的作用,如土地覆盖分类和城市扩张监测等。
未来先知
2024/09/29
4450
PPMamba 一种基于金字塔聚类局部辅助SSM的图像语义分割模型 !
斯坦福祭出 CU-Mamba | 不仅具有通道感知,更是将双状态空间模型(SSM)框架融入到U-Net
图像恢复是数字图像处理中的基本任务,旨在从各种退化(如噪声、模糊和雨迹)损害的图像中重建高质量图像。最近的进展凸显了卷积神经网络(CNNs)[1, 2, 3]和基于Transformer的模型[4, 5, 6, 7]在此领域的有效性。CNN利用层次结构,擅长捕捉图像内的空间层次。Transformer模型最初是为自然语言处理设计的,但已经显示出对视觉理解的积极成果,例如Vision Transformer[8]。Transformer模型采用自注意力机制,特别擅长建模长距离依赖。这两种方法在许多图像恢复任务中均取得了最先进的结果[9, 10, 11]。
公众号-arXiv每日学术速递
2024/04/25
1.3K0
斯坦福祭出 CU-Mamba | 不仅具有通道感知,更是将双状态空间模型(SSM)框架融入到U-Net
MatIR:融合Mamba与 Transformer 的混合图像修复模型,实验验证其显著有效性!
图像恢复旨在从退化或损坏的输入中恢复清晰且高质量的图像。这是计算机视觉中的一个长期问题,包括了一系列子问题,如超分辨率、图像去噪和去模糊。随着现代深度学习模型,如卷积神经网络CNNs 和 Transformer 的引入,近几年来,该领域的最先进性能得到了持续提升。去噪、去模糊和超分辨率等任务需要能够准确重建图像细节同时保留结构信息的模型。传统的基于卷积的方法通常无法捕捉到涉及大或严重退化图像的任务中至关重要的长距离依赖关系。深度学习领域的最新进展,如Transformer架构,在捕捉图像中的全局依赖性方面显示出了潜力。然而,Transformer的计算成本随序列长度的平方增长,这限制了其可扩展性,尤其是在高分辨率图像恢复任务中,这些任务以二次复杂度为代价提供了全局感受野。
AIGC 先锋科技
2025/03/10
2350
MatIR:融合Mamba与 Transformer 的混合图像修复模型,实验验证其显著有效性!
​MambaDFuse 出手就知道有没有 | 模态问题怎么办?特征融合怎么解?速度怎么变快?这就是标杆!
图像融合旨在从多个源图像中结合基本的信息表示,以生成高质量、内容丰富的融合图像。根据成像设备或成像设置的不同,图像融合可以分为多种类型,包括多模态图像融合(MMIF)、数字摄影图像融合和遥感图像融合。红外-可见光图像融合(IVF)和医学图像融合(MIF)是MMIF的两个典型任务,它们对来自所有传感器的跨模态特征进行建模和融合。特别是,红外传感器捕捉热辐射数据,突出显示显著目标,而可见光传感器捕捉反射光信息,生成富含纹理细节的数字图像。IVF旨在整合源图像中的互补信息,生成在突出显著目标的同时保留丰富纹理细节的高对比度融合图像。这些融合图像提供了增强的场景表示和视觉感知,有助于后续的实际视觉应用,如多模态显著性检测、目标检测和语义分割。
公众号-arXiv每日学术速递
2024/04/25
1.1K0
​MambaDFuse 出手就知道有没有 | 模态问题怎么办?特征融合怎么解?速度怎么变快?这就是标杆!
英伟达提出首个Mamba-Transformer视觉骨干网络!打破精度/吞吐瓶颈 | CVPR 2025
正如标题所言「Attention is all you need」,Transformer已成为不同领域的「霸主」,包括计算机视觉、自然语言处理、语音处理和机器人技术。
新智元
2025/03/10
2490
英伟达提出首个Mamba-Transformer视觉骨干网络!打破精度/吞吐瓶颈 | CVPR 2025
Masked Mamba: 基于Mamba的病理图像分类的自监督框架
Masked Mamba是一种为病理图像分类设计的高效自监督框架,其创新点主要包括以下四个方面:
小白学视觉
2024/11/29
3730
Masked Mamba: 基于Mamba的病理图像分类的自监督框架
CM-UNet: 利用Mamba架构的高效全局上下文建模进行图像语义分割
远程遥感图像语义分割涉及将大规模遥感图像中的像素分类到不同的类别中,以增强对遥感(RS)数据的分析和解释。这种大规模的语义分割对于自动驾驶[1]、城市规划[2]、环境保护[3]以及其他许多实际应用都至关重要。
AIGC 先锋科技
2024/07/08
3.1K0
CM-UNet: 利用Mamba架构的高效全局上下文建模进行图像语义分割
超越SwinIR,Mamba入局图像复原,达成新SOTA
最近,选择性结构化状态空间模型(例如 Mamba)在具有线性复杂性的远程依赖关系建模方面表现出了巨大的潜力,但它在低级计算机视觉中仍处于探索之中。
AIWalker
2024/02/29
1.2K0
超越SwinIR,Mamba入局图像复原,达成新SOTA
VSSD 在图像分类、检测与分割中的应用, 刷新基于 SSM 的模型 SOTA 榜 !
近年来,由Vision Transformer(ViT)[9]引领的视觉 Transformer (vision transformers)在计算机视觉领域取得了巨大成功。得益于注意力机制的全局感受野和强大的信息建模能力,基于视觉 Transformer 的模型在分类[7]、检测[32]和分割[66]等各项任务中均取得了显著进展,超越了经典的基于CNN的模型。然而,注意力机制的二次计算复杂度使得它在处理长序列的任务中资源消耗巨大,这限制了其更广泛的应用。
未来先知
2024/08/08
7720
VSSD 在图像分类、检测与分割中的应用, 刷新基于 SSM 的模型 SOTA 榜 !
Mamba-U-Net,集成 Mamba 模型的 3D图像分割,在标准U-Net中实现精确的 Voxel Level 交互 !
图像分割在医学影像分析中至关重要,通常作为检查解剖结构和手术计划的前期步骤 [2]。近年来,卷积神经网络(CNN) [25] 以及特别是 U-shaped 全卷积神经网络(FCNN) [31] 在研究社区中得到了广泛应用。尽管它们具有有效性,但自视觉 Transformer (vision transformers)爆发以来,FCNN已被由卷积和多头自注意力层组成的混合架构所取代,这些混合架构旨在减轻卷积操作的特征,即局部感受野问题,并依赖 Transformer 的注意力机制 [36]。文献中已经尝试在经典的 U-Net 中集成基于 Transformer 架构。即使这些方法在性能上有所提高,但注意力机制的平方级内存占用以及与数据需求相伴随的注意力机制的计算密集性使得这些方法在大规模 3D 体积的应用中并不理想。
未来先知
2024/11/11
9460
Mamba-U-Net,集成 Mamba 模型的 3D图像分割,在标准U-Net中实现精确的 Voxel Level 交互 !
神奇!傅里叶与Mamba结合竟然能实现图像去雨!
图像去雨旨在从雨天的图像中去除雨条纹并恢复清晰的背景。目前,一些使用傅里叶变换的研究已被证明对图像去雨有效,因为它作为捕捉雨条纹的有效频率先验。然而,尽管图像中存在低频和高频的依赖关系,这些基于傅里叶的方法很少利用不同频率之间的相关性来结合其学习过程,限制了频率信息在图像去雨中的充分利用。最近出现的Mamba技术展示了其在多个领域(如空间、时间)中建模相关性的有效性和效率,作者认为将Mamba引入其未探索的傅里叶空间以关联不同频率将有助于改善图像去雨。这促使作者提出了一种名为FourierMamba的新框架,该框架在傅里叶空间中使用Mamba进行图像去雨。由于傅里叶空间中频率顺序的独特排列,FourierMamba的核心在于不同频率的扫描编码,其中低频-高频顺序在空间维度(轴上未排列)和通道维度(轴上排列)中表现出不同的格式。因此,作者设计了FourierMamba,通过不同的设计在空间和通道维度上关联傅里叶空间信息。具体来说,在空间维度的傅里叶空间中,作者引入了Z字形编码来扫描频率,将顺序从低频到高频重新排列,从而有序地关联频率之间的连接;在通道维度的傅里叶空间中,由于频率顺序在轴上已排列,作者可以直接使用Mamba进行频率关联并改善通道信息表示。大量实验表明,作者的方法在定性和定量上都优于最先进的方法。
小白学视觉
2025/01/16
2270
神奇!傅里叶与Mamba结合竟然能实现图像去雨!
【他山之石】超越 CNN 与 Transformer ? MambaDepth 网络在自监督深度估计中表现卓越 !
“他山之石,可以攻玉”,站在巨人的肩膀才能看得更高,走得更远。在科研的道路上,更需借助东风才能更快前行。为此,我们特别搜集整理了一些实用的代码链接,数据集,软件,编程技巧等,开辟“他山之石”专栏,助你乘风破浪,一路奋勇向前,敬请关注!
马上科普尚尚
2024/06/21
6310
【他山之石】超越 CNN 与  Transformer ? MambaDepth 网络在自监督深度估计中表现卓越 !
注意力驱动与卷积并行:KAN-Mamba FusionNet 优化医学图像分割技术 !
医学图像分割有助于准确地定位解剖结构特征,从而及时发现异常并实现患者治疗。最近对开发高级深度学习和计算机视觉方法的研究为解决疾病器官定位的挑战提供了一个途径。可靠的图像分割技术对于帮助医学专家做出明智的决策并提高诊断结果至关重要。这可能潜在地增加患者的寿命。
未来先知
2024/12/19
6020
注意力驱动与卷积并行:KAN-Mamba FusionNet 优化医学图像分割技术 !
从STM到CTM:MTMamba++如何优化多任务场景理解 !
多任务密集场景理解在计算机视觉领域有着多种实际应用,如自动驾驶、医疗保健和机器人等。此问题的挑战之处在于,需要训练一个模型同时处理多个密集预测任务,如语义分割、单目深度估计、表面法向量估计和物体边界检测等。
未来先知
2024/09/11
3050
从STM到CTM:MTMamba++如何优化多任务场景理解 !
西电 & 上交大提出 S2Mamba, 超越传统 Transformer, 提升高光谱图像分类准确性 !
高光谱图像(HSI)由众多光谱带组成,由于其丰富的物质信息,能够进行土地覆盖分析,在精准农业、矿物勘探和环境监测等领域具有广泛的应用。因此,设计一个更有效、更高效的高光谱图像分类模型具有很强的激励性。作为广泛使用的范例,卷积神经网络(CNNs)在高光谱图像分类中已被广泛研究。然而,这一范例受到局部感受野的限制,无法全面捕捉连续的光谱属性。最近,在光谱和空间维度上提取全局上下文信息能力的Transformer架构已在高光谱图像分类中探索,表现出卓越的性能。
AIGC 先锋科技
2024/08/12
6920
西电 & 上交大提出 S2Mamba,  超越传统  Transformer, 提升高光谱图像分类准确性 !
推荐阅读
ECCV 2024 | ModelMambaIR:基于Mamba模型用于图像恢复的简单基线
4060
LoG-V Mamba ,高效图像分割的新视角 !
6690
【源头活水】Mamba-YOLO性能超越 YOLO!:SSM+CNN的新型主干网络
3.8K0
【魔改UNet系列】Mamba-UNet: 医学图像分割的UNet类纯视觉Mamba
1.3K0
西交大 & 上海 AI Lab 提出 HRVMAMBA 用于高分辨率视觉状态空间模型,助力图像分类、人体姿态估计和语义分割等!
4070
PPMamba 一种基于金字塔聚类局部辅助SSM的图像语义分割模型 !
4450
斯坦福祭出 CU-Mamba | 不仅具有通道感知,更是将双状态空间模型(SSM)框架融入到U-Net
1.3K0
MatIR:融合Mamba与 Transformer 的混合图像修复模型,实验验证其显著有效性!
2350
​MambaDFuse 出手就知道有没有 | 模态问题怎么办?特征融合怎么解?速度怎么变快?这就是标杆!
1.1K0
英伟达提出首个Mamba-Transformer视觉骨干网络!打破精度/吞吐瓶颈 | CVPR 2025
2490
Masked Mamba: 基于Mamba的病理图像分类的自监督框架
3730
CM-UNet: 利用Mamba架构的高效全局上下文建模进行图像语义分割
3.1K0
超越SwinIR,Mamba入局图像复原,达成新SOTA
1.2K0
VSSD 在图像分类、检测与分割中的应用, 刷新基于 SSM 的模型 SOTA 榜 !
7720
Mamba-U-Net,集成 Mamba 模型的 3D图像分割,在标准U-Net中实现精确的 Voxel Level 交互 !
9460
神奇!傅里叶与Mamba结合竟然能实现图像去雨!
2270
【他山之石】超越 CNN 与 Transformer ? MambaDepth 网络在自监督深度估计中表现卓越 !
6310
注意力驱动与卷积并行:KAN-Mamba FusionNet 优化医学图像分割技术 !
6020
从STM到CTM:MTMamba++如何优化多任务场景理解 !
3050
西电 & 上交大提出 S2Mamba, 超越传统 Transformer, 提升高光谱图像分类准确性 !
6920
相关推荐
ECCV 2024 | ModelMambaIR:基于Mamba模型用于图像恢复的简单基线
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档