TA的每日心情 | 衰 2020-3-27 09:39 |
---|
签到天数: 43 天 [LV.5]常住居民I
|
我有一个经验,流程中凡是有人类手工参与的环节是最容易出错的。因此,尽可能减少流程中人的参与是产品质量的有效保证。(手工劳斯莱斯除外)
( N% R( D( Z+ c( \- m0 r: U3 o4 B5 |. F, K! ^+ ^& j& p
我又有一个经验,执行系统升级/回滚这样的关键操作时,要严禁手敲键盘一条条输入命令,而应该在pre-production环境下编写好命令手册,用复制粘贴的方式一步步来或者直接上脚本,原理见上一条经验。(Windows系统除外)
; {5 ^* g: |* x' ]3 W. k3 I3 G, A- M3 w4 k. O
我又又有一个经验,上面这两条你肯定知道,如果你还没这么做,肯定是客观环境不允许。(这条没例外)' a. ]1 O$ }+ P3 }# ?8 {0 @# K6 a
( P5 M) W% |! p k- @ 续断研发团队一直在以最严格的流程迭代产品!然而,开始时并不是因为我们天生骄傲,而是老板不肯多招人……好吧,说正题,隧道稳不稳最重要还是产品稳不稳。续断研发团队做了这些工作,尽可能让产品“稳”如泰山。
: K" K9 d1 K5 {% O! ?; ]- y% q" e- ]# ?
核心功能10倍测试代码( U. N+ |0 q$ h. D% h: w
& q H2 X: D& W+ n. Z, X3 j
对C/S架构的产品来说,自动化测试实现起来要复杂一些。续断有213个测试用例涵盖隧道功能测试,隧道压力测试,客户端安装卸载,用户注册,充值,扣费等关键功能。按照代码行数粗略计算,每行核心代码有10行测试代码来保证质量一致。这213个测试用例哪里来的?坑踩的多了,攒的……7 m1 K$ Y) o1 T1 y+ T6 S
; k" s! a0 Y$ s$ Y7 h" F , I) R x" Z4 V/ g( Z! A
4 q c! Y, b7 X8 U% M& C% B# K 40000次自动测试
5 C0 d3 {: b" W" l, O6 r4 k
: ~% l7 `5 O( ]3 j 200台测试设备╳每台设备213个测试用例≈40000次自动测试。8 N# g/ T, U: n( Y3 _
. b# c1 Q1 \0 { G5 m% {, r6 u+ l& Z
190台OpenStack虚拟机,外加树莓派,香橙派,极路由,360路由,小米路由Pro,威联通,少量PC,笔记本电脑等。测试环境涵盖下表各类操作系统和版本,pipeline细致而繁杂,只有全部通过流程才会继续。
" I; D% f9 ~& F0 i" j1 m
1 v2 N8 v: A3 q0 x1 m' D 9 b# j+ f- ?6 P" V
7 z( F; i7 A) `6 n 
8 N/ C8 I$ Y5 S! H- y- K; N7 P. c# B6 {
升级/回滚3分钟,影响用户几秒钟: `) G0 N/ m4 H8 j) z" {% @
' Q6 A' Q* P5 j# M 深度应用CI/CDDevOps,Issue——Master——Pre-Production——Production,层次分明,验证充分。全容器化的服务端架构,让我们能在3分钟内完成对全球范围100多个续断服务器节点的升级/回滚,用户有感知的影响被控制在数秒钟以内。是的,”小个位数”秒以内,以至于让用户阅读升级公告都显得浪费时间,所以就不发公告了。
V* f$ C* E' ^6 k! D% j& L8 C+ a* W8 [
另外
* u/ f, }% X6 p) k) R( `; v' Q5 a
& {3 m# M9 r7 z. I4 V 哲西信科官网www.zhexi.tech。我懂,这些都是常规操作,单讲数据的话被某某某一个朋友公司的产品碾压是分分钟的事。但摆数据不是为PK,而是要让我们续断的用户放宽心。续断是老司机开车,稳得狠!还没完,我们老板说了,“南来的北往的有疑问就请在评论区留下,都是程序员,我们踩过的坑不想看别人踩一遍,有必要可以给代码,帮到家”云云……不过我们老板有个特点是说话不算话,你老板不会恰巧也这样吧?
6 ^) t z1 s) f' R7 Q( S3 A3 g( b: y9 {7 ?
: J) U1 L/ ]2 l0 }8 v6 r: l$ z- z5 n6 ]
|
|