七牛云工程效率部测试效劳如作甚 70 万+ 客户保驾护航?

《七牛云工程效率部测试效劳如作甚 70 万+ 客户保驾护航?》

七牛云生长至今,积聚已效劳于 70 多万家客户,产物矩阵愈发清楚雄厚,缭绕富媒体场景推出了对象存储、融会 CDN 加快、容器云、大数据平台、深度进修平台、智能日记剖析平台等产物,并供应一站式智能视频云处置惩罚计划。而怎样保证这些产物的质量,是七牛云工程效率部测试效劳一向处置和探究的题目。接下来,我将扼要的引见下我们的详细实践以及一些方向上思索,愿望对人人有所协助。

团体的测试战略,我们主要落实到四个方向: 

• 保证基本代码质量
• 构建营业测试掩盖
• 增添质量监测环节
• 进步与革新流程范例

保证基本代码质量


起首明白,产物质量并非简朴的测出来的,它依靠于软件生命周期中的各个环节,且越是初期举行质量保证运动,效果会越好。所以在提测之前的基本代码质量上,我们非常注重。在把控上,我们会重点介入到三个托付物环节的 review,详细包含需求评审、架构评审,以及我们的测试设想评审,确保产物从计划、完成和验收规范上就相符全部团队的预期。

同时我们也在推行和探究测试手艺应怎样更好的自动化保证基本代码。比方我们会经由过程静态扫描周期性的搜检统统代码库,为开发职员供应回响反映,让其晓得那里做的有题目。同时经由过程网络言语层面的编程范例,推行 code review 最好实践。固然,单元测试层面也会重点强化基本效劳建立。

在七牛云,中心营业库的单测掩盖达到了 80%+,比方中心纠删码存储系统,自研 HTTP 缓存效劳等。同时我们会把单测掩盖率统计自动化做到每一个 github PR 的统计上,让人人清楚的看到,本次提交的掩盖率概况怎样,为研发和 code review 职员供应清楚指引:

《七牛云工程效率部测试效劳如作甚 70 万+ 客户保驾护航?》

构建营业测试掩盖


有了基本代码的质量保证,我们还要从营业角度关注产物质量究竟怎样,做好质检和验收。

先说迭代形式,我们在接到研发的提测需求时,起首会搜检这一阶段的准入规范,比方单测是不是相符规范,代码是不是有人 review 过,不相符规范会被打回,相符规范的,就会进入待测试阶段。以后会在充足把握需求的同时,对详细手艺完成细节,举行深切明白和剖析,在此基本上举行详细测试场景的设想或许补充,再到终究的测试实行。以后研发在拿到我们输出的验收结论时,也要 review 这个效果,是不是有显著脱漏。经由过程这类相互搜检机制,再加上深切到代码细节的白盒测试,确保全部托付的质量严厉把控。

其次在测试实行的详细战略,也是遵照分层理念,不光验收单个效劳的接口行动,还要确保多个效劳之间的集成测试,以及终究系统层面的场景验收经由过程。

固然除了通例测试手腕,在云效劳测试上,另有几个点是我们比较注重的。

 

常态化并发场景下的测试验收


云效劳平常都是分布式,高可用架构,我们在测试一个接口时,一次要求没题目,不代表这个接口就没题目。许多时刻,题目都须要在并发场景,肯定压力下才会暴漏。所以在一样平常平凡的测试验收上,这一点须要特别注意。固然在过往的履历中,我们也积聚较多的 go 言语并发模子及相干测试框架的运用履历,能让我们在一样平常平凡的迭代中,轻松自如的做到这一点。


 

高可用测试


通例的测试验收是保证系统在一般的情况下做准确的事,而高可用测试,考量的则是假如效劳所依靠的环境不相符预期了,系统还能一般事情吗?实践发明,在面临多机房,海量机械的场景下,云盘算基本设施出题目的概率是非常大的。比较罕见的如磁盘破坏、网络毛病、机械宕机等等,可以每时每刻都在发作,每一种毛病都有可以激发数据丧失、系统雪崩等重大灾难,对营业形成难以估计的丧失。所以云效劳的高可用测试特别主要。

有一个很典范的例子,就是我们在考证七牛云存储中心存储引擎的删除接纳功用时,须要在测试环境不间断的模仿种种文件的上传与下载,以及随机删除要求,同时还要对全部存储系统注入种种随机的非常场景,如效劳挂掉,磁盘破坏等,然后在如许的场景下,一连不间断的测试一个月以上,确保统统预期数据不丧失,不破坏,刚刚算验收经由过程。其规范之刻薄,可见一斑。

 

尽量进步测试掩盖率


云效劳都是效劳海量用户,任何的严重错误都是不可容忍的。然则我们晓得测试矩阵又是无穷尽的,在有限的测试人力下,不能盲目地投入到无穷测试中去。所以在怎样进步测试掩盖率方向上,我们也是一向在探究。现在主要从两大方向动手。一是精准测试,我们内部研发了 go 言语的系统测试掩盖率统计系统,可以准确从源码层面回响反映测试掩盖水平,来辅佐我们一样平常的迭代。另一方面,经由过程复制线上实在流量来验收每一个版本迭代,确保无回归题目。这一计划,已运用在七牛云 CDN 缓存系统的通例质量保证上,效果显著。

质量监测系统


前面我们从代码质量和营业考证角度,形貌我们怎样保证质量。但实践中发明,另有些场景和题目,上述场景并不能很好的掩盖到。比方句柄泄漏,内存泄漏等题目,这类题目须要肯定的时候的发酵,且纯真的从营业角度,感知也不会太显著。而质量监测系统就帮我们处置惩罚这个题目,所以我们将营业质量的监测效果提升到通例的迭代验收层面。

在一样平常平凡,我们不仅验收效劳的对外行动,还须要关注营业挪用链是不是康健,效劳的本身运行时是不是有题目,营业性能指标是不是有退步等等。经由过程这些手腕,尽量的在测试阶段就检出更多的题目,削减题目脱漏到线上的概率。假如说营业验收从用户角度来斟酌,那末营业质量监测就是从全部系统端来器量。各有各的上风,在质量保证系统里,两者缺一不可。

流程范例进步与革新


手艺在差别阶段总有其局限性,任何环节出题目,影响产物终究效劳客户的质量都是不可容忍的。所以在通例的手艺保证以外,我们也会推进和进步肯定的流程范例, 确保全流程,各个环节的质量有用把控,比方典范的迭代范例,宣布和线上操纵范例,以及变乱处置惩罚流程等等。

 

牛人说


「牛人说」专栏致力于手艺人头脑的发明,个中包含手艺实践、手艺干货、手艺看法、生长心得,另有统统值得被发明的内容。我们愿望鸠合最优异的手艺人,发掘独到、尖锐、具有时代感的声响。

    原文作者:七牛云
    原文地址: https://segmentfault.com/a/1190000016006216
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞