功能、模块质量和非功能性测试

发表于:2012-4-10 11:31

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:RayChase(iteyeblog)    来源:51Testing软件测试网采编

  但凡面向终端用户的产品,产品做大了以后,几乎都要涉及到基线能力和定制能力的划分。任何一个优秀的产品,都要经历从相对无序到有序的逐步成熟的过程。产品的发展总是要经历不断的阵痛,可是时间长了,我还是总免不了思考:好吧,就算产品最初匆忙和艰辛的时期已经过去,就算现在基线能力的建设已经迈入正轨,可是为什么我们的直接客户,定制团队还是那么辛苦?

  有多少功能是真正值得去完成、真正被用户所需要的?

  据一位定制的兄弟说,其实这个比例只有8%,我相信数据也许是不准确的,但不管数据的有效性有多少,至少,大家都在问,产品的定位是一个厚实的门户,有太多的功能需要完成,可是真正给客户使用到了多少呢?也许没有一位普通的开发人员可以估摸出个一二。这是一个产品做大以后的问题,我们离最客户的核心价值越来越远,我们不知道客户真正需要什么,我们只知道SE的规格,SE了解到一线的需求,一线才去倾听客户的声音。既然如此,其中会有多少信息走样?客户需要一个小小的草莓蛋糕,一线传达下来也许是一个大大的苹果派,到了SE那里,苹果派变成了一大盒各种口味的奶油蛋挞,最后,我们开发则做出了整整一冰箱的牛奶冰激凌。

  功能不该有优先级吗?

  我们的功能在开发和测试的眼中,大多是一视同仁的,开发要保证每一个功能的准确性,和一定程度上的可用性;测试要保证覆盖到所有的功能点。可是客户很单纯,他们不这么认为,他们要使用网站,这意味着网站中有他们所关心的核心价值,这也是用户量保证的最简单的原动力。比如说,在迅雷上可以看到免费的电影,在优酷上可以看到最新的视频新闻,在人人网上可以建设自己的主页,和朋友交流……那么这些功能,就是相应这些产品最有存在价值的地方,这些功能,无论从质量还是进度上,应当被优先保证。回过头说,我们的产品,核心竞争力是什么?如果这个思路不和辛苦工作的开发、测试们理清楚,不和努力赶工期、拼进度的基线、定制兄弟姐妹们达成一致,我们怎么能保证产品做下去的方向,走在最大限度地满足客户所需的道路上?

  模块质量应该怎么保证?

  我一直很担心,对于质量的认识,有许多兄弟姐妹似乎陷入了这样的思考中:我是开发,为了提高模块质量,那么我首要提高代码质量,我要仔细地过转测试的CheckList,我要对每个问题单仔细地修改、认真地审核;我是测试,为了提高模块质量,那么我要仔细过测试用例,我要认真检查接口调用、业务逻辑是否正确,给每个提出的问题单写全面、写规范。

  呵呵,大家都是好同志,可悲剧的事情就这样发生了。首先,这样的质量是客户需要的吗?客户最看重的质量,兴许和我们最看重的质量相距甚远。比如,如果我是视频用户的客户,那么这个网站对我的核心价值,就是可以在上面看视频,那么我最迫切要求的质量,大概是视频的种类、播放视频的流畅度和清晰度。也许我们应该做一做这样的分析和思考。

  其次,好的软件是设计出来的,好的质量首先也是被设计出来的,而不是靠大面积问题单改出来的!迭代回溯会议上,需要见到更多对问题数量的回溯。在SE疲于奔命梳理繁多的需求的时候,开发和测试理应站出来和SE、UCD,甚至一线的人扯一扯,毕竟从局部层面上看,只有我们才是最了解这一小块产品实现的人,也是最该被赋予设计上的话语权的人。

  非功能性测试有多重要?

  所有的测试用例,都是面对功能性测试而言的,对于自动化测试更是如此,对于非功能性测试,覆盖率只有零。可是,对于用户来说,能引起他兴趣的功能往往就只有那么一个或几个,能留住他的,却要靠大量用户体验的改善和满足。早些时候看到一则讲腾讯产品的胶片,QQ影音在诞生阶段,功能做得很简单,那么它凭借什么去和那么多的播放器产品竞争?我所知道的是,它的用户体验一直站在一个核心的地位,比如胶片中所述的一个例子:在全屏播放的情况下,用户点击左键会暂停播放,可是当用户先点击右键,把右键菜单调出来的情况下,屏幕上点击左键,却是取消右键菜单,同时并不暂停播放。正是这样细致入微的考虑,把产品做实做细,产品才有了可靠的用户群。

  我们以前是做彩铃的,正如一位主管所说,彩铃产品最直接是面向运营商的,彩铃有什么问题,也许运营商会抱怨,乃至会投诉,但兴许还是会用我们的产品,因为由于种种原因,他并不一定有很多替代品可供选择。但是做门户,做直接和终端用户交互的产品就不一样了,用户是没有耐心的,遇到糟糕的用户体验,会丢掉信任,没有怜悯也没有太多机会,也许用户就这样流失掉了。

  产品质量的定位。

  产品质量当然是越优秀越好。可惜的是,各方面都想得越完美的东西,越难以实现。尤其当项目进度压力袭来的时候,在功能没法砍掉的情况下,必然导致质量的牺牲,那么我们都现实一点,如果质量不可避免地被牺牲,哪一些模块的质量该被优先保证?质量应该被保证到哪个不同的级别上?

  呵呵,其中能够说水分最大的、最容易被进度压垮的,不就是非功能性的软件质量吗?比如,用户体验和性能。

  让合适的人,做合适的事。

  这个扯得有点远了,也许它是优秀的管理者在思考的东西。俗话说,人尽其能,物尽其用。产品中少数模块已经渐渐培养起相应的长期耕耘的田主、少数技能的专家,希望后续这样的人员和角色能够不断丰富,真正在自己的领地上具备权威和话语权,一起把产品做好。

《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号