• 首页 > 产经新闻频道 > 业界新闻

    Qcon全球软件开发大会 融云分享SDK交付质量保障经验

    2021年06月04日 11:29:08   来源:中文科技资讯

      2021年5月29-31日,由极客邦科技旗下 InfoQ 中国主办的综合性技术盛会 QCon 全球软件开发大会于北京召开。大会设置了包括“人工智能驱动业务实践”、“云原生技术应用”、“大数据实时计算与分析”、“音视频体验提升实战”、“低代码实践与应用”、“弹性工程及运维体系”等在内的 35 个技术专题,邀请业界顶级的技术专家,面向技术团队负责人、架构师、工程总监、开发人员分享技术创新和实践。

    融云为2021 Qcon·北京站分享终端SDK质量保障的最佳实践

      图1:2021Qcon·北京站

      在音视频服务解决方案专场中,全球互联网通信云领先厂商融云作为受邀嘉宾,重点解析了融云音视频SDK的自动化测试链路探索与实践,让开发者了解了SDK 打包集成测试过程中的难点痛点,以及多样性 SDK 自动化交互测试设计思路。

      测试的终极目标是保证SDK质量

      融云自2014年创立以来,专注于通信云赛道,以提供SDK/API的方式,为数百种应用场景赋予通信云能力。为了不断满足开发者对产品功能的需求,成立7年来,融云的SDK接口数量从279个增长到597个,服务端的API接口数量从36个增长到107个,并且适配Android、iOS、Web、Flutter、小程序、桌面版等全平台。

      同时,融云还将众多的SDK集合成不同类型的Demo,方便开发者调用,覆盖了直播模式SealLive、即时通讯SealTalk、融云课堂SealClass、实时音视频SealRTC、语音聊天室SealMic、视频会议SealMeeting等众多场景。这些场景化的Demo和SDK已累计服务超过 30万款App,SDK触达50亿用户。

      伴随着SDK数量增长,和场景Demo的多样化,开发者最关心的是融云如何保障终端SDK的质量。会上,融云自动化测试架构师陈沛杰发表了《融云 SDK 交付质量保障探索及应用》的主题演讲,从实战经验出发,为开发者答疑解惑。

    融云为2021 Qcon·北京站分享终端SDK质量保障的最佳实践

      图2:融云自动化测试架构师陈沛杰发表演讲

      目前,衡量音视频质量的指标众多,分为直接与音视频相关的和与网络相关的两大类。其中,直接与音视频相关的包括视频连通率、卡顿、清晰度、花屏、黑屏、首帧时间,以及音频啸叫抑制、回声抵消、噪声抑制等;而在网络传输中,弱网、丢包、延时、抖动和网络自适应调整,也会影响终端SDK质量。此外,CPU、内存、IO、流量、发热等性能指标,与安全、兼容相关的静态代码扫描、安全工具分析,以及版本兼容、设备碎片化等,也都是影响终端SDK质量的因素。

      因此,为交付有质量保证的SDK,融云的做法就是两个字:测试。只有通过测试,才能掌握这些指标,进而针对薄弱环节加以优化,确保SDK稳定性。在测试环节,融云通过工具化、脚本化的方式,实现Demo业务测试的自动化,通过对业务测试、专项测试、SDK 接口测试的快速迭代,来跟进和掌握相关指标数据。

      基于业务的专项自动化测试实践

      融云对Demo业务自动化测试的思考基于两个维度:一个是如何实现业务自动化测试,保证终端 SDK 产品多样性以及多端交互的稳定性?另一个是音视频专项测试是如何进行的?

      在业务自动化测试实践方面,融云通过对终端业务自动化测试工具的选型,制定出科学的终端业务自动化测试流程。

    融云为2021 Qcon·北京站分享终端SDK质量保障的最佳实践

      图3:终端业务自动化测试流程

      通过这一流程,首先可以实现在大量的 Android 、Web、iOS 、Win、Mac 之间任意自由组合,进行多端交互、交叉测试。其次,利用插件重点关注连通率、稳定性、画面检测(黑屏、绿屏等)、性能数据、弱网和抓包数据等重要质量指标。第三,完整保存了终端过程数据。例如:日志、真实终端渲染后音频、视频画面录制等。

      在音视频专项测试的实践方面,测试需要实现端到端的整体覆盖,包括采集、预处理、编码,到网络传输,再进行解码、后处理和渲染的整个传输过程。

    融云为2021 Qcon·北京站分享终端SDK质量保障的最佳实践

      图4:音视频专项测试实践

      要完成这一过程,陈沛杰以音视频抗丢包自动化测试为例,介绍了主要步骤:

      通过业务UI自动化平台链接到网损仪路由;

      由接口调用网损仪的相关参数传输至终端设备,录制终端画面后,上传至平台。

      第三, 自动或人工分析,完成音视频抗丢包自动化测试。

      此外,融云还可通过传统手工+测试工具结合的方式,进行自动化测试,完成端到端的延时测试,以及通过工具实现性能数据统计等。

      通过这些测试,最终可以掌握诸如CPU 占用率、内存占用值、耗电量、流量、FPS、卡顿等相关性能指标,以及视频、声音延迟;视频、声音质量;啸叫距离、啸叫抑制和音频、视频通话抗丢包的测试数据。

      融云SDK接口自动化测试探索

      所谓SDK接口自动化测试,就是要验证SDK 接口字段校验覆盖率、SDK 接口复杂调用的可测试性以及系统版本及设备碎片化覆盖率。目前,普遍使用的SDK接口测试方案有三种:SDK单元测试、UI自动化方法和注册广播方法。

    融云为2021 Qcon·北京站分享终端SDK质量保障的最佳实践

      图5:SDK接口测试方案

      在实践中,融云认为SDK自动化测试工具应具备以下能力:

      第一,大部分 SDK 接口做到脱离 UI 可以快速迭代;

      第二,可以对 SDK 接口字段进行自由组合逻辑校验;

      第三,可以范围性的开展 SDK 打包集成测试。

      基于此,融云对SDK自动化测试工具进行了两次探索与迭代,第一版采用的是终端设备微服务模式,SDK 接口绑定 URL 地址;第二版则通过 URL 动态反射接口,实现了参数动态反射序列化。

      最后,陈沛杰强调:自动化测试要尽可能在短的测试周期内达到更高的覆盖率,并且自动化测试尽量不以流程为中心,应适应场景快速变化的需要。

    融云为2021 Qcon·北京站分享终端SDK质量保障的最佳实践

      图 6:开发者聆听演讲

      结语

      通过测试和优化,目前,融云音频最大抗丢包可达80%,视频最大抗丢包40%;语音延迟小于120 ms,视频延迟小于 200 ms,语音直播延迟小于350 ms,视频直播延迟小于350 ms,可保障端到端之间延迟无感知的实时互动。从陈沛杰的分享中也能够看出,融云之所以拥有卓越的音视频能力,源于融云对于各项技术的严苛要求和不懈探索。过硬的指标,过硬的质量,永远是融云追求的方向。

      文章内容仅供阅读,不构成投资建议,请谨慎对待。投资者据此操作,风险自担。

    [No. X073]
    分享到微信

    即时

    新闻

    明火炊具市场:三季度健康属性贯穿全类目

    奥维云网(AVC)推总数据显示,2024年1-9月明火炊具线上零售额94.2亿元,同比增加3.1%,其中抖音渠道表现优异,同比有14%的涨幅,传统电商略有下滑,同比降低2.3%。

    企业IT

    重庆创新公积金应用,“区块链+政务服务”显成效

    “以前都要去窗口办,一套流程下来都要半个月了,现在方便多了!”打开“重庆公积金”微信小程序,按照提示流程提交相关材料,仅几秒钟,重庆市民曾某的账户就打进了21600元。

    3C消费

    华硕ProArt创艺27 Pro PA279CRV显示器,高能实力,创

    华硕ProArt创艺27 Pro PA279CRV显示器,凭借其优秀的性能配置和精准的色彩呈现能力,为您的创作工作带来实质性的帮助,双十一期间低至2799元,性价比很高,简直是创作者们的首选。

    研究

    中国信通院罗松:深度解读《工业互联网标识解析体系

    9月14日,2024全球工业互联网大会——工业互联网标识解析专题论坛在沈阳成功举办。