TA的每日心情 | 衰 2020-3-27 09:39 |
|---|
签到天数: 43 天 [LV.5]常住居民I
|
我有一个经验,流程中凡是有人类手工参与的环节是最容易出错的。因此,尽可能减少流程中人的参与是产品质量的有效保证。(手工劳斯莱斯除外)
, R! L) g ]5 l$ j: A7 q0 G) p: [9 {* L0 ]0 G
我又有一个经验,执行系统升级/回滚这样的关键操作时,要严禁手敲键盘一条条输入命令,而应该在pre-production环境下编写好命令手册,用复制粘贴的方式一步步来或者直接上脚本,原理见上一条经验。(Windows系统除外)
$ ^9 E7 k; b) S( ?8 b7 s
& O9 R7 m$ z' ^- }" Q3 p/ `" `8 r4 P 我又又有一个经验,上面这两条你肯定知道,如果你还没这么做,肯定是客观环境不允许。(这条没例外)' B) e, |/ I# ~/ {. p6 L* ^
' d6 E9 O- v) e2 {
续断研发团队一直在以最严格的流程迭代产品!然而,开始时并不是因为我们天生骄傲,而是老板不肯多招人……好吧,说正题,隧道稳不稳最重要还是产品稳不稳。续断研发团队做了这些工作,尽可能让产品“稳”如泰山。+ t, u* n) n% s
4 Q1 [. A/ G0 P7 i; x: A e- J$ E
核心功能10倍测试代码8 |/ u) a& ~9 L' c* H9 N, L4 ]( }
) J( a) ^) ~9 e+ c- J+ }* {* {
对C/S架构的产品来说,自动化测试实现起来要复杂一些。续断有213个测试用例涵盖隧道功能测试,隧道压力测试,客户端安装卸载,用户注册,充值,扣费等关键功能。按照代码行数粗略计算,每行核心代码有10行测试代码来保证质量一致。这213个测试用例哪里来的?坑踩的多了,攒的……
$ t. R- ]$ B, G) l6 P# O4 y& f& Z# `
! z' ^2 [% O a- P: K 
! _+ O* A3 R' {
0 `& K2 J" x/ T" O3 q K+ ^/ _9 L$ x1 u 40000次自动测试# ^8 n$ B! i, J( D$ `7 ]
5 i, |5 }8 a- L" s 200台测试设备╳每台设备213个测试用例≈40000次自动测试。7 V4 s0 M8 p, v8 `4 a. @3 v
+ ^0 J6 ]& Y2 R4 i& F9 o 190台OpenStack虚拟机,外加树莓派,香橙派,极路由,360路由,小米路由Pro,威联通,少量PC,笔记本电脑等。测试环境涵盖下表各类操作系统和版本,pipeline细致而繁杂,只有全部通过流程才会继续。+ Q ?: l+ W; e
. ^+ K6 R4 H1 C: ]) Z; ] % x; S& |2 M& S7 M$ J" j
# V/ Z8 b% x) f% [7 ?

$ u, E1 q; u7 |# q1 d$ T. y; h
* q8 w& g$ N! A* b( i9 C0 c 升级/回滚3分钟,影响用户几秒钟
+ j2 ^+ y& p, l6 s" ~& `
& a% z8 r4 ]9 n* `9 C 深度应用CI/CDDevOps,Issue——Master——Pre-Production——Production,层次分明,验证充分。全容器化的服务端架构,让我们能在3分钟内完成对全球范围100多个续断服务器节点的升级/回滚,用户有感知的影响被控制在数秒钟以内。是的,”小个位数”秒以内,以至于让用户阅读升级公告都显得浪费时间,所以就不发公告了。; D) n' d A# ]- E, B; m
' R- n) T4 o9 H 另外
8 T) N3 K4 i7 c" p6 a. E" D7 e7 U! V4 S# V4 M9 l- A0 o
哲西信科官网www.zhexi.tech。我懂,这些都是常规操作,单讲数据的话被某某某一个朋友公司的产品碾压是分分钟的事。但摆数据不是为PK,而是要让我们续断的用户放宽心。续断是老司机开车,稳得狠!还没完,我们老板说了,“南来的北往的有疑问就请在评论区留下,都是程序员,我们踩过的坑不想看别人踩一遍,有必要可以给代码,帮到家”云云……不过我们老板有个特点是说话不算话,你老板不会恰巧也这样吧?: f" x, I+ Z* S. W v) d0 D% Q
1 z2 M1 k$ k p4 }
8 U/ a% y8 M5 j3 p, A
* q! H& ^! u. W1 _ |
|