当我从前任测试同事手中接过“薄薄两页纸”的测试文档时,我难以置信的看着他问“没有了吗?只有这些?”。同事尴尬的点点头,又再说了一句让我吐血的话“测试计划和记录文档都在我心里记得清清楚楚呢”。这完全是对测试文档的误解,这也是许多软件测试技术人员的通病。
项目测试文档是用来记录、描述、展示测试过程中一系列测试信息的处理过程,通过书面或图示的形式对项目测试活动过程或结果进行描述、定义及报告。例如,分阶段测试计划文档,测试流程文档,测试数据文档,测试参数设置文档和测试指南文档等。这些文档将会伴随着软件测试的各个阶段逐渐充实、完善,同时也记载了整个测试的过程和成果。
作为测试技术人员,在测试过程中应将各种标准测试文档提交给项目组,以确保软件测试项目的质量。也就是说,测试技术人员的工作绩效与文档的高质量提交息息相关,它描述项目测试过程的每一个细节。因此,从某种程度上讲,测试管理的核心其实就是测试文档管理。
(1)测试文档有助于项目测试水平的提高
从内容上说,项目测试文档大致可以分为测试成果文档和测试过程文档两大类。测试成果文档作为项目可交付物的一个组成部分,其重要性自然不言而喻。测试过程文档主要记录了项目测试过程中的各种信息,为测试人员提供决策依据,以保证项目的顺利实现。另一方面,测试过程文档也是测试过程最为宝贵的资产,通过对过程文档进行归纳和分析,可以对测试项目的成功经验和失败教训了然于胸,从而使后续的测试运作更加有的放矢。
(2)测试文档驱动着测试过程
测试项目的阶段性成果是以测试文档形式体现的,因此,“测试项目的运作在一定程度上是由测试文档驱动的”这句话是有道理的。从测试文档的角度来看,项目测试过程就是一个文档制作与执行的过程。在项目测试的过程中,每项工作的事前计划、事中测试记录、事后分析结果都要形成相应的测试文档,文档包括与项目相关的资源及其使用情况。
因此,测试文档是软件项目的一部分,没有正式的测试文档的活动,就不是规范的测试。测试文档的编制和管理在项目测试中占有突出的地位和相当大的工作量,高质量地编制、变更、修正、管理和维护文档,对于提高项目测试的质量和客户满意度有着重要的现实意义。
“文档”不误“测试”功
与本项目前任负责同事一样,很多人对测试文档的作用存在非常多的误解,认为测试的事情本来就多,有数不过来得Bug要急着测试和处理,根本没有时间写文档。有了这样的想法,就开始忽略文档,认为写测试文档太累,能用嘴说的就不用手写,能简单写的就绝不详细写。当需要汇报的时候,好吧,我讲给你听,动嘴肯定简单多了。
实际上,测试文档是一种工具,古语云“磨刀不误砍柴功”,我们则说“文档”不误“测试”功。一个项目测试是否高质量完成,一般可以从两个方面进行评价:①能否提供高质量的测试活动和结果。②能否提供有效的测试文档。而对于后者,高质量的测试文档正常体现前者是否高质量完成的证明。
(1)提高项目测试过程的能见度。标准规范、齐全的文档会详细记录测试过程中发生的事件,便于测试人员掌握测试进度、测试质量以及各种资源的调配。同时,文档有助于测试人员与开发人员明确了解各自的职责,信息互通,共同把握测试和开发的节奏。
(2)文档化能规范测试问题的反馈,提高测试效率。测试人员用一定时间编制、整理测试文档,可以使测试人员对各个阶段的工作都进行周密思考和理顺、找出存在的问题,从而减少差错,提高项目测试质量。例如,测试过程中肯定会遇到各种各样的问题,诸如软件问题或测试设置等需要向开发组反馈来寻求解决,通过对文档的检查,在项目测试早期发现文档错误和不一致,加以及时纠正,可以减少深入项目而导致的大问题的出现和为纠正失误而付出的更大的成本。
这类问题又分两种情况:①是重要的反馈迟迟得不到解决和回复,当文档化做得好时,在出现问题的时候,打开文档可以一目了然,责任没法推卸。卡耐基曾说过,通常人是不会或者没有人愿意承认自己是错的,即使承认,也并不是100%地这么认为。我们在测试过程中就要避免这样的问题发生。②是有些问题在不同部门和不同的阶段频繁出现。简单而又琐碎的重复问题会让测试人员疲于奔命,效率低下。这时,一个文档化的FAQ问题集对项目测试就显得意义重大。
(3)便于团队成员之间的交流与合作。描述清楚、完备的测试文档便于项目组领导了解测试过程中的各项指标,为开发团队与测试团队之间架起的一座桥梁。文档是一种无声的语言,它记录了项目测试过程中有关测试配置、测试运行、测试结果等方面的信息,有利于项目管理人员、测试人员之间的交流和合作。
另一方面,测试文档的重要性还表现在对于项目“传承”的重要性,有了好的文档,那么当项目有新成员进入,测试文档就可以承担起指导新成员快速工作的作用,而不是单单询问原来的成员,节省了大家的时间。还有,当测试完成后,测试文档就将成为项目测试的文字载体,在后续人员培训方面提供详尽的素材。
信息发布:广州名易软件有限公司 http://www.myidp.net