首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

测试从业者如何搭上区块链的列车

我是一名软件测试从业者,那什么是软件测试呢?

软件测试是指在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。

众所周知一款软件开发出来,是需要进行严格的全面测试后,才能上线公之于众的。比如咱们常用的微信、币乎等,每隔一段时间都会提示让咱们更新版本。

测试的本质是保障软件产品质量,软件的每次更新迭代,不管是修复已知问题,还是开发新功能,都是要经过测试保证其正常功能可用。因为你想啊,如果一款软件经常出现问题,那体验一定很差,折腾几次你可能直接就卸载了。

日常工作中测试要做的,就是尽可能多地找出程序中的缺陷,然后提供给开发者修复,发现问题→解决问题→发现问题→解决问题,开发与测试如此循环,经历多轮相爱相杀后,程序才可发布。

一款产品功能越强大,要测的功能就越多。通常不同功能模块之间,都是有内部交互关联的,比如我们发现某个功能需要优化一下,开发优化了这块代码,但很有可能会引发另外一个模块功能不可用。

这样就会导致一个问题就是:这个模块功能上次已经测试正常,但是并不能保证这次一定是正常的,所以同一个功能模块可能经常需要重复测试。

一件很难的事情,如果一次就可以搞定,那它实际上是简单的;相反,一件看起来很容易的事情,哪怕仅仅是复制粘贴,如果经常需要重复执行,那它实际是很困难的。

因为你想啊,如果它不难,你为啥不能一次性就解决掉?

其实刚开始做测试时,这个问题也一直困扰着我:程序难道不能做到一劳永逸吗?同一个功能每轮都要重复测,太浪费时间和人力了。目前相对较好的办法是通过自动化程序,来回归验证和保障程序基本流程的。

好在区块链来了,区块链所使用的是智能合约,当我看到智能合约代码不可篡改的特性时,我就呆住了,这不就是这个问题的答案吗!?原来程序真的是可以做到一劳永逸的,或许这样才是程序应有的本来面目吧。

不过一旦部署代码便不可篡改这一点,目前来看还不清楚是智能合约的优势还是劣势,因为理论上很难做到,发现程序中的所有bug并修复之,所以这一点还有待时间和市场的验证。

你可能会想在区块链领域,既然不需要那么多测试工作了,那么软件测试从业者是不是就会慢慢地被忽视掉呢?

其实正好相反,正因为一旦上线便不可篡改,所以必须进行更严格更全面的测试,否则一旦后续有软件bug出现,对整个产品来说很可能是灭顶之灾,所以软件测试会更加受重视。

只是对测试人员的要求会比以前要高,因为智能合约顾名思义,里面一定制定了各种规则,而对逻辑规则验证最快的方式便是代码走读和单元测试。

是的,这偏向于白盒测试了,要求有一定的代码功底,需要我们对编程学习要更深入,说实话有一定的难度,但这是可以看见的未来,如果学精通了,将来一定可以混的风生水起。

况且就算不在区块链行业,不懂代码纯点点点的测试,现在已经处在被淘汰的边缘了,所以早晚都得学,而区块链行业还处在起步阶段,现在上车学好了智能合约,以后的机会肯定大把。

如果你有意学习智能合约编程,而学习最好的方式便是边学边玩,这里有一个solidty编程的交互式学习网站https://cryptozombies.io/

小白也能学吗?

是的,零基础也能学,因为里面的课程由浅入深、每一步都有互动,不但增加了趣味性,更重要的是每一个小任务都不是很难,尤其新手,很容易建立自己的自信心。

✎一起上车吧

有位大牛曾经说过,只要不停地敲敲敲(代码),编程便会像走路一样简单,左脚是问题,右脚是对策,一直走不要停,最终肯定能抵达目的地,决定你能不能成功的不是步伐的大小,而是你迈出了多少步。

END

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180421G067Z500?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券