今天无事,在网上转,偶然发现了这篇讨论,看来作者是听了我在软件技术大会上的一个讲座,特转贴过来给诸位网友看看,如感兴趣可在我得blog上交流: http://www.ltesting.net/bbs/boke.asp?seanhe.index.html 具体到如何在企业中实施软件测试过程改进,需要看企业的实际情况,无所谓那种方式一定正确,没有放之四海而界准的改进方式,否则就不会滋生咨询这个行业了:) 测试时代--贺炘 seanhe
| ||
测试工作,从认识到解决--目标决定过程,过程决定质量 现状: 测试工作没有明确的目标和[color=blue]可量化[/color]的质量要求,对质量的控制基本上靠测试人员自己的经验和责任心。 测试理论和测试方法没有全面掌握,没有将测试和公司的开发流程紧密[color=red]绑定[/color]起来。 什么是“有效”的测试过程? 符合公司商业目标的过程才是。 如何有效提高软件质量: 运用软件工程方法,改造[color=red]软件设计[/color]与[color=red]生产流程[/color]。 加强监督机制,引入 SQA 和 监理机制 。 将测试组织[color=red]独立[/color]出来,设计与公司现状相符的质量保证体系。 打通质量[color=red]反馈[/color]环节。 ——注:再好的流程、体系都需要人去运行,[color=blue]人[/color]才是企业的生命线。 如何设计有效的测试流程? 测试要明确[color=red]目标[/color]。 设计的测试流程要符合企业的现状,适合自己的才是最好的。 要对测试的过程进行[color=red]度量[/color],形成正反馈。 软件测试的特殊性 测试只是软件生产过程的辅助环节,编码才是主体。其他所有活动都是为了保证软件的质量。(不要因为自己做测试就忘乎所以的否定一切,唯测试至尊) 测试是一个被动的工作,需要其他工作作为基础来开展。 测试是一个偏向于管理的技术工作。 做好测试需要两个条件:[color=blue]业务知识[/color]和[color=blue]工具[/color]。 测试一定要有明确的目标 即:可量化、可操作的测试截止条件。 目标是测试人员和其他人员沟通的唯一标准。大家的目标是一致的:把软件做好,而不是为了私利(比如多找bugs因为有奖金)。 为什么要对过程进行度量? 过程数据才能真正反应项目的状态;根据UCM的理念,所有的活动都应当基于[color=blue]活动[/color],也就是都是[color=red]动态[/color]的。过程才能体现这些。 对过程度量,才能改进过程。而[color=red]过程决定质量[/color],所以需要。 如何按照企业现状设计自己的测试流程? 测试只是辅助环节,必须根植于现有的开发流程。 测试过程不是越多越好,要结合实际情况。不要盲目! 务必独立出测试部门,不要让开发经理、项目经理、和SQA凌驾其上——这样才能对软件做出客观评价。 不要过分强调测试的重要性,以至于过分依赖。测试不能从根本上保证软件质量,[color=red]过程控制[/color]才能从根本上改善。 如何设计测试过程? 了解公司体系结构。 分析现有的开发过程。 分析过程,寻找度量点,用以过程改进。 如何针对性的实施测试? 目前来说,大部分企业面临的问题:市场压力大,需要迫切解决生存问题。这样造成他们更重视短期利益。 ——对测试的要求:对业务非常熟悉,可以马上验证用户需求,保证软件基本可用,重要功能实现正确。 ================================ 【本人听TestAge贺炘《目标决定过程,过程决定质量》的学习笔记】 [[i] Last edited by songfun on 2005-5-17 at 12:01 [/i]] |
| ||
呱唧呱唧,感谢songfun转贴这篇好东西。 大部分观点都很赞同,不过也有点个人看法。 对于“做好测试需要两个条件:业务知识和工具。”,个人看法应该是业务知识和专业技术。工具的使用只是专业技术中很小的一部分。对于测试用例的设计才是关键,这才是测试人员的核心技术。 对于“务必独立出测试部门,不要让开发经理、项目经理、和SQA凌驾其上”,个人觉得关键问题在于公司是否有一种整体的质量观念。个人认为这句很容易误导人都去努力让测试部门独立。其实是否独立都是其次,是否可以开展好工作同这个也没有必然的联系。如果公司管理依旧混乱,独立或不独立有什么区别呢? 对于“测试是一个偏向于管理的技术工作。”,这恐怕是现在很多工作一两年的朋友都会有的想法。管理本身就是一项非常专业的技术,而测试工作,本身也包含了很多专业的技术。假如一定要说“测试工作偏向与管理”,那恐怕也只能是一种不正常的现状,是因为现在能够开展的测试工作的广度和深度都非常有限,而让太多人早早的失去了继续在测试技术道路上发展的机会,而显得只能偏向于管理。 个人看法,大家要尽量平心静气的讨论。 |
| ||
呵呵,jackei老弟是被骂怕了,还要强调一下“平心静气”…… 嗯,这篇文章不算是转贴的,只是我的读书笔记而已,所以写的有些草率,可能某些地方误解了贺老师的意思。 我就你的看法回几点: 1. 文中所指的“工具”,指的是广义上的工具,其实就是你说的 专业技术。 2. 独立出测试部门的本意是为了对提高质量起到促进和帮助,当然不能为了独立而独立,“两岸一中”嘛,开发和测试就是两岸,这个“中”指的就是大家的终极目标一致。出发点是一样的,独立测试部也是奔着这个目标而去的,并不是说独立了就一定怎么样。 3. 管理的范畴很大。所谓的偏向于管理指的是对于系统整体的了解和业务的熟悉,就是大局观比较好。而偏向于管理么,你可以认为仅仅只是项目管理方面——对项目的整体认识。就是说,测试工作在接触系统整体和业务方面是接近于PM的。 嘿,只是理解上的误差。。。 |
| ||
非常同意“人才是企业的生命线”的观点,songfun这篇笔记更多关注的是目标和过程,个人倒觉得如何提高每个测试人员的测试水平特别是测试计划能力和测试设计能力以及对测试的理解更应该引起企业的注意。测试水平参差不齐,势必会影响对目标的理解,测试流程很多往往就会浮于表面,测试度量也就无从谈起(过程数据不准确,度量也就失去了意义)。目标和过程可以看成从外部来给测试提供一个保障,而测试人员水平的不断提高则为测试从内部提供了一个坚实的基础,只有这两者有机结合起来测试才能真正进入良性循环,测试的作用才能真正实现最大化。 |
| ||
谢谢skinapi版主的捧场^_^ 你说的也有道理。我们只是从不同的角度来理解测试工作——我从外部,你从内部;我从整体,你从局部。 我在笔记中总结的恰恰是对应您所说的“如何提高每个测试人员的测试水平特别是测试计划能力和测试设计能力以及对测试的理解更应该引起企业的注意”——正是由于测试人员水平的参差不齐,所以我们才有必要让测试人员知道这些,这正是在帮助他们去意识到目标和过程的重要性。毕竟我们不能要求招聘测试人员的时候,让他们一进来就要达到某种水准,某个高度。正是他们对目标的理解不够明确,我们才有必要告诉他们这一切的来龙去脉,前因后果。而测试计划和测试设计能力则是在他们树立了这样的认识之后才在工作中去加强的。 先知道为什么要这么做,再让他们知道怎么做——这正是我的本意。 [quote]Originally posted by [i]skinapi[/i] at 2005-5-17 14:15: 非常同意“人才是企业的生命线”的观点,songfun这篇笔记更多关注的是目标和过程,个人倒觉得如何提高每个测试人员的测试水平特别是测试计划能力和测试设计能力以及对测试的理解更应该引起企业的注意。测试水平参 ... [/quote] |
| ||
我很同意“如何按照企业现状设计自己的测试流程? 测试只是辅助环节,必须根植于现有的开发流程。 测试过程不是越多越好,要结合实际情况。不要盲目! 务必独立出测试部门,不要让开发经理、项目经理、和SQA凌驾其上——这样才能对软件做出客观评价。 不要过分强调测试的重要性,以至于过分依赖。测试不能从根本上保证软件质量,过程控制才能从根本上改善。” 确实每个公司的情况有所不同,而且测试工作是直根于项目质量之上的,所以要实际根据每个公司的业务流情况来开展测试工作,不过往往对于小公司或企业,过程控制方面都做的不够好,这确实是该改进的地方,而且太过偏重短期的质量,未有大体和全局观念,所以才会导致现在的中国测试很多都做黑盒测试(系统测试)这块,间接地影响了外界对测试的定位,及对测试人员岗位的理解。 |
| ||
takiro: 其实 如果真的能把系统测试做好也是很好的,关键在于自身水平的限制。以及对黑盒测试方法的误解。 我所经历的感觉是绝大部分企业其实连系统测试都做的很不好。 |