缓存测试分享篇:如何利用测试环境进行灰度测试缓存迁移solo
此文已由作者王婷英授权网易云社区发布。
欢迎访问网易云社区,了解更多网易技术产品运营经验。
缓存,看到这两个字,第一反应,最近怎么又要弄缓存的改造啊,这个测试好复杂,一不不留心就踩一个线上bug。实在头疼。一般对于这方面的测试,都不会掉以轻心。但还是会踩到雷。那么怎么做才可以又快又好完成这个任务呢?相信每个QA都会有自己的测试应对方案,来达到高质量的上线。
接下来进行分享下社区这边测试solo缓存迁移的测试方案,有不周到的地方大家多提建议,有更好的方案,也可以分享下,让我们能更快更好的应对这方面的测试工作。本次社区这边迁移solo的工程有comment、comment-compose、community-compose、contact-compose等核心工程。
案例一:contact-compose的solo迁移(改动不大,代码改动整体比较清晰)
图一:专辑的改动
上面这两张图都是对contact-compose工程里涉及到专辑的内容进行NKV变更为solo,大家可以看到这个的代码的改动基本是一对一的改动,改动的范围基本都知道。那么接下来我们需要怎么测试这个需求。
【测试流程】
第一步、我们看了开发开发代码改动不是很大,然后就可以自己按照开发修改的地方列定下回归的范围
第二步、梳理下这个工程哪些业务是用到了缓存。
第三步、可以再找开发对一下范围
第四步、就双方进行评估下回归范围,就可以解决掉了。
通过上面的步骤,我们不仅可以做到心中有数,还可以起到监督开发是否有遗漏的地方没有修改。
上面这个是NKV的缓存迁移为solo的缓存,但是我们测试中还存在NCR的缓存,那么接下来聊一下NCR缓存的迁移。
案例二:community-compose的solo迁移(改动多,复杂性高)
图三:代码简单的统计修改数
当我看到这个改动,瞬间人变得紧致起来了,零碎的看开发改的代码,看了两天,当时抱着这个肯定会出线上bug的心情在忐忑的测试。
图四:community-compose工程对应的solo业务key有18个
这个回归起来如果没有一周肯定是不行了,当时心里这么一想,压力很大,怎么办还有好多任务,这个也是卡在4月底上线。有点想加班加死的想法。于是,我先把代码都部署上,把开关都关闭的时候,花了两个小时验证了下社区的核心功能没有什么问题。然后我再把这18个Key全部都打开了,回归了下正常的情况没发现异常后,我开始灰度了。在我心灰灰的时候,就在想,这么高风险的任务,怎样才能更好的去避免线上不出问题?突然一个开发过来和我说,单测过不了了,怎么办?
此时很感谢这位开发,让我想到了可以不用靠一己之力来处理了。借助灰度方案来协助这个高危需求。可能有人以为我是准备拿到beta环境进行灰度,NO,NO。预估了下再近一周内community-compose不会有上线,及时有上线也都是走hotfix分支,于是我把代码合到了dev分支,在stable_dev进行灰度。
采用用stable_dev进行灰度原因如下:
1、stable_dev环境的调用方是非常的多
2、stable_dev环境是单测执行环境
基于上面这两点,stable_dev可以模拟多并发下写缓存和读缓存的操作。可以不用自己担心,只要关注下群里对应的环境反馈,保证工程能正常的运行。同时每天定时关注下stable_dev对应的solo相关的日志即可。
总结:
1、对于部分迁移solo缓存改动不大的工程,我们可以按照常规流程去测试
2、对于复杂性高、改动大的工程进行solo迁移,我们可以用类比的方式利用有限的资源去协助测试(如用stable_dev环境进行灰度)
网易云免费体验馆,0成本体验20+款云产品!
更多网易技术、产品、运营经验分享请点击。
相关文章:
【推荐】 Impala源码之资源管理与资源隔离
缓存测试分享篇:如何利用测试环境进行灰度测试缓存迁移solo的更多相关文章
- (转)深入探讨在集群环境中使用 EhCache 缓存系统
简介: EhCache 是一个纯 Java 的进程内缓存框架,具有快速.精干等特点,是 Hibernate 中默认的 CacheProvider.本文充分的介绍了 EhCache 缓存系统对集群环境的 ...
- 深入探讨在集群环境中使用 EhCache 缓存系统
EhCache 缓存系统简介 EhCache 是一个纯 Java 的进程内缓存框架,具有快速.精干等特点,是 Hibernate 中默认的 CacheProvider. 下图是 EhCache 在应用 ...
- 在集群环境中使用 EhCache 缓存系统|RMI 集群模式
RMI 是 Java 的一种远程方法调用技术,是一种点对点的基于 Java 对象的通讯方式.EhCache 从 1.2 版本开始就支持 RMI 方式的缓存集群.在集群环境中 EhCache 所有缓存对 ...
- 如何利用Pre.im分发iOS测试包
大众创新万众创业,在移动互联网的风口,移动APP开发与测试发展方兴未艾,受到了越来越多的重视.相较 iOS,Android 的开发环境更加开放.Android 开发者要测试应用时,只需发个 APK 安 ...
- Google测试分享-测试经理
首先大家可以思考下,google的测试经理角色必须具备什么样的能力.据不完全统计,google的测试经理,超过一半之前都做过TE的角色(大家可以想想为啥):对于与被测产品相关的任何使用问题,测试经理都 ...
- 从一到二:利用mnist训练集生成的caffemodel对mnist测试集与自己手写的数字进行测试
通过从零到一的教程,我们已经得到了通过mnist训练集生成的caffemodel,主要包含下面四个文件: 接下来就可以利用模型进行测试了.关于测试方法按照上篇教程还是选择bat文件,当然python. ...
- Shell编程-条件测试 | 基础篇
什么是Shell Shell是一个命令解释器,它会解释并执行命令行提示符下输入的命令.除此之外,Shell还有另一个功能,如果要执行多条命令,它可以将这组命令存放在一个文件中,然后可以像执行Linux ...
- openstack开发环境与代码测试
一.openstack单组件开发环境 1.Python虚拟环境搭建 主要参考文献: https://virtualenv.pypa.io/en/latest/virtualenv.html 说明:Py ...
- 转:google测试分享-测试经理
原文: http://blog.sina.com.cn/s/blog_6cf812be0102vode.html 前言:这个系列分享的内容大部分都是出自于<google是如何测试的>的书, ...
随机推荐
- thinkphp5 (最棒的php开源框架)
tp5的唯一可访问目录是public,即项目根目录: http://localhost/tp5/public/ 开发规范: 类库.函数文件统一以.php为后缀 类(命名和路径)和命名空间保持一致 类文 ...
- 前端面试题(一)JS篇
内置类型 JS 中分为七种内置类型,七种内置类型又分为两大类型:基本类型和对象(Object). 基本类型有六种: null,undefined,boolean,number,string,symbo ...
- 【题解】Coins(二进制拆分+bitset)
[题解]Coins(二进制拆分+bitset) [vj] 俗话说得好,bitset大法吼啊 这道题要不是他多组数据卡死了我复杂度算出来等于九千多万的选手我还不会想这种好办法233 考虑转移的实质是怎样 ...
- Linux就该这么学--Shell脚本条件语句(一)
1.条件测试语句能够让Shell脚本根据实际工作灵活调整工作内容,例如判断系统的状态后执行指定的工作,或创建指定数量的用户,批量修改用户密码,这些都可以让Shell脚本通过条件测试语句完成. if条件 ...
- NinjaFramework中文教程(简单版)-手把手教程-从零开始
第一步: 官网http://www.ninjaframework.org/documentation/getting_started/create_your_first_application.htm ...
- AndroidUI组件之ImageSwitcher
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/gc_gongchao/article/details/25594669 今天继续AndroidUI组 ...
- Arcgis SOE学习
http://blog.csdn.net/lovecarpenter/article/details/53178233 http://blog.csdn.net/lovecarpenter/artic ...
- BMP文件解析【转】
本文转载自:http://blog.csdn.net/Blues1021/article/details/44954817 BMP文件通常是不压缩的,所以它们通常比同一幅图像的压缩图像文件格式要大很多 ...
- hadoop —— eclipse插件安装配置
安装: 1. 将hadoop-core-0.20.2-cdh3u6/contrib/eclipse-plugin/hadoop-eclipse-plugin-0.20.2-cdh3u6.jar拷贝到e ...
- POJ 2348 Euclid Game (模拟题)
Euclid's Game Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 7942 Accepted: 3227 Des ...