测试的不可或缺--我对测试的认识之路(3)

发表于:2012-11-12 11:46

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

 作者:huawen    来源:51Testing软件测试网采编

  在没到Z公司之前,也没怎么想过这个问题,测试部是否是必须存在的?徐博在分析这个问题时,觉得之所以要成立测试部,是因为要迅速推出产品,就需要有一拨人搞开发,同时有一拨人准备测试,开发完成后,直接就可以开始大规模测试。如果不赶市场的时间点,那么可以不需要测试部,由开发自己测试就可以了。

  我当时的看法,觉得开发人员对自己产品做严格的测试,(1)没有动力来驱动,(2)开发的产品很复杂,自己不清楚用户场景。我所知道的,记忆科技他们做的e管家,类似上网用的猫的设备,他们是从产品调研、到开发、到测试,均是一个人在搞,开发工程师的收入中,会从产品的销售中提成。对比来看,(1)产品是一种在实际生活中,随处可见的,我们清楚它的应用场景;(2)提成就很有动力来做测试,保证产品的质量; 这些特点都是我们当前做的产品所不具备的。我们对产品的应用场景基本不怎么清楚,而且产品复杂。开发人员去做这件事情并没有什么动力。

  徐博说,有责任心就可以开发出质量高的产品。现在想来,他说的责任心应该是对岗位职责负责。不是指对当前的设计编码负责。只要是按照系统工程师的方案来设计,编写详细设计文档,按照自己编写的文档来设计代码,就是有责任心。如果自己写的都没有做到,那才叫没有责任心呢。

  所以,要人对自己的岗位职责负责,实际是对要当前的管理水平提高,调动人的积极性来做这件事情。

  目前的状况是,开发人员严格自测自己的代码,发现问题就是增加自己的工作量。你发现问题解决问题,领导会觉得这是你分内的事情。所以,公司离职的人里,就有这样感慨的。我在做这个项目时,自己负责的模块非常复杂,为了设计出高质量的代码,投入了很大的精力做自测,提交的代码基本没有出什么问题,但是也没有任何人提起过,也没有得到任何表扬。让人有些心有不甘。实际上,一般人的认识是,如果你交测的代码没有什么问题,说明你负责的这个模块功能简单。

  同时,我们是基于市场的压力来做这件事情的,在流程的前端,主要是开发非常忙碌,需要赶市场的时间点。开发出来后,你还要人家严格自测,我感觉基本不行,人需要喘口气啊。下面的文章,非常清楚的分析了测试的不可或缺性。

  世间万物皆为测试对象。测试本身并不是在创造什么东西,而是由确认、验证、保证、评估、审核、报告等动作组成的统一体。

  测试有两个主要作用,第一是确认我们在做一个正确的东西。正确当然需要有标准,对软件测试来说,软件特性说明书就是测试的标准。当说明书有遗漏或忽略时,标准应该来源于大家的约定俗成或者高层人士的判断。

  /*对于芯片测试来说,标准来自用户需求说明书和系统方案;基于这两个来源,我们形成测试需求和需求的通过准则。如果用户说明书或这系统方案有遗漏或忽略,标准应该来自于系统工程师的补充或用户对测试疑问的确认或者大家的约定俗称(这里隐式说明了静态测试的执行)。测试需求是测试活动的源头。*/

  测试的第二个作用,就是确保开发活动的方向是正确的。同时为了保证开发活动方向的正确,我们通过各种测试报告提供有用的数据和事实来帮助项目管理者作出正确的决定。

  /*这一作用,明确了动态测试的目的。总结的非常恰当。*/

  测试的不可或缺的生动解释:

  为什么说世间万物都可作为测试的对象呢?

  只要是有形的东西,就会有BUG存在。拿衣食住行来说吧:衣服可能会不合身,食物有可能不健康,住的房子肯能会开裂,出行时的车辆肯能会抛锚。所以在做任何东西的时候,不能不进行测试。生活中初级的测试是朦胧和无意的,比如裁缝做好衣服之后会在模特身上比一比,饭馆里厨师做菜总是要尝一尝,这都是初级朦胧的测试,这种测试的动力通常来源于客户的挑剔和由此吃过的苦头。

  “奥,原来测试已经渗透到生活的方方面面了,可是我们居然没有意识到。”

  /*可以再发散一下,比如管理的效果,流程的实施,计划的跟进等,这些应该都是测试;对管理效果的调查(如员工敬业度调查,主要是对基层管理的调查),对流程是否执行到位的跟进(这应该是QA跟进吧),文档是否符合要求,研发过程是否基于配置库开发(这应该是CM跟进吧),对计划的进度跟进(项目经理跟进整个项目的进度,测试经理跟进测试的进度,师傅跟进徒弟的进度),这些都是测试。测试就要有正确的标准,如QA的标准就是要有规范的流程,CM的标准就是要有规范的文档。但是对管理效果的测试是比较难的,因为调查问卷即使是匿名填写,多数也很难会填写真是的感受。这里涉及到心理学,出于自我保护等的目的。*/

  厨师和裁缝可以意识不到,但对于复杂度高的软件产品来说,产生错误的概率是成几何级数增长的,测试在这种时候就成为了必须的要求。

  没有测试可以吗?

  前面说测试就是一些确认、验证、保证、评估、审核、报告等动作组成的统一体,那不就是说,测试只是监工的角色吗?而且还说测试不是创造什么,那是不是说没有测试也可以呢?难道不能完全依赖于开发人员的技能、良知和自我完善设计出高质量的软件产品吗?

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

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号