载--浅谈如何通过测试知识管理来提高测试队伍能力

上一篇 / 下一篇  2009-10-26 12:08:39

物理学家牛顿说过,如果说我比别人看得更远些,那是因为我站在了巨人的肩上。这个巨人其实就是前人的知识。

  IBM前任CEO郭士纳以“大象也能跳舞”作为其畅销回忆录的主题。对于顺利驾驭IBM这个规模、组织庞大的公司成功转型并让其在全球IT市场翩然起舞,郭士纳的快意之情溢于书中。而在IBM软件部信息工程师经理陈巧明的眼中,IBM能翩然起舞的动力中,知识管理的作用不可或缺(摘自《蓝色大象翩翩舞的知识动力》)。

  测试队伍要想站在巨人之上,在公司舞台上翩翩起舞,被团队认可,笔者认为:必须有相应的知识运用和管理机制,以此来提高测试队伍能力。采用测试知识管理的方法要比传统的控制方法似乎更能从源头上解决问题。

  一、理论概述

  测试知识也是知识的范畴,所以不可不谈知识管理的过程。知识管理是协助企业组织和个人,围绕各种来源的知识内容,利用信息技术,实现知识的生产、分享、应用及创新,并在企业个人、组织、业务目标以及经济绩效等诸个方面形成知识优势和产生价值的过程。知识管理的核心是知识的共享和创新,而这二个要素就是要依靠组织与个人之间隐性与显性知识的相互转化、利用过程来实现的(摘自 《信息管理教程》张广钦编著 北京大学出版社,有兴趣的同事可以了解日本的野中郁次郎和竹内广孝提出的SECI模型)。

  上面涉及到的2个概念,需要解释一下:

  隐性知识:指内隐化、非结构化、非编码化,不是通过普通学习途径可以获取的,主要是隐藏于人的大脑中或组织内部的知识。针对测试知识来说,一些测试思路、测试经验和技巧、测试团队的精神、默契感等。

  显性知识:指外明化、结构化、编码化,可以通过学习获取的知识。针对测试知识来说,明确的测试文档规范、测试作业指导书、测试用例、测试数据、测试流程等属于显性知识的范畴。

  从知识管理的概念可以推敲出,对测试知识的管理目的其实就是测试人员之间的隐性知识、显性知识的共享和创新,在测试工作中,对测试知识分析整理给团队使用,最终保证发布软件的质量。

  二、具体措施

  上面说到了基本的知识管理过程,那么怎么通过对测试知识的管理来提升队伍能力?有一些什么具体的手段呢?

  2.1 隐性知识为主的管理措施

  对于一些难以表达的测试经验、技能怎么在测试队伍中共享和利用,尤其是刚刚入职的新人,笔者认为可以采取如下措施:

  1、测试人员入职后,根据测试人员参与的项目给新员工指定师父,这个师父可以是项目组的任何成员,一般在公司2年以上,师父早期对测试新人采用基本上手把手的教导,在教导过程中为测试人员带来第一感觉。

  举例说明:测试人员张三进入公司,参与某国土项目,安排李四当师父,则李四的表现直接影响到张三对测试队伍、整个公司的认可,如果李四对国土行业知识熟悉、和项目组配合默契、工作专心、细心、有责任心,那么这些不可见的经验(隐性知识)可以被张三吸收,实现了隐性知识的传递和张三能力的提升。

  2、测试人员入职后,尽量多的给一些测试执行、测试环境搭建、基础操作(动手)的工作。如怎么安装和配置数据库,怎么安装测试服务器的操作系统,怎么配置webgis中的web服务器。这样新人会从一些测试执行过程找到一些感觉,在测试新人的头脑中会有自己的掌握和模糊的记忆,下次碰到类似的操作工作将会依据前面的记忆(隐性知识)来完成,通过这些基础操作为逐步了解核心业务做准备。

  3、对于测试经验丰富的工程师,一些高级的事务操作,可以将过程录制下来,给测试新人学习理解。如:oracle的升级、arcsde的升级,Oracle的灾难数据备份操作。

  4、不定期的举行测试交流讨论会议,哪怕利用几分钟的时间,讨论对于一些专题测试中的技巧(如数据的入库与更新关键测试点、和开发人员交流的技巧、缺陷描述的方法),通过测试交流,形成团队的成果,以文档的形式将交流成果(隐性向显性转化)体现出来,供团队使用。

  5、测试人员不定期对自己负责的测试项目做总结,对测试过程中将脑海中一些有效的测试经验、操作技巧、思考逻辑、用户关注点、表达方式等隐性知识以文字表达出来(变为显性知识),可以通过邮件或者数慧公司内部共享平台发布出来,为其他测试人员所用(共享)。

  6、测试人员出差实施后,尤其是一个月以上的出差,要提供相应的测试实施总结报告,把实施过程中客户提出的问题和我们测试遗漏的问题进行分析总结,提交给整个测试团队利用,防止其他项目测试人员犯同样的错误。

  2.2 显性知识为主的管理措施

  显性知识是一些可见的资料文字等,和隐性知识相比,学习起来相对方便一些,利用显性知识管理来提升测试队伍能力,具体措施如下:

  1、加强个体专有测试知识向团队测试知识的融合,一个测试队伍中,可能存在各种专长的人员,有些人对于操作系统知识和数据库知识有较深入的理解,那么这些人可以将数据库相关的测试知识公布给测试团队(如:测试数据库的备份、创建、配置等)。有些人对某些业务又比较熟悉,则这些人可以将这部分业务功能的测试技巧、测试思路等编写出来(变为显性知识),公布给测试团队共享,其他人员在开展该业务的测试时就可以对这些成果复用,并且在此基础上完善改进(知识创新),测试团队的力量就发挥出来了。

  2、建立通用公共测试用例库(显性知识积累)。测试用例对于测试指导作用有多大每个测试人员都应该很清楚,拿个鼠标随便点点的“猩猩测试”时代已经过去了。软件越来越复杂、软件层次越来越多、用户也越来越聪明(被骗了N次自然聪明),而项目往往工期很紧,这时由一个接触GIS不到一二年左右的人去在短时期内设计测试用例肯定是不可行的,即使设计出来的用例没有重大遗漏或不足那就怪哉了。

  怎么办?建立通用测试用例库。例如北方数慧承接的项目大部分是建GIS库为主,即GIS数据管理系统,而这类项目基本上都有数据质检、数据格式转换、数据接边、数据入库、数据更新、图层管理、制图与符号化、查询定位模块,也就是说这类型项目有很大一部分测试的内容都是相同的。为了保证测试效率和质量,可以让对GIS建库比较了解的测试人员等人负责抽取公共测试点,形成公共的测试用例库,让其他测试人员复用。其他测试人员在测试复用的过程中,发现公共用例库不足的地方可以补充。

  抽取公共测试点过程中,先将系统分解成测试模块,然后将测试模块分解成小的测试点,将小的测试点分解成多个测试用例,然后再将测试用例辅以测试数据说明,这样可以将复杂的测试系统逐步简化。就像麦当劳、肯德基的标准化作业一样,只要把测试点、测试用例分解出来了,剩下的测试执行工作就有依据得多,软件质量自然就有一定的保证,每个汉堡都一样好吃。

  3、建立和公司涉足行业、系统、平台相关的专有测试知识集合。以北方数慧为例,公司大部分系统是基于arcgis平台的,系统大部分功能可以在arcGIS桌面产品中找到原型,有的甚至一模一样。这样,可以建立“如何用arcgis桌面产品(arcmap、arccatalog和arctoolbox)辅助测试”这样的专有测试集合,测试人员在测试系统时,可以把arcgis桌面产品当作参照测试标准,可以充分用arcgis桌面产品来辅助测试,测试人员把辅助测试的一些标准、技巧、方法编写出来(形成显性知识)给测试团队使用,测试效率肯定会有提升。

  三、期望

  上面虽然讲了那么多,但是笔者认为,要想尽快通过测试知识管理对测试队伍形成推动力还需要持续的做很多事情:

  1、测试团队要有乐于知识分享的文化氛围,把知识霸权的思想去掉,不要有什么“要留一手”的想法,又不是教武艺,把独门绝招留着。

  2、上级支持,因为测试知识管理初期很难立即产生产能。

  3、测试知识管理的制度保证、规范保证,以保证测试成果确实可以复用、测试知识的可读性、可理解性高。

  4、逐步开展、落实上面的措施。以北方数慧公司为例,目前也开展了一些措施,已经把通用的GIS测试点进行了整理;项目验收后,要求测试人员提供测试总结报告;利用下班时间组织了测试交流工作等等;在做这些工作中,大家也确实形成了一些共识,整理出一些文档,没有像原来那样瞎碰瞎撞了。如:通过对通用测试点的分析,可以知道每个通用GIS功能大致要测什么、怎么测心里清楚的多。如:通过对项目的测试总结,可以知道这次项目测试成功、失败有些什么地方?遗漏了些什么?别的测试人员可以借鉴。下一步将不断的整理、完善现有的成果,提高利用率。

  总之,任重道远!


TAG: test Test maneagement

 

评分:0

我来说两句

日历

« 2024-05-05  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

  • 访问量: 2437
  • 日志数: 11
  • 建立时间: 2008-01-30
  • 更新时间: 2009-10-26

RSS订阅

Open Toolbar