阿里云薛冰洋:边缘云自动化测试解决方案—TestMaster
来源:http://www.tudoupe.com时间:2022-08-03
2022年7月8日至7月9日,QECon全球软件质量&效能大会在深圳正式召开。会议重点放在四个主题上: 研发效率, 卓越工程, 质量工程, 和数值智能测试.邀请一些企业第一线技术专家,共同关注软件质量保证和研发效率,激发质量新动能,铸就效能新时代。
阿里云智能测试与开发专家徐家雄被邀请参加会议,并分享了以《边缘云自动化测试解决方案—TestMaster》为主题的演讲,本文介绍了边缘云质量保证在工作中的诸多挑战,本文全面阐述了实现平台技术测试服务的创新实践。以下为整理内容:
边缘云介绍
边缘云是基于云计算技术的核心和边缘计算能力,在边缘基础设施上构建一个云计算平台。
近年来,随着视频广播、物体网络和其他应用的迅速发展,几乎80%的数据和计算都在边缘,因此,边缘云具有减少时间延迟、减少云边缘压力、降低带宽成本、网络调用和计算功率分配等优点。它的运作类似于公共云,包括计算 、 网络 、 存储 、 安全等.
目前,Ali Cloud在全球拥有2,800+节点和150+Tbps的全网带宽输出能力,覆盖CDN、现场加速、全站加速、安全加速、边缘节点、边缘游戏等。
质量挑战
阿里云的大规模资源覆盖、多样性和业务范围的深度对质量保证工作提出了许多挑战。
来自客户侧的挑战
Margin云客户来自金融、零售、政府、现场、短视频等行业,覆盖了大部分当前的互联网流量。同时,边缘云也是重要的活动,地下支助如双十一、大型活动晚会、大型体育活动等。因此,作为云服务提供商,edge cloud的研发和测试团队面临以下问题:
- 稳定问题:如果稳定不好,它将面临巨大的补偿,大量资本损失,甚至大规模暴动;
- 性能问题:边缘云提供超大规模的流量支持,其性能要求很高,特别是短视频和现场广播的迅速发展,造成了高共currence和低延迟时间的需求;
- 技术问题。目前,大多数互联网公司使用新兴技术,作为服务提供者,你还需要快速的迭代,支持HTTP3和QUIC等协议;传统行业如金融、政府和其他类型的公司可能使用传统技术。由于服务提供者需要同步,在技术跨度方面上无疑是不小的挑战;
- 对于不同类型的业务和应用场景,边缘云需要在短时间内满足大量客户差异化和定制的需求。
技术差异造成的挑战
边缘云与移动端、电商类业务有明显差别,其测试范围更加关注底层业务:如超大规模分布式节点测试,音视频类测试,稳定性保障等。
- 机器室的分布:公共云室分布集中,有较少的节点;边缘云室分布全球,有成千上万的节点分布在不同城市;
- 节点大小:公共云的节点大小较大;边缘云资源有限,机器空间相对小;
- 流动调制:公共云采用单区域调制;边缘云采用全球调制,复杂度较高;
- 操作控制:公共云采用中央控制方法;由于大量节点和机器的全球分布,边缘云需要自主能力;
- 灵活性 、 网络容量 、 存储架构和资源架构: 在公共云建设的早期阶段,单服务器室采用系统和机器类型的统一采购标准,网络可靠性和存储性能相对较高;边缘云网络可靠性相对低,不适合永久存储,系统异质性强,但成本低。
基于上述前提,边缘云的质量保证复杂性与公共云的复杂性大相径庭,难度增加,需要在全球部署战略中提供支助。
测试自身面临的挑战
边缘云与移动端、电商类业务有明显差别,其测试范围更加关注底层业务:如超大规模分布式节点测试,音视频类测试,稳定性保障等。
在发布与交互方面,由于边缘云的分布特性,最后的全球版本必须一致,为此,大型节点需要同时测试,维修比较困难,因为需要测试大量的不同业务领域,释放期为1至30天,平均释放频率每周接近一百次,当客户需要紧急修改时,需要在短期内对大量服务进行回归验证。对测试平台的性能响应和压力承载能力提出了很高的要求。
在测试团队方面,边缘云通过平台化捐赠团队构建了测试基础设施,保证了其业务的稳定,为团队的未来发展奠定了基础。
技术方案
给谁用?用在哪?
TestMaster平台的目标用户包括研发、测试、产品、业务、PDSA和合作伙伴,目的是让所有各方参与自动化开发过程,从而解决质量保证过程中的不足业务范围、长期测试周期和人力短缺等问题。
TestMaster接口平台包括批准系统、释放系统、Aone、缺陷系统等,作为研发与执行在释放过程中的桥梁,帮助研发系统不同角色融入研发过程,改善不合理的现状。
平台核心目标
- 简单高效:提供简单、稳定、高效的自动化手段,快速提高自动化覆盖能力;
- 多区域精度测试:为分布在世界各地的大规模节点提供分布式测试方案;
- 广泛的测试服务:为不同场景和业务领域提供相应的测试服务;
- 对复杂场景的测试解决方案:在应用程序形式中为不同测试场景提供解决方案,以解决与用户有关的质量问题。
TestMaster测试平台架构
TestMaster平台架构从下往上可以分为:物理层、系统层、分布式自动化层、管控层、微服务层、网关层以及应用层,按照测试基座、自动化引擎、测试服务、测试应用共四个方面进行介绍。
资源充沛的测试基座
测试基础主要设计以解决自动化测试过程中的资源问题.
- 例如,视频类测试需要高带宽和全线覆盖。TestMaster平台提供100G带宽,电讯 、 连接 、 移动三线.在现场回归测试过程中,估计总流量大约是20G,所以多个用户同时测试,100G带宽可以满足他们的需要。
- 对于大规模测试任务和不同的硬件架构场景,平台提供支持X86和ARM架构的数百个客户,以满足主流硬件测试场景。
- 对于多种存储需求提供自动化的数据存储、大型文件存储方案,最高可达1PB的分布式文件存储能力能够应对如直播类业务线中对4K、8K视频的推流本地存储;针对长久存储需求,还提供无限制的对象存储
- 用于自动化开发和操作,支持当前主流的操作系统,如Linux、Mac、Windows、Android。
- 为不同地区的边界测试提供测试节点,主要涵盖中国北部、东部和南部三个主要地区,并能够处理不同地区的边界测试和全国其他节点。
总结来说,TestMaster测试平台有三个特点: 简单 、 强大和丰富.开发者不必担心从下到上资源,网络线路连接测试、相关区域机械使用等特殊要求,TestMaster将为调用提供相应的API。
强大的自动化引擎
针对边缘云的自动化测试工作存在以下业务痛点:
- 单节点至少包含十台机器,在测试过程中需要高流量和高性能的支持;
- 产品形态差异很大,如计算类、视频流量类、CDN类、安全类等,要求测试工具类型多种;
- 地下测试或系统测试时的耗时,如果涉及下游网络的耗时翻倍,则难以确保效率;
- 发布窗口是固定的,需要支持大量的多个行同时测试;
- 节点分配涉及整个国家,需要支持跨区域测试;
- 开发技术堆栈是不同的,需要降低学习成本,以帮助开发人员快速理解业务。
上述问题需要从多个角度解决,利用平台提供的不同服务。
如图所示,用于测试自动化系统中的例子,用自然语言以记号的形式写字,通过对开发者熟悉的生成语言进行分析并运行在测试机器上,生成进一步的标记测试报告,完全符合原样案格式,仅添加日志和错误信息。
使用自然语言的写作可以帮助用户快速理解业务,减少上手难度,在短时间内可以积累成千上万的集成测试实例,一个人可以负责多个业务线,减少人工成本。使用自然语言也促进了开发者和测试者之间的相互理解。降低了沟通成本,还可以通过钉子自动分配业务给不同的群体,使问题更容易识别。
测试工作流程如图所示:
- 从业务角度看,每个经营业务的工作可以是计算机类、交通类或安全类,测试各种场景,总共积累了300多小时的复杂场景测试实例;
- 在性能方面,每个员工可以同时运行多个实例,并在2小时内完成整个业务线的全部测试工作;
- 从稳定性上来说,每个job、worker与节点之间完全隔离,不同业务之间运行没有影响,同时支撑型服务实现节点内自治,相互之间没有影响,与发布进行强管控,保证24小时不因测试系统问题而中断发布;
- 从能力上来说,支持markdown、yaml、UI等方式撰写测试用例,数十种工具包与上百种library可以调用,支持了并行、串行、回滚、清理等打标的按需运行;
- 从易用性上来说,只需用户自行选择运行方式、关注自身业务,其中的worker、job、service报告、通知、调度等对于用户完全透明、无需感知。
场景丰富的测试服务
测试平台所面临的业务场景和技术困难与单一自动化框架不同,主要体现在:
- 承载数十种不同业务类型和数百个测试场景;
- 一个具有数百小时运行时间的大规模全链的例子;
- 资源配置、作业战略等测试过程的复杂性非常高;
- 如何准确地测试动态变化过程中的自动化实例;
基于微服务架构的TestMaster,通过在整个操作过程中的四个数据准备-计算和调度-控制-恢复阶段应用不同的微服务来解决上述问题,并且在边缘云和视频云中得到了很好的应用。
应用实践
集成测试应用
与传统的出版方法不同,边缘云采用并行出版方法,单次出版是大规模的,需要测试平台来支持多个业务线同时发布测试能力。
如上面所示,TestMaster平台利用其丰富的功能提供微型服务,在集成测试过程中连接上游和下游系统,实时反馈测试进展,准确提交ID和开发人员,并推动研发以通过钉子定位和解决错误。
同时集成测试服务在效率、覆盖度、复杂度上为不同业务线提供了强有力支撑,300+小时的全链路自动化用例仅需2小时即可完成回归测试。
场景测试应用
测试平台用户包括产品、研发、测试、操作和PDSA。 以产品用户为例,通过点击测试现场选择测量节点,操作可以取得相应的结果,独立控制接受过程,无需技术员参与,如测试和研发。
ENS验收应用
比较以前的流动类测试,边节点ENS的接受测试是一种计算类测试.由于初始业务规模较小,每个生成的虚拟机需要通过计算资源、存储资源、网络资源等进行校正,才能最终交付给用户。遇到问题后收到封锁通知.随着业务量突增,业务流程进行加速,通过测试Master平台实现连接结构系统的自动化处理.大幅增加接受时间和接受人数,生产效率得到了显著的优化。
测试团队核心能力扩充
边缘网络内部故障、测试许可问题、大规模异常测试导致的节点异常接受中断等。因此,测试不能涵盖关键应用,有些应用程序应用不确定的问题。基于以上, TestMaster平台开发了伞保护应用。输入节点的内部限度,提高测试范围的准确性,扩大了测试范围。同时,根据不同业务领域之间的差异,设计了严格的权力控制,保障业务测试隔离。该应用程序解决了测试团队的核心问题,上线后使用量激增,效率提升数十倍。
阶段性成果
TestMaster将于2020年4月开发,为企业提供质量保证方面的重要支持.应用上线至今,支持10个业务领域,数百个场景测试,业务范围包括零售商 、 现场 、 短视频 、 政治企业等.大幅提升交付效率,节省用人成本,故障的收敛得到了实现.
未来展望
随着边缘云业务的发展,外部产品形态不断变化,内部技术不断改进,测试平台也需要配合产品和技术的发展,以提供广泛的稳定测试服务。
同时,TestMaster平台具有通过不同边缘云系统集成数据的能力,我们希望通过这些数据能够输出质量指标,为边缘云系统建设提供数据库。
下一篇:没有了
相关新闻
- 2022-08-03 2K价位就有MiniLED,HKCPG271Q体验
- 2022-08-03 杀软界的一股清流来了!精简+无广
- 2022-08-03 实时渲染器除了lumion还有Chaos Vant
- 2022-08-03 【Sixfast】微软公布XGP上旬新增游戏
- 2022-08-03 如何在Windows10或者Windows11中强制删
- 2022-08-03 微软 Win11/10 免费工具集 PowerToys 0
- 2022-08-03 2022年7月Steam硬件调查报告:AMD处理
- 2022-08-03 每周速递 | 数盒谷完成首轮创世谷
- 2022-08-03 Solidigm正式推出 PCIe 4.0 固态盘Soli
- 2022-08-03 天猫代运营十大排名、2022年最新排
|
|
|
|
|
|
|
|
|
|