本文深远剖判了保利威若何基于改进性的 “双螺旋形式”、自研测试器械和 “先保证质地,再提拔成果” 的焦点情念,正在 SaaS 营业迅速发达配景下,修建高效、可扩展的主动化测试系统,从而更好地效劳于营业需求,实行降本提质的宗旨。咱们面对的寻事是若何办理测试资源分派不均、测试成果低下、主动化测试胀动舒徐等题目。为应对这些寻事,保利威改进性地提出了 “双螺旋形式”,并自立研发了遮盖接口、本能和 UI 的全方位主动化测试器械链,连系 CI/CD 实行了测试的继续集成。本文将要点先容保利威若何基于 “双螺旋形式” 修建高效的主动化测试系统,以及若何通过身手法子提拔测试成果和遮盖率,最终博得了正在回归提速、遮盖率提拔和拦截 Bug 等方面的明显结果。本文将为业界供应可参考的 SaaS 主动化测试系统设立经历。
正在 2018 年,跟着保利威 SaaS 营业的迅速延长,测试团队面对着重大的压力,主动化测试胀动舒徐,紧要显示正在以下几个方面:
测试职员才能亏折:测试团队成员广大缺乏主动化测试的编码才能,难以应对保利威丰富的 SaaS 营业逻辑。同时,局限测试职员对主动化测试的代价和意旨领悟亏折,导致主动化测试胀动舒徐。比方,直播营业模块的回归测试,因为必要手工践诺,每次都必要花费豪爽的测试人力和岁月。
测试资源分派不均:各产物线各自为战,都祈望优先胀动主动化测试,导致测试资源竞赛激烈,资源正在 A 项目和 B 项目之间屡次切换,每个项目测试成果消浸了 20%。
主动化器械缺失:缺乏团结的主动化测试平台和器械,导致测试用例无法有用复用,测试成果较低,而且维持本钱高亢,比方,维持一次回归测试用例必要花费 50 幼时,测试成果低下导致版本发表周期延迟,要紧影响了营业发达,无法迅速相应市集需求,影响了客户的体验。
这一理念指引了保利威主动化测试系统的设立,确保正在谋求成果的同时,不以去世产物格地为价格,从而保证营业的褂讪性和客户的如意度。
为了更好地保证交付质地和成果,保利威引入了“双螺旋形式”。该形式的焦点是将营业测试和测试开采有机连系,修建双螺旋上升的质地保证系统:
测试开采担当旧功用回归:测试开采团队不再潜心于新功用测试,而是深远体会营业,应用身手法子对旧功用举行主动化回归测试,从而抬高回归成果。
营业测试担当新功用测试:营业测试团队则潜心于新功用的首轮测试,确保新功用可以迅速且有质地保证地交付。
新旧功用的瓜代:当新功用进程首轮测试并趋于褂讪后,其测试用例将浸淀为旧功用,并由测试开采团队将其转换为主动化用例。测试开采团队对旧功用的回归交付质地担当。
这种形式下,测试开采团队潜心于修建质地保证的底座,而营业测试团队则能够越发潜心于新功用测试,两者酿成协同,合伙抬高交付成果和质地,确保测试事业真正效劳于营业宗旨。
仅仅依赖测试开采团队对旧功用举行主动化测试是不足的。营业测试团队照旧经受着每周豪爽的交付事业,为了抬高新功用的交付和回归成果,节减岁月加入到更深目标的测试用例打算中,营业测试转型势正在必行。
为了更好地适当迅速迭代的营业需求,营业测试团队必需从经历型向身手型更动,驾驭主动化测试才能,以应对深重的测试职分。
保利威通过内部培训、身手分享、项目试验 等体例,帮帮营业测试职员驾驭根柢的主动化测试技术。比方,营业职员能够独立完结方便的主动化测试用例编写,并利用主动化器械提拔测试成果。营业测试职员通过驾驭主动化测试技术,能够更好地体会营业需求,从而打算出更具针对性和营业代价的测试用例,提拔测试的有用性,并能够把精神放正在寻求更深远的营业场景中。
跟着身手的一直改进和交付形式的一直蜕变,保利威的测试团队必要尽疾从交付型经历质地向及时身手型质地对象变动。
守旧的交付型质地,将测试动作一道道闭卡,以职分的式样分散正在开采提测和项目发表时,这种体例存正在差异脚色之间的过多交互,只可起到单点质地保证。及时质地的宗旨是:将质地法子以模块、组件甚至编造化的体例嵌入到营业利用中,酿成及时保证质地的才能。比方,引入主动化身手,开始修建夯实的主动化测试底座,通过 CI/CD 酿成焦点扞卫层,然后拓展到多个产物利用场景,落地质地保证。
正在主动化测试投产之前,保利威同意了一系列的程序,确保主动化测试的有用性和牢靠性,的确程序如下:
为了久远发达,保利威质地团队提出了分层 BaaS(Business-automationtest-as-services)营业主动化测试效劳的宗旨。该效劳的焦点是将测试资源和才能举行平台化、效劳化输出,可以有用消浸测试本钱、抬高测试成果。该效劳的焦点是买通营业中央的测试用例库设立,闭系分层用例,通过理解研发代码调动影响面,精准引荐测试用例举行继续修建。
分层用例: 将测试用例按功用模块和营业主要性举行分层,比方焦点营业流程、症结功用点、边沿功用等。
正在主动化测试规模,业界广大采用测试金字塔模子来指引测试战略的同意。测试金字塔模子从下往上分为 Unit 测试、Service 测试和 UI 测试三个目标,目标越低,测试的践诺速率越疾,本钱越低。保利威正在主动化测试系统设立中,参考了测试金字塔模子,并连系本身营业特质,修建了遮盖 UI、接口和本能的全方位主动化测试才能。Unit 测试紧要用于测试代码的最幼单位,比方函数或者类,它拥有践诺速率疾、本钱低的特质,大凡由开采职员来完结。Service 测试紧要用于测试效劳与效劳之间的交互,包含 API 测试、集成测试等,它可以确保差异效劳之间的协同事业,大凡由测试职员来完结。UI 测试紧要用于测试用户界面,包含功用测试、兼容性测试等,它能够确保用户体验,大凡由测试职员来完结。
目前,业界正在主动化测试方面仍面对诸多寻事,比方测试本钱高、维持贫乏、主动化遮盖率低等题目。同时,正在多终端多脚色场景下,业界常见的主动化测试手腕也存正在诸多亏折,比方,测试器械难以遮盖丰富的交互场景,测试数据难以打点,测试用例维持本钱上等。如上图所示,API 主动化测试和 UI 主动化测试是成果提拔最高的两种体例,保利威基于这些行业近况理解,加入资源研发了接口录造回放平台、UI 主动化平台、和 Agent 主动化底座,以应对这些寻事。
该平台可以帮帮测试职员迅速天生接口主动化测试用例,无需编写豪爽代码,极大地提拔了测试成果。平台撑持 RESTful API 和 WebSocket 和议 的录造和回放,并撑持数据驱动和参数化的打点, 从而消浸了测试职员的技术央浼,消浸了人力本钱。
通过浏览器 UI 操作录造 API 数据,消浸主动化用例编写难度,并撑持对动态参数的统治和丰富鉴权的筑设。
该平台基于 JMeter 修建,能够模仿高并发场景,对编造举行负载测试、压力测试和容量测试,并及时监控本能目标。该平台帮帮测试职员提前呈现编造本能瓶颈,从而避免了线上事项,消浸了亏损。
监控链途目标:平台供应完全的本能目标监控,包含 CPU 应用率、内存占用率、响合岁月、模糊量等。
基于保利威多终端、多脚色互动等丰富营业场景,修建基于代劳形式的分散式主动化身手架构。每个 Agent 摆设成微效劳,模仿多用户、多终端运用场景,撑持多种客户端。Agent 底座基于 Docker 和 Kubernetes 修建,实行 Agent 的动态注册和呈现,并通过动静队伍实行 Agent 之间的通讯,同时实行了测试职分的分散式调换和践诺。该平台撑持多终端多脚色场景的测试,从而遮盖更丰富的营业场景,提拔了测试的遮盖率。
特质:消浸 UI 主动化门槛,通过录造或者图形化编纂用例,撑持多种元素定位体例(如 ID、XPATH、CSS)和多浏览器多处境的测试。
保利威通过代码调动遮盖率来量度主动化测试的有用性,并一直调节测试用例打算。通过理解代码调动,寻得未被测试用例遮盖的局限,实时增加用例,从而抵达测试遮盖率的提拔。通过以下体例来实行可观测性:
回归提速:主动化测试大大缩短了回归测试的岁月,每次版本发表均匀回归时长节减 50 幼时,大大加快了版本发表周期,抬高了营业的相应速率 。
回归遮盖率提拔:主动化测试遮盖了更多的功用点,遮盖率从 10% 提拔到 70%, 消浸了线上缺陷的危急,提拔了用户如意度。
主动化拦截 Bug:主动化测试有用地防守了线上 Bug 的发作,提前拦截了 3 个要紧 Bug,避免了线上事项,保证了营业的褂讪运转,避免了营业亏损。
保利威的主动化测试试验,并非一挥而就,而是正在一直寻乞降试验中慢慢完美的。通过“双螺旋形式”和百般主动化器械的引入,保利威修建了高效的主动化测试系统,继续褂讪跑了逾越 20 个月,为产物的质地供应了有力的保证,不单保证了目下营业的质地,更为异日营业发达奠定了坚实的根柢。
异日,保利威将踊跃寻求 AI 驱动的智能测试,实行测试流程的智能化和主动化,并修建越发完美的质地系统,以适当一直变动的营业需求,的确宗旨包含:
更智能化的测试:引入 AI 身手,实行智能化的测试用例天生和践诺,抬高测试成果和遮盖率。比方,应用 AI 主动天生测试用例,并基于 AI 举行缺陷检测和理解,从而更好地效劳于营业,并能够消浸测试本钱。
更完全的遮盖:进一步拓展主动化测试的边界,遮盖更多的营业场景和边沿功用,裁减漏测危急,例如遮盖更多的挪动端营业和丰富的搜集处境。
更完美的质地监控系统:修建更完美的质地监控系统,实行质地的及时可视化,实时呈现和办理题目,并能遵循数据理解,主动优化测试战略。
笑少是一位资深身手和打点专家,潜心于软件研发、测试和项目打点。曾正在网易等出名互联网公司负担主要身手岗亭,主导研发功用提拔和主动化测试质地平台的设立。正在保利威胀动 SaaS 行业企业直播质地测试平台的设立,帮力企业降本增效。他着重试验与改进,以结果为导向,通过优化流程和引入新身手胀动团队高效发达。笑少正在 InfoQ 等平台分享的经历,稀少是正在研发功用、质地打点和项目打点规模的试验结果,对行业出现了踊跃影响。