大促作为JD一年两度的盛事,质量备战是不可或缺的重要环节。每逢大促都是一次大型的联合战役,在这种战役中,不仅有各种“海陆空”技术争奇斗艳,还会让我们的技术视野变得更宽阔,让我们协同变得更默契,所谓以战养兵。测试团队作为质量备战团队,沉淀了“常态化”、“精细化”、“一体化”的三化备战策略,希望与君共勉,共保大促!
一、常态化篇( 步履匆匆,筹谋早行,日日如此,稳操胜半)
测试联合架构师把大促备战事项进行分类、分级划分,将部分备战工作纳入常态化,通过双周会形式推进系统架构治理,提前消除隐患,使其安全稳固,资源高效。
1.1 流量驱动(流量定开关,伸缩助节源)
为了提高资源的利用效率,产研测联合成立治理专项。全面分析产品流量状况和机器资源利用率,持续推进低价值产品的关停并转,释放机器资源。通过推进与完善ServerLess部署,使其核心应用具备快速扩缩容能力, 实现资源动态调整。基于流量的关停并转和全面覆盖的弹性伸缩,为大促备战低碳化打下了坚实基础。
1.2 健康指数(健康指数高,高危勿忽略)
- “规则统一,忽略有据”: 测试联合架构师团队设定“不可忽略项”的标准,使团队成员认知统一,防止忽略潜在风险,虚假高分埋下生产隐患。
- “策略驱动,重心聚焦”: 健康度提供较多检查项,可以更好地进行应用/任务自检,及时发现和解决潜在的问题。针对特定事项进行专项治理也是非常必要的,可以采取有针对性、有策略的措施,以提升应用/任务的健康度。如:链路超时,JVM参数GC线程数合理性,监控告警治理(监控覆盖度、告警合理性、触达有效性) 和 慢SQL治理 等。
- “天天检查,日日治理”: 利用自动化方式按日检查不合规的忽略项和应用健康分,运营通晒治理,确保目标达成 。
二、精细化篇(丝丝入扣,点滴精雕,精细之道,有备无患)
在构建需求节奏控制、系统质量备战、资源共享配置的平衡关系上,测试团队应充分发挥资源池优势,通过使用公司统一的平台工具实现精细化质量备战,确保资源利用的合理化,专项备战的差异化,演练场景的多样化,巡检事项的自动化,从而提升系统/产品质量和备战效率。
2.1 资源潮汐(流量蜂蛹至,资源弹伸缩)
- “人力潮汐,未雨绸缪” : 大促需求可能会对备战带来一些潜在风险,因此产研测团队通常会提前1-2个月与业务方识别和锁定需求,并将测试资源倾斜到重点项目。通过打造人力资源池,既可以提高长期人力资源规划的有效性,又可以实现对临时业务需求的灵活支持,从而更好地应对潜在风险。
- “资源合理,即时释放” : 军演压测是一种有效的容量评估手段。通过设定性能标准,如CPU使用率在50-60%之间,未达到标准则进行资源的缩容,使其使用更加合理,提高资源利用率。通过极限压测,可确保在高负载下系统能够稳定可靠地运行。结合业务特性,使用ServerLess的潮汐或冷扩策略实现资源弹伸缩。
2.2 质量加固(地毯式巡检,自动化护航)
- “质量加固,精细保障”
1.以APP端为例的大促版本质量保障,我们采取以下措施保障和流程管控:基于大促版本重新梳理及联合评审核心场景用例,在集成测试阶段,功能核心场景全面回归覆盖,页面加载性能优化和Crash稳定性治理等。并在灰度发版之前,进行运营配置DoubleCheck和众测。同时,进行代码集成管控和组件Diff,专项保障APP版本合规性和预审,以确保大促版本的交付质量和提审通过率。
2.以H5为例的活动类专项保障,我们采取了小流量剧本演练/功能巡检/兜底/众测、页面加载性能、验签加固/反爬防刷安全等质量保障措施,结合页面监控(异常、微信封禁等)、权益预警(活动有效期、优惠券库存余额)等。防止活动权益出现套刷现象,影响正常用户权益领取,提升用户体验。
- “自动巡检,省时高效”: 基于公司统一的平台工具实现7*24小时的UI、接口、舆情及用户之声自动化巡检,提升效率。
2.3 预案演练(预案演练全,限流系统稳)
限流、降级和混沌演练是保障系统稳定性和可靠性的重要措施,可有效防护系统流量超限、提高系统鲁棒性。测试团队联合研发进行0/1级应用的多场景的混沌/降级演练和网关/JSF接口的限流配置相互Check,确保限流配置合理,预案演练全面且执行到位。为预案的可视化、自动化及效率提升,测试团队联合泰山团队实现“预案大屏"和"预案执行触达" ,使其预案全部收敛至平台,实现预案自动降级,可视化感知 。
三、一体化篇(同舟共济,群策群力,众志成城,胜券在握)
联合防护和高效协同至关重要,通过上下游或跨团队的联防联控、资源联合重保、监控的实时共享,确保各环节之间的协同畅通,问题及时响应。
3.1 联防联控(协同紧密连,配合展锋芒)
备战的成功依赖于多个系统和团队的支持,因此确保各环节之间的协同畅通,及时响应问题至关重要。为此,我们集中备战,测试主导并梳理产运研上下游接口人,建立沟通群,产研测业务BP,确保关键节点的及时沟通和配置修改的双重检查。通过打通用户反馈渠道和舆情预警,并与客服建立应急预案,能够及时应对用户反馈和突发情况。
此外,为了降低大促期间的风险,我们严格执行集团的 《系统上线封板新要求》,以控制需求对线上系统的影响,并通过架构师委员会评审进行双重保障。
3.2 资源重保(资源联合保,系统稳如山)
在每次大促前,测试团队牵头,组织产研测与中间件团队联合对J资源集群的重保工作。基于系统峰值流量及可能存在潜在风险,双方进行交流并给出相关的诉求和建议,进而反哺到团队的工程实践,确保资源得到充分保障,消除潜在风险。
3.3 监控大屏(监控上泰山,实时保平安)
泰山作为内部系统监控利器,提供较为丰富的监控能力,我们可以通过雷达、全域、数据任务看板等构建出监控大屏,确保异常可及时感知。同时,营销类业务的权益监控仍然重要,测试联合架构师孵化权益监控系统,如:活动有效期、个人权益超发漏发、优惠券的库存等实时预警和告警,保障系统的可用性。
最后,大促备战是一项复杂而重要的任务,需要各部门之间密切协作和高效执行。同时,备战须提前规划和部署,实现常态化备战,避免临时抱佛脚。预祝618大卖,系统稳如磐石!!!
作者:京东零售 李英亮
来源:京东云开发者社区