对前端质量保障的思考
作者:网络转载 发布时间:[ 2015/5/29 14:45:13 ] 推荐标签:软件测试管理
四、上线
现在涉及到前端上线的,有多个地方(公司有很多发布系统):
TMS发布
aone2发布
gitlab发布
awp发布
etc.
gitlab发布通过域名严格区分测试、预发和线上环境,操作界限明确,出错的概率还是很低的(这要求开发者对 git 命令的操作十分熟练),如果几次 reset rev** stash 之后便开始犯蒙,那出问题的概率增大了。每次打下 tag 之前,我都会很仔细地 diff 下代码,看看本次发布和上次发布之间做了哪些修改,确认这些修改点再 push tag。
aone2的发布,并不是每个人都用过,它的靠谱在于有三种发布方式:
全网发布,半小时完成
小淘宝环境灰度发布,两小时完成
分三次发布,小流量上线,完成
同时也提供了十分方便的回滚机制,只要拥有应用的权限,可以随时回滚代码,效率极高。
TMS 的发布,我觉得是问题多的。首先,前端和运营都会拥有发布权限,运营喜欢“瞎搞”,部分页面(如JSON输出)并没有提供页面预览,运营填完之后也不会跑到页面查看效果,于是出问题了。。TMS发布每次修改只发布一个文件,CDN 发布一个文件的速度是很快的,当你点击发布的那个瞬间,整个同步基本完成了。可是,当某个节点同步出错,TMS 并没有给出提示,这是第二个隐患。第三个点,TMS坑爹的没有灰度,对一些重要的发布,没有灰度需要十分十分的谨慎,虽说出错可以及时回滚,但万一没有看到隐性的错误,那悲惨了。
五、回滚
没人可以保证自己写的东西不出问题,因为有太多的环境因素是我们想也想不到的,比如近某类控件在小淘宝环境下全挂了,试问,前端怎么会想到这是Nginx 的灰度系统出问题了,在灰度发布的时候文件没有同步成功,导致整个灰度环境出错。
所以,一定要给你的程序想一套快速回滚方案。尤其是在做 ABTest 的时候,新版的效果不好需要回滚到之前的状态,这种事情经常有。
回滚需要注意两点:
要快。
上一个状态要保证无错误。
只要我们能够保证发到线上的每一个版本都是稳定版,那回滚是 0 风险的事情。
六、监控
程序开发三板斧的第三板,监控。前端对测试不太重视,更不用提监控了。没有监控只能提心吊胆的过日子。
其实我们使用自动化工具测试、每天用肉眼顶着自己的页面看,这些都属于监控,但是深入到用户的监控,我们做的太少!
七、小结
看到老大在群里发了几条研发相关的红线:
1、禁止代码未经测试发布;
2、禁止代码发布后不进行线上验证;
3、禁止核心应用发布没有对应的回滚方案。
毫无疑问,这些都是必须严格遵守的。规范会先把坏习惯压住,进而被理解,后被消化吸收。
本文内容不用于商业目的,如涉及知识产权问题,请权利人联系SPASVO小编(021-61079698-8054),我们将立即处理,马上删除。
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11热门文章
常见的移动App Bug??崩溃的测试用例设计如何用Jmeter做压力测试QC使用说明APP压力测试入门教程移动app测试中的主要问题jenkins+testng+ant+webdriver持续集成测试使用JMeter进行HTTP负载测试Selenium 2.0 WebDriver 使用指南