2022年7月8日-7月9日,QECon全球软件质量&效能大会在深圳正式举行。本次大会聚集 “研制效能、卓越工程、质量工程、数智化测验” 四大主题展开讨论,约请多位企业一线技能专家,共同重视软件的质量确保与研制效能,激发质量新动能,铸就效能新时代。
阿里云智能测验开发专家薛冰洋受邀参加大会,并共享了以 《边际云主动化测验处理计划—TestMaster》 为主题的演讲,介绍了边际云质量确保作业中的多重应战,解读了以渠道化技能全面赋能测验服务的立异实践,以下为整理内容:
边际云介绍
边际云是基于云核算技能的中心和边际核算才干,构筑在边际根底设施之上的云核算渠道。
近年来,跟着视频直播、物联网等运用场景快速开展,近80%的数据和核算都发生在边际上,因此边际云具有下降时延、减轻云端压力、下降带宽本钱、全网调度与算力分发才干等优势,其事务也与公有云相似,包括核算、网络、存储、安全等类型。
现在,阿里云在全球拥有2800+节点,全网带宽输出才干达150+Tbps,事务规模掩盖了CDN、直播加快、全站加快、安全加快、边际节点、边际游戏等。
质量应战
阿里云在资源掩盖上的超大规划、在事务规模上的多样性与纵深性关于质量确保作业形成了多方面应战。
来自客户侧的应战
边际云客户来自金融、电商、政企、直播、短视频等职业,掩盖着当时互联网上大部分流量。一起,边际云还为严重活动,如双十一、大型活动晚会、大型体育赛事等供给底层支撑。因此,作为云服务供给商,边际云的研制、测验团队面对着以下方面问题:
-
稳定性问题。 如果稳定性欠安,将面对巨额赔付、大额资损,乃至是大规划舆情;
-
功能问题。 边际云供给超大规划流量支撑,关于功能有较高要求,特别短视频、直播领域的快速开展催生了高并发、低延时等方面的需求;
-
技能问题。 现在大部分互联网公司选用新兴技能,作为服务商同样需求快速迭代,比如对HTTP3、QUIC等协议的支撑;传统职业如金融、政企等类型公司则或许选用传统技能,作为服务方需求进行同步,在技能跨度方面上无疑是不小的应战;
-
需求问题。 针对不同类型事务与运用场景,边际云需求在短时刻内满意很多客户差异化、定制化的需求。
技能差异形成的应战
边际云与移动端、电商类事务有显着差别,其测验规模愈加重视底层事务:如超大规划散布式节点测验,音视频类测验,稳定性确保等。
-
机房散布: 公共云机房散布为集中式,节点较少;边际云机房全球散布,稀有千个散布在不同城市的节点;
-
节点规划: 公共云节点规划较大;边际云资源有限,机房相对较小;
-
流量调度: 公共云选用单region调度;边际云选用大局调度,杂乱性较高;
-
运维管控: 公共云选用集中管控方法;由于节点多、机房全球散布,边际云需求自治才干;
-
弹功才干、网络才干、存储架构与资源架构: 公共云的单机房在建造初期选用体系与机型多为一致采购较为规范,网络可靠性与存储功能相对较高;边际云网络可靠性相对较低,不适合持久化存储,体系异构性强但本钱较低。
在上述前提下,边际云的质量确保杂乱度与公共云差异较大,且难度有所提高,需求在大局调度战略上供给支撑。
测验本身面对的应战
边际云与移动端、电商类事务有显着差别,其测验规模愈加重视底层事务:如超大规划散布式节点测验,音视频类测验,稳定性确保等。
在发布与交互方面, 由于边际云的散布特性要求,最终全球版本需保持一致性,为此,需求对大规划节点一起进行测验,维护难度较大;由于需求对很多不同事务线进行测验,且发布周期在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类、安全类等,所需测验东西品种多;
-
底层测验或体系测验耗时长,若触及全网下发耗时加倍,功率难以确保;
-
发布窗口固定,需支撑多事务线大批量一起测验;
-
节点散布触及全国,需支撑跨区域测验;
-
开发技能栈不同,需减少学习本钱,协助开发者快速了解事务。
处理以上问题需求从多方面下手,选用渠道供给的不同服务逐一处理。
图中所示为主动化体系中的测验用例,运用自然语言以markdown的方法进行编写,经过解析生成开发者所熟悉的语言并在测验机上运转,进一步生成markdown测验陈述,与最初的测验用例方法完全一致,仅增加日志与错误信息。
运用自然语言进行编撰可以助力用户快速了解事务,减少上手难度,短时刻内可以积累数千集成测验用例,并且单人可以负责多条事务线,减少人工本钱。以自然语言方法进行交互还方便了开发人员、测验人员相互了解,下降了沟通本钱,还可以经过钉钉将事务主动分发到不同群组,使问题定位愈加迅速。
测验作业运转流程如图所示:
-
从事务上来说,每个job运转的事务可以是核算类、流量类或安全类,测验场景跨度大,共积累了300+小时的杂乱场景测验用例;
-
从功能上来说,每个worker可以并行运转多个用例,在2小时之内可以完结全事务线的全量测验作业;
-
从稳定性上来说,每个job、worker与节点之间完全阻隔,不同事务之间运转没有影响,一起支撑型服务完结节点内自治,相互之间没有影响,与发布进行强管控,确保24小时不因测验体系问题而中止发布;
-
从才干上来说,支撑markdown、yaml、UI等方法编撰测验用例,数十种东西包与上百种library可以调用,支撑了并行、串行、回滚、整理等打标的按需运转;
-
从易用性上来说,只需用户自行选择运转方法、重视本身事务,其中的worker、job、service陈述、告诉、调度等关于用户完全透明、无需感知。
场景丰厚的测验服务
测验渠道相较于单一的主动化结构面对的事务场景与技能难度有着显着差异,其首要体现在:
-
承载十几条不同品种的事务线,数百种测验场景;
-
数量庞大的全链路用例,运转时刻长达几百小时;
-
测验过程中资源分配、运转战略等杂乱度极高;
-
主动化用例动态改变过程中如何精准测验;
基于微服务架构规划的TestMaster,在整个运转过程中经过在 数据准备-核算与调度 – 管控 -回收 4个阶段运用不同微服务处理了上述问题,在边际云、视频云得到了良好运用。
运用实践
集成测验运用
与业界常见的发布方法不同,边际云选用了并行发布方法,单次发布规划大,要求测验渠道具有支撑多事务线一起发布测验才干。
如上图所示,TestMaster渠道运用其丰厚的微服务供给的才干,在整个集成测验过程中连通上下游体系,实时反馈测验进展,精确到commitID与开发者,经过钉钉推动研制对BUG定位与处理。
一起集成测验服务在功率、掩盖度、杂乱度上为不同事务线供给了强有力支撑,300+小时的全链路主动化用例仅需2小时即可完结回归测验。
场景测验运用
测验渠道用户包括产品、研制、测验、运维与PDSA。以产品用户为例,经过任意点击测验场景选择被测节点,运转即可得到对应效果,自主掌控检验过程,无需测验、研制等技能人员参加。
ENS检验运用
比照前文流量类测验,边际节点ENS检验测验为核算类测验。由于初期事务量较小,每个产生的虚拟机都需求经过核算资源、存储资源、网络资源等类型的资源校验后才干最终交给给用户,出现问题后接收告诉进行排障。跟着事务量突增,事务流程进行加快,经过TestMaster渠道对接建造体系完结了主动化处理,大幅提高了检验时刻与检验次数,显著优化了交给功率。
测验团队中心才干扩展
边际网络内部不通、测验权限问题、大规划反常测验导致的节点反常检验中止等,导致测验不能掩盖关键运用,部分运用不行测问题。基于上述情况TestMaster渠道开发了保护伞运用,打通了节点内部限制,提高了测验掩盖精度,扩展了测验规模。一起依据各事务线差异,规划了严厉的权限管控,确保事务测验阻隔。该运用处理了测验团队中心难题,上线后运用量激增,功率提高数十倍。
阶段性效果
TestMaster于2020年4月立项进行开发,在质量确保上为事务供给重要支撑。运用上线至今,支撑了10****条事务线、数百种场景测验,事务规模包括了电商、直播、短视频、政企等,大幅提高交给功率,节约用人本钱,完结了故障大幅收敛。
未来展望
跟着边际云事务不断开展,外部产品形状持续改变,内部技能不断提高,测验渠道也需求伴随产品与技能的开展,供给用途广泛稳定的测验服务。
一起TestMaster渠道经过打通边际云的不同体系,具有了数据整合才干,咱们希望经过这些数据可以输出质量指标,为体系化建造边际云供给数据根底。
更多边际云产品资讯欢迎重视公众号【阿里云 Edge Plus】