为了更好地服务于客户和规避操作风险,软件测试工作近年来越来越受到重视。尽管软件测试的作用与传统工业的产品质量检验目标一致,但软件测试理论自上世纪60年代以来,在整个IT技术中发展相对缓慢,软件测试工具尽管在管理能力、易用性方面有了很大提高,在实际应用中仍旧不能从根本上提高软件测试生产率。
在对软件测试的要求和期望越来越高,而软件测试的方法和工具没有长足发展的情况下,全面提升测试团队和测试人员的能力,就成为了进行有效测试并尽可能提高测试效率的重要基础。
一、 关于能力的浅析
测试团队的能力由个人能力和团队能力两个方面构成,两者相辅相成。为了有效提高能力,首先对个人能力和团队能力进行一些浅显的分析。
(一) 个人能力
1、个人能力的概念
中国大百科全书《心理学分册》说能力是“作为掌握和运用知识技能的条件并决定活动效率的一种个性心理特征”,通俗地说,我们可以认为个人能力是达到优异绩效所需的知识、技能和素质的组合,这里的素质包含了大百科全书所说的个性心理特征,是比较难以量化衡量的。
2、个人能力的培养现状浅析
(1)对知识的培训
对软件测试工作来说,所需专业知识可分为基础工作知识和专门工作知识两类。基础工作知识包括软件测试的基本技术和方法,软件测试的文档规范等在专业内通用的知识,一般可使用专门教材进行培训。这些培训可以由内部专家完成,也可以由外部专家完成;相对来说,也比较好客观地衡量学习的成果。
专门工作知识是在更小的范围内适用、在特定的时间适用的知识,很多知识往往是处于经验的积累阶段,且具有时效性。例如对于开发中的应用系统的认识和了解,在目前业界文档编制、评审和版本管理的状况下,一般只能通过“师傅带进门,修行在个人”的方法进行培训。在这样的情况下,如果测试人员有比较深厚的IT和业务经验,将缩短专门工作知识培训的周期,提高培训的效率。如果测试人员是新学生,则培训的难度较大。
(2)对技能的培训
技能在很多场合也被称为“动手能力”,对于软件测试来说,技能的培训也很复杂。对于原来具有业务背景和软件开发、维护背景的人员来说,在软件测试工作中,肯定会优先使用已经掌握的技能,这样能够使得测试工作比较快地上手。了解业务、了解技术实际上是对被测对象不同角度的了解,是软件测试技能的重要组成部分,只有结合了专业的软件测试技能,才能够实现全面、协调、可持续的软件测试效果。仅仅从技术和业务角度进行测试,则往往在测试的彻底性、测试的效率和回归测试等等方面难以达到银行业软件测试发展的要求。
根据目前我国IT人员和金融财会人员学历教育情况,本科生的技能与银行业软件测试的实际需要相比较薄弱,研究生在学历教育期间会有不同程度的培训,但是由于我国银行IT系统及其使用状况的复杂与庞大,学生较少有机会在类似的环境中接受相应技能的培训。
以往对技能的培训,往往与专业工作知识培训采取相同的做法,在很多情况下,专业工作知识与技能的培训是交织在一起的。实际上,很多人是通过自己的领悟了解到了工作的方法,但也形成了对于技能只能意会、不能言传的状况。
(3)对素质的培训
素质可以通过多个方面来展现,例如演绎思维、归纳思维、进取精神、人才培养意识和能力、灵活性、主动性、人际理解能力、人际影响能力、合作能力等,归根到底,就是一个人的世界观、价值观和处事哲学、基本习惯在各个方面的展现。实际上,素质对于高质量地完成软件测试工作,往往比知识和技能占据了更重要的位置。
素质的培训不是一朝一夕的事情,但是针对素质进行培训却是十分重要的事情。目前从中学开始,就开设有素质教育方面的课程,但基本属于知识传授的范畴。一个人素质的发展,与其成长环境的文化和个人经历有着很大的关系。鉴于软件测试工作往往是在不确定标准的情况下进行检验,而软件产品又有着艺术与技术结合的特点,所以,要作好软件测试工作,不论是新员工还是老员工,不论是测试的操作人员还是管理人员,都有必要不断地提升自己的素质。
(二) 团队的能力
团队能力有多种描述方法,一种通俗的说法是,团队能力是指团队所有员工的能力整合所形成的能力。团队能力的构成来自于三方面,员工能不能做;员工想不想做;以及这个团队的整体架构、流程、规划,让他们是不是容易做到。
团队能力不是个人能力的简单叠加,而是与个人能力互相影响,相辅相成。团队在知识、技能和素质导向方面的积累,会对团队能力产生巨大的影响。这种积累是必然发生的,而且是不断持续的。对这种积累的过程进行正确地引导和有计划地部署与实施,将对打造学习型组织,快速提高团队能力有着十分积极的作用。团队能力应与个人能力相互强化,即个人能力的一个方面就是对团队能力的高效应用,而团队能力的一个方面就是使得个人能力得到高效发挥。
对于银行业的软件测试团队来说,目前各行都在快速发展的初期,是团队能力正在快速地形成和升华的过程。建立优秀的企业文化,建立软件测试资产库,都将对团队能力形成发挥产生巨大的影响。
二、提高能力的几点浅见
能力的提高过程既是人才培养的过程,也是团队不断成长的过程。尽管在不专门关注的情况下,个人能力和团队能力也会不断地成长和提高,但是有可能出现弯路,也有可能出现与使命、目标不符的情况。为此,建议应该从如下几个方面注重能力的提高。
(一)各级经理人以身作则
不论软件测试团队分为几级管理架构,处于管理架构不同层面的管理人员,不仅都要高度重视能力的培训,更要以身作则,引导培训的方向。任何一级经理人不重视能力培训,都会导致能力培训不能落到实处。
能力培训要得到各级经理人的重视,首先要解决两个方面的问题,一是理念问题,破除“教会了徒弟,饿死了师傅”的陈旧观念,代之以德鲁克提出的“没有任何一个能干的下属会伤害上司”的观念,使得对能力培训的安排由被动变为主动;二是资源问题,能力培训不仅仅是理论教学,更重要的是真正的实践。在这些学习和实践过程中,既需要人力、环境、知识等资源,也更需要时间。如果各级经理人在制定工作计划时未能考虑到培训所需要的资源因素,则会形成即使有培训的意愿也难以实施的格局。
因为团队能力在其建设和发展的过程中,需要投入资源更大,且会对各级经理人的工作模式产生影响,所以更需要引起各级、尤其是高级经理人的关注。要使团队能力与个人能力能够结合产生增益效应,就要在团队能力的建设过程和个人能力的培养过程中,妥善处理好相互的关系,使得团队能力成为个人能力依托的基础,而个人能力的一个方面就是发挥团队能力。
(二)进行学习能力分析
按照德鲁克的分析,人在学习方面分为四种类型,即听、说、读、写型。这四种类型并不是绝对的,往往是四种方式兼用,但是在不同的方式下获取的信息权重和信息量不一样。例如阅读型学习的人,也可能会以倾听作为第二信息获取的手段,以写(例如学习笔记)作为第三学习手段;而比较特别的写作型,则只有在写作的过程中,才能对以前通过阅读或者倾听获得的信息产生真正的理解,进而产生了深入了解相关信息的欲望。
另一方面,每个人能够集中精力专注于某项事情的时间是不一样的,对于超过专注时间的内容,则往往表现为听不进,即走神;是否容易造成走神,与需要专注的内容、表达方式等还有很大的关系。对于知识的记忆,尽管一般来说符合艾宾浩斯曲线,但每个人也有着相当的差异。
要在个人能力培训方面获得较好的收益,应进行学习能力培训的试点。投入适当的人力资源,确定可能实现的工作目标,进行学习能力的分析指标、分析方法、工作目标、培训方法等等方面的研究和探索,并通过对知识和技能的考核来确定培训的成果。
(三)建立测试资产库
测试团队能力应具有全面、协调和可持续发展的特征,要做到这一点,建立测试资产库,逐步实现测试人员工作过程利用资产库,工作成果丰富资产库,是十分有效的一种方法。
测试资产库具有指导工作如何进行和可复用两大特点。资深员工的一项重要工作,就是对资产库的更新、维护和推广;即使需要他们进行一线测试工作,他们也应考虑到所进行的工作入库的可能性和价值。这其实也是衡量一个员工是否具有资深资格的重要方面。
很多标准化、规范化的工作,都可以与资产库的建设、维护过程结合起来进行。在资产库的建设上,以结构化的内容为主,以非结构化的内容为辅。这样,标准化的规范化的工作也易于落到实处。
建立资产库是一个复杂的、持续的、不断调整的过程,对资产库的内容来源、资产库的组织方法、资产库的实现工具、资产库可能发挥的作用和应用资产库的培训,不同的测试团队应结合自身的情况进行积极的探索。
(四)注重素质的培训
素质的决定性因素,其实是一个人的世界观和价值观。树立和改造世界观、价值观不是一件容易的事情,但是在积极的思想引导下,逐步地改变习惯却是可能的,并且会对素质的提升带来显著的影响。史蒂芬.柯维所著的《高效能人士的七个习惯》就是在这方面的一部影响十分广泛的著作。柯维讲述的“积极心态、目标明确、要事第一、双赢思维、知彼解己、统合增效、不断更新”七个习惯,既包括了对自己的高效工作、生活的习惯,也包括了妥善处理人际关系的习惯,并被中国软件评测中心列为了软件测试人员应具有的素质。对于测试的各级管理者,应加强对将科学发展观以及党的思想路线落实到工作中的学习,并应学习德鲁克等现代管理理论,针对知识工作者的特点,进行有效管理。
(五)细分测试岗位所需的个人知识与技能
根据被测对象的不同,软件测试人员所需要的知识和技能也不同。在前面的分析的基础上,应针对不同的测试对象、考虑到实际的测试流程,将测试人员分为不同的知识技能组,对测试人员所需的知识和技能进行分级分类,以便能够更好地深入了解被测对象支撑的业务和所采用的技术,确定测试人员使用资产库的最低阈值,使得个人能力和团队能力真正实现相得益彰。
====================================分割线================================
最新内容请见作者的GitHub页:http://qaseven.github.io/