如何在智能告警平台CA触发测试告警
721
2022-11-14
如何管理测试环境
变更管理
如何理解变更呢?变更并不是简单的代码发布,还包含配置变更/服务器变更/DDL变更甚至业务活动的开关等变更,理论上所有的变更都会对代码运行结果造成影响。
据统计,线上大部分问题或者说线上故障,都是由于变更导致的,因此变更管理是很重要。
对于变更,常用的手段有变更review/变更check/变更审批。一方面通过不同的角色参与,从不同的角度进行review,查漏补缺;
另一方面通过check和审批的方式落实责任,这样才能提高团队所有成员对于变更风险的认识和质量保障意识。
在变更review和double check时候,需要变更申请人说明变更内容/影响范围/异常情况的解决方案等,这样即使变更出问题,也可以及时修复,将风险控制在合理范围内。
当然,变更的review和审批流程,需要视环境不同而有不同程度的执行力度。
下面是一段我之前工作中和DBA负责人的对话:
DBA负责人:那可真是太好了,我一直想干这个事情,但我去推业务那边一直不搭理我,阻力很大。。。
我:那你看我们合作怎么样,我去和业务研发以及测试协调这个事情,你把底层的技术规范搞定?
DBA负责人:没问题,权限收口,表结构变更统一走工单,降低变更频次,规范数据库和SQL规范,我来搞定;
我:那行,你先准备相关的技术方案和规范,我们先挑一个环境试点,业务方我去沟通,好了我们就开始搞;
DBA负责人:可以,有啥需要我帮忙的尽管说,做这个事情对我们DBA也是个好事情。。。
分享上面这个对话过程,实际上要表达的是:很多时候我们工作中面临的痛点,也是其他人想解决的问题,寻求利益共同体,协作达成一件事,比孤军奋战更轻松,达成的效果也会更好。
权限管理
前几天爆料的某国企机构数据泄露,据说原因是某研发将accesskey上传到了csdn导致。
这里不对这个事件进行评价,而是希望借助这个事件说明权限管理的重要性。
从我个人的工作经验来说,测试环境的权限最好是让测试同学自己维护和管理,特别是发布权限。
原则上,从测试环境开始,后续每个流转环境的发布权限,最好都由测试同学来负责。
这样一方便可以避免未经许可的发布,另一方面测试同学对于发布和变更及时了解评估,也有助于控制风险和出现问题及时周知和补救。下面是几个案例:
服务发布没有限制:通过发布平台设置服务发布时间窗口,和各研发及测试团队协商沟通确认(降低任意发布带来的服务不可用);
任何人任何时间都发布:每个应用或业务域应用合集指定服务owner,服务发布需要在发布平台经过owner二次确认才可以执行发布流程;
信息不同步&沟通成本高:建立专项的服务发布信息同步群,某应用需要发布,自动艾特对应的owner进行通知确认(可设置免打扰,但带来的影响需要owner自己负责);
数据管理
测试数据的重要性不言而喻,每次测试活动开展都需要数据的支撑,这也是我上面提到的数据源隔离和同类型环境共享数据源的原因,看似很矛盾,实际上都是踩了很多坑之后的经验总结。
有类似经历的同学相信都有过下面的工作体验:
多个测试环境的表结构变更,需要提多次DDL工单,DBA同学任务量大;
假设测试过程中测试环境切换,变更就要重新进行,很容易遗漏或者变更有误;
即使有专门的测试数据预埋工具,但多环境多数据源会导致数据准备更耗时,加大复杂度;
不同环境不同数据源,进行自动化回归的时候,测试case和数据可能要进行修改适配,耗时费力;
即使多个项目同时进行,但最终发布线上仅是一套环境和数据源,这样会导致频繁变更带来的线上风险概率;
针对这些现象,我是怎么做的呢?
首先,选择一个环境作为基准环境,所有的DDL变更都先变更到基准环境,然后自动变更到其他环境的数据源上;
其次,stable环境落地,环境发散现象会逐渐收敛,搭建维护变更成本降低后,反而有时间资源做专门的优化工作;
然后,变更权限和入口收敛,通过统一的工单系统进行,降低整体的变更混乱现象,所有变更有迹可循有记录可查;
工具手段
上面聊了测试环境的重要性和常见的一些环境管理方法,其实总结一下,核心思路有下面几点:
所有变更都需要check,重大变更需要审批;
借助工具和平台,将变更权限收口,用统一的流程去规范操作过程;
降低变更频次,明确变更流转的准入准出标准,测试同学做好质量卡点;
其他管理方法
除了上述的一些案例和技术方案之外,还有下面的一些手段,比如:
代码分支命名规范;
服务不可用订阅通知;
服务发布通知功能上线;
环境不可用问题及解决方案培训;
成立虚拟小组,每个域指定负责该域的测试owner;
整合不同业务线的自动化框架和方式,提供统一的技术方案;
测试环境接入日志监控告警,从服务层-DB层,监控告警做到自动化和透明化;
环境和服务不可用时长纳入故障SLA计量维度,定时复盘和分析,并不断落地改进;
发表评论
暂时没有评论,来抢沙发吧~