IPFS技术 |漫谈自动化测试

IPFS技术 |漫谈自动化测试

自动化测试的重要性毋庸置疑,在稳定性作为第一要素的存储行业,尤其如此。每一次代码的迭代,都可能导致某些参数的变更。某一个性能参数的微小改动,就有可能导致本来可以流畅运行的业务进入停顿的状态。对于许多应用程序来说,版本迭代是非常快的,这些迭代非常容易导致功能上的BUG,但大多数BUG只是影响了用户的体验,还不至于一些致命的后果。但对于企业级存储产品来说,因为承载了企业关键数据,稍微一不注意,就会导致非常严重的后果,因此,每一次正式版本的变更,我们必须更加谨慎的对待。

 

维护稳定性的一个老办法就是尽量不升级。有人会觉得运行了几十年的老的业务系统应该更可靠。从理论上讲,如果用户需求没有变化,功能特性(feature)没有变动,性能要求也维持原样,不升级是最好的选择。但在如今的IT环境中,技术更新换代太快,为了跟上业务的步伐(比如视频领域不断把以前的标清视频升级为高清视频),功能也在不断地调整,例行的升级不可避免。

 

为了适应软件不断迭代的趋势,一个完整的自动化测试框架是保证系统可靠性必不可少的手段。以前跟的一个老板在微软工作过,他说在八九十年代,每个微软员工有好几台电脑,下班不用关机,后台的一个程序会自动从服务器上下载测试脚本,把工作的机器自动融入到全自动化的测试环境当中。这样不仅可以避免设备被限制,也有效地提高了软件质量。很多年前尚且应该如此,何况现在?

 

自动化测试不是万能药,但它能快速发现如下问题:

 

* 代码是否能够正常构建出一个可用的版本。

* 系统是否可以正常启动和运行。

* 系统的基本功能是否都符合预期。

* 系统的性能指标是否有可疑的变化。

* 以前修复了的一些Bug是否又出来了。

* 在异常情况系下(重启、断电、拔盘等),系统的稳定性是否还可以得到保障。

 

如果没有自动化测试,某一次代码提交,可能导致的某个功能不正常或者性能异常,要很久之后才能察觉到,再回过头来追查,复杂性就会大很多。甚至很多问题要到客户现场才能知晓,导致产品出现比较大的质量问题。

 

性能测试、基于CLI的功能测试、数据完整性验证等用例,相对来说比较便于设计(但并不代表其内部测试流程就简单)。基于Web的自动化测试,就要复杂一些。毕竟要用程序去模拟人的鼠标点击,就得对Web的界面元素有比较透彻的分析,然后再对用户的正常点击和非正常点击进行不同的组合,模拟常规和非常规的流程。从开发的角度来讲,如果在实现前端代码的时候,能够考虑到后续的Web自动化测试,在界面布局设置上考虑更多,后续的自动化测试就会更方便点。另外,现在浏览器的版本实在太多了,虽然可以在文档里面做一些说明,比如只支持IE某个版本,或者Chrome和Firefox,但用户有时候用了各种***双核浏览器仍然是不依不饶。还有人说,我也是Chrome,但你说的这个按钮我怎么点击不了,后来一看,是分辨率太小了,自适应的Web前端框架会使用一套精简的布局。怎么办呢?为了用户,能做更多的兼容性测试就多做一点吧。如果让人来每天反复点击各种浏览器,耐心再好的人也会厌烦,所以自动化测试尤其必要。(当然,人为点击测试也是需要的,毕竟自动化测试不能取代一切。)

 

以上仅针对自动化测试随便说了几句,如有问题,敬请指出。

作为区块链信息平台,本站所发布文章仅代表作者个人观点,与中文资讯网(www.ipfsnews.cn)立场无关。

文章内的信息、意见等均仅供参考,并非作为或被视为实际投资建议。

如若转载,请注明出处:https://www.ipfsnews.cn/2920.html

发表评论

登录后才能评论