zoukankan      html  css  js  c++  java
  • 小谈关于互联网产品的测试

         话说已经很久没有更新博客了,可见这几个月以来一直在偷懒,没有学习,也就没有体会,自然就没什么可写可记录的。懒惰是天生的,很容易就找到借口偷懒,而想要恢复到那种积极主动的学习状态确是非常的困难。Anyway,从更新博客开始慢慢多花一点时间在学习上。废话不多说了,开始谈谈我对互联网产品测试的一些看法。

         说到互联网,很多人会想到大数据、用户体验等等跟互联网相关的属性。也正是因为这些有别于传统软件的特征,从而决定了互联网产品的测试也大不相同。现在的互联网产品一般都会从三个方面去评价这个产品的价值:一是用户体验,这个是很明显的,传统软件产品大多是为了某方面的业务而专门设计的,会使用的人也是特定的人,这些人因为工作或者某种需要不得不用这样的传统软件,好比金蝶的财务、ERP软件,一般人是不会接触到的,而互联网产品却是几乎每个人都能接触到,没有好的用户体验,一上线不受青睐马上就玩完了;二是新鲜感,要让用户觉得新鲜好玩,而传统的软件产品生来就是为了工作而服务的,不可能会让用户觉得新鲜好玩,office软件大家都有,但我没听说过谁无聊的时候去打开它们玩一玩的,可见让用户感觉新鲜好玩在互联网产品中起着举足轻重的地位;三是给用户带来价值,说到底,我们做互联网产品的目的无非就是吸引用户留住用户,甚至让用户心甘情愿付费。怎样才能让用户心甘情愿付费,这就要看这个产品能否为用户带来价值,这个是显而易见的,用户不是傻瓜,不会对自己没半点用处的东西付出的。

         正是因为有这三大方面的不同于传统软件产品的特征,让互联网产品的测试变得更具挑战性。具体体现在以下几个方面:

         1.互联网产品的开发测试周期很短,有别于传统软件。在传统软件中,一个版本可能会有好几个月的时间,甚至更长的长达半年、一年的都有。可是互联网产品不一样,一个功能从策划出来到发布可能就是几天时间,这是互联网的新鲜感决定的,等你慢慢开发完善,再花很多时间测试确保万无一失再上线,那就太晚了。所以测试的时间不会很长,可以说连软件测试流程中要求写测试用例的时间都没有了,只能列一下大概的测试点。在这种情况下,想要保证测试的质量可以说是很难很难的,测试时间短就很难保证测试的充分性,很多细枝末节就漏测了。

         2.互联网产品具有不确定性,这也加重了测试的难度。互联网产品针对的用户几乎涉及到男女老少各个阶层的人,即便是在测试的时候站在用户的角度去体验,也很难下定结论,更何况还有很多超出意料的未知因素。好比测试漂流瓶的功能,你抛出一个瓶子,但是根本就不确定它会漂流到哪里,被哪个用户捞起来,不想传统的软件测试,可以假定输入,会有对应的预期输出结果。而互联网产品是不确定的,输入输出有时是不能确定的,因此可能产生大量的数据,这也会造成测试的困难,导致测试不充分。

         3.互联网产品的兼容性问题,这也是对测试人员来说一个老大难的问题。不比传统软件,不用过多考虑兼容问题,你想用我的产品就必须用IE6,不用IE6出问题了那就是你的问题,强制用户使用固定的浏览器。但是互联网产品不行啊,你让我用IE6,我好好的firefox凭什么去用IE6,鬼才要用你的东西,我偏不用。这样一来就会有很多用户流失了,我们都知道互联网拼的就是吸引更多的用户。可是用户的习惯又大不相同,这年头这么多的浏览器,兼容性是作为考虑的重要因素,毕竟每一种浏览器都有相当一部分人在使用。就拿IE6来说吧,经常不兼容,但即使是BAT,也不能说不考虑IE6的兼容问题了,彻底放弃了还在使用IE6的这部分用户吧,更何况其他的互联网小公司了。

         这大概就是我开始测试互联网一个多月以来所碰到的三大最具挑战性的难题了,或许随着工作的深入展开还会遇到更大的难题,这就是后话了。目前来说,我也算是明白了,跟传统软件相比,测试点的覆盖率是远远比不上的,这也意味着漏测的bug会在网上被用户轻易发现,但是这并不可怕,互联网产品本身测试的充分性就难以保证,bug的存在在所难免的。这就要求产品的开发团队需要有快速解决bug并且快速发布补丁的能力,在用户不知不觉的时候把bug修复,让用户几乎感觉不到有bug的存在。这样的能力主要是开发团队要具备的,当然测试配合着也需要有快速验证的能力,但是测试的作用就不明显了。还有,正是由于互联网产品的不确定性,很多时候是需要开发、产品经理、测试人员以及团队中的其他人员共同测试体验的,这跟传统软件又有区别,传统软件更偏重的是测试人员的测试,团队中在测试上几乎是不投入的。某种程度上,互联网产品也削弱了测试人员的地位。综上,感觉互联网测试没有传统软件测试那么有价值,测试本就是被忽略,不被看重的,在互联网产品的测试中更是如此。可要是完全没有测试那又是完全不行的,没有质量保证人员,一旦出问题那便是分分钟都会造成重大经济损失的。但也正是因为这样,测试工作的可替代性很高,逼得我们这些测试人员不得不学点东西来增强自身竞争力,不然只能坐等被淘汰了。

         之所以会写这么一篇博文还是跟最近的工作相关,换工作一个多月了,从之前的传统软件测试转为互联网测试,不一样的地方太多了,有必要好好梳理一下两者之间的差异。但毕竟做互联网的测试时间比较短,看法还是很有限的,期待今后会有更深刻的理解认识。

  • 相关阅读:
    Java并发包中Lock的实现原理
    多线程---再次认识volatile,Synchronize,lock
    共享锁(S锁)和排它锁(X锁)
    Java 7中的TransferQueue 以及 SynchronousQueue
    精巧好用的DelayQueue
    非阻塞同步算法与CAS(Compare and Swap)无锁算法
    彻底理解线索二叉树
    使用import取代require
    子页面iframe跨域执行父页面定义的JS方法
    利用js实现 禁用浏览器后退
  • 原文地址:https://www.cnblogs.com/bughunter/p/3968550.html
Copyright © 2011-2022 走看看