TA的每日心情 | 衰 2020-3-27 09:39 |
|---|
签到天数: 43 天 [LV.5]常住居民I
|
我有一个经验,流程中凡是有人类手工参与的环节是最容易出错的。因此,尽可能减少流程中人的参与是产品质量的有效保证。(手工劳斯莱斯除外)' k) }' h' z; o5 U" Q/ n% h
, N; v( Q% L( ^6 u
我又有一个经验,执行系统升级/回滚这样的关键操作时,要严禁手敲键盘一条条输入命令,而应该在pre-production环境下编写好命令手册,用复制粘贴的方式一步步来或者直接上脚本,原理见上一条经验。(Windows系统除外)
* ~0 U( P+ Y# O6 m. h. J3 b- z) H: N' W: o4 V4 l
我又又有一个经验,上面这两条你肯定知道,如果你还没这么做,肯定是客观环境不允许。(这条没例外)
; n0 z! ]4 x6 _- W# y0 e* L& {% M! G3 {! n F5 W3 e' n
续断研发团队一直在以最严格的流程迭代产品!然而,开始时并不是因为我们天生骄傲,而是老板不肯多招人……好吧,说正题,隧道稳不稳最重要还是产品稳不稳。续断研发团队做了这些工作,尽可能让产品“稳”如泰山。
% `; l: W) x8 w- I+ O0 l8 t. t* L* A1 \& ~: h4 ?% P
核心功能10倍测试代码
& L! ^5 z* J8 r; v& B* I3 `3 n: @3 l, ~
对C/S架构的产品来说,自动化测试实现起来要复杂一些。续断有213个测试用例涵盖隧道功能测试,隧道压力测试,客户端安装卸载,用户注册,充值,扣费等关键功能。按照代码行数粗略计算,每行核心代码有10行测试代码来保证质量一致。这213个测试用例哪里来的?坑踩的多了,攒的……
/ P* G5 a; Z8 f
: A+ F' O' J O 
( R% C9 O, J. m Q- p d; j( w0 i7 @) r$ X7 o: Z; M3 R( A8 p
40000次自动测试
& t+ e+ f2 W1 X& |
* O7 G+ _) d3 A/ q) M$ q 200台测试设备╳每台设备213个测试用例≈40000次自动测试。% M! v# s! A3 l8 H
9 B1 w" P+ o w
190台OpenStack虚拟机,外加树莓派,香橙派,极路由,360路由,小米路由Pro,威联通,少量PC,笔记本电脑等。测试环境涵盖下表各类操作系统和版本,pipeline细致而繁杂,只有全部通过流程才会继续。+ J2 B+ {8 `5 O1 ^" G7 I8 {
2 n4 y8 g! A, E# t% l! W

5 Q; z6 k8 A9 L3 A5 W" E+ K3 D% S0 p+ R( M" w: t# l3 G

" e9 ?5 o) h* M9 w5 |! l. W+ Y! x8 \& x0 }# H6 C7 H
升级/回滚3分钟,影响用户几秒钟
% f2 c" L% E& _* p' Y. C: ~5 \" O7 K5 Q( u* m
深度应用CI/CDDevOps,Issue——Master——Pre-Production——Production,层次分明,验证充分。全容器化的服务端架构,让我们能在3分钟内完成对全球范围100多个续断服务器节点的升级/回滚,用户有感知的影响被控制在数秒钟以内。是的,”小个位数”秒以内,以至于让用户阅读升级公告都显得浪费时间,所以就不发公告了。, v" f& b3 g3 T
1 ^! r0 N+ V$ D 另外& |8 p# s2 T j1 p: | |5 q: z( z2 K* S
1 ]- D. ~/ X' ^! Q 哲西信科官网www.zhexi.tech。我懂,这些都是常规操作,单讲数据的话被某某某一个朋友公司的产品碾压是分分钟的事。但摆数据不是为PK,而是要让我们续断的用户放宽心。续断是老司机开车,稳得狠!还没完,我们老板说了,“南来的北往的有疑问就请在评论区留下,都是程序员,我们踩过的坑不想看别人踩一遍,有必要可以给代码,帮到家”云云……不过我们老板有个特点是说话不算话,你老板不会恰巧也这样吧?
9 p( ^9 j i5 E6 D% B
& @8 A7 U: @ _/ s; ^2 x
2 p* l1 w. Q) S! \( G9 P2 |: c' K
. k, V8 Y" f0 b3 I& u% d! p |
|