对于职业我们要有梦想,不抛弃不放弃。人生才会有乐趣。

测试管理之构建测试体系

上一篇 / 下一篇  2010-11-17 09:05:34 / 个人分类:测试管理

在中小公司,如果只有一个小型的测试组,你作为测试组长就是公司内部负责测试的“最高长官”。构建一个测试体系,也就是搭建一个做测试工作的框架出来,是做测试工作开展的重要一步。
   
不同的职业有着不同的要求,如果你是一个个体职业者,例如画家,基本靠的是一己之力的创作,不需要给自己列一个工作框架出来。软件测试是一个群体性的工作,自身有一个测试团队,也要和其他很多项目的干系人打交道,这就需要明确具体的工作流程该怎么走,测试团队怎么建设,如何运作;使用哪些模板;使用什么样的缺陷管理工具等。这些都是管理测试团队的基石。鉴于以往的测试经验做出以下总结:

(一) 首先要做的是明确测试流程。

明确测试流程的目的是让测试团队所有的人员都知道大家都是向着一个方向去努力,为了实现项目的目标而进行的一种共性活动,而非个体行为。测试流程是测试工作执行的指南针,只有严格遵守测试流程的规范才能够使我们的测试工作不会偏离我们的项目进度和计划。一个好的测试流程关系到一个测试团队的运作状况和效率。所以在建立测试流程的时候我们要坚持一系列的原则:

Ø 软件测试要尽早介入到软件研发工作中。

通过以下几个方面来实现软件测试尽早的接入到研发工作中。

a)         尽早建立测试组给测试组内的员工磨合的时间。形成团队效应。

b)        测试工程师要尽早的参与到项目过程的前端,要参与需求分析,需求评审,概要设计和详细设计等。

c)         各类研发文档要尽早的提交给测试组,让测试组对需求和设计有全面深入的了解。

d)        开发组要尽早的提供可运行的软件产品,以便能够尽早的发现该产品的缺陷。

e)         尽早明确软件测试的各个阶段的主要目标,以保证项目测试的整体目标不偏离。

Ø 研发计划中要给测试流出足够的时间和资源。

人员,软/硬件测试环境和测试时间是保证软件测试质量的三要素,缺少其中一个软件测试都是无米之炊。所以从测试执行前端来看测试如果想达到预期的目标首先要保证其三要素。

a)         测试工程师应当要配备,如果没有专职的测试工程师,所有的活总不能测组长全包了。双手不敌四拳的道理我们想大家都懂。一个人的技术再强总不能把两个人的活全干了。

b)        测试团队要配备充分,在数量上配比合理、技术能力要能够满足、同时人员要足够稳定。

c)         在软/硬件环境上,机器可以旧一点,配置可以低一点但是一定要专用。

d)        在测试时间上,一是要在研发计划中明确测试的时间段,二是要在现实中去执行。开发占据测试的时间屡见不鲜,作为测试组长要注意。测试组长要正式将问题上报领导,明确开发时间延迟,而不是测试时间延迟。必要时申请延迟测试的时间。测试组长要提防这种吃哑巴亏的情况,这不是推卸责任,而是一种实事求是的工作态度。

Ø 软件测试小组要编写正式的测试计划,测试方案和测试用例,并做好评审工作。

a)         测试计划是一个测试项目开展的规划性文件,测试组长在软件需求通过评审以后就应当编写完测试计划,不能拖否则会对其他的工作造成延误。同时测试计划编写完成以后应当正式组织测试小组会议,将测试计划拿出来进行评审,评审的目的是检查测试计划制定的合理性,同时还可以让测试组内的员工认识到什么样的时间节点该做什么样的工作?这样测试组的行动就有了明确的方向。

b)        测试用例就是测试工程师进行战斗的子弹,测试的效果主要取决于测试用例的设计质量。测试用例的设计应当遵循对需求进行100%的覆盖,对代码实现100%覆盖以此保证测试用例设计的完备性。同时测试用例设计的时候还应当注重如何提高测试用例的规范性和测试用例的命中率。以保证测试用例的高效性。

c)         评审是提高软件测试计划,测试方案设计,测试用例设计质量的非常有效的方法。在测试过程中要坚持做,并通过各种方式来提高评审的有效性。评审可以实行结对评审和交叉评审。

Ø 管理好测试环境。

测试环境是测试执行工作的前提,一个干净稳定的测试环境可以使得我们在测试执行过程中的工作更顺利,如果一旦测试环境不干净或者不稳定将使得我们的项目的测试进度和质量上都大打折扣,俗话说磨刀不误砍柴工,所以作为测试组长我们要管理好我们的测试环境。

a)         特定的软件总是在一定的环境中的,测试也只需要在这些环境中执行。

b)        测试只是在符合要求的测试环境中进行,不是在指定的测试环境中做测试不能统计到预期的测试结果

c)         测试环境应当是干净的,不存在二义性,不应该在分析bug的时候出现无法排除的环境问题。如果出现因为环境问题无法确认是不是软件bug的时候,这就是在浪费测试人员的时间和精力。

d)        每一轮启动测试,测试环境都应该是干净的。每一轮测试的时候不应当继续使用上一轮测试的环境,这个是有风险的。我们并不知道经过一轮测试以后测试环境有什么变化。所以测试环境在管理的时候一定要保持测试环境是干净的,最好专人定期维护。

Ø 明确bug管理流程和原则

bug是测试团队的资产,bug的数量和有效性直接关系到每个测试工程师的工作效率和成果,是测试成果的体现。测试过程中时常因为开发人员或者测试人员不遵守测试流程使我们漏过一些重要的bug,为了避免此类的风险所以我们必须建立明确的bug管理流程。

a)         要有一个bug管理系统

b)        提交正确,描述清晰易懂的bug是测试人员的责任。

c)         所有人都可以提交bug。不管是测试人员还是开发人员,甚至是市场人员,高级管理人员,只要他们发现了bug,就可以在缺陷管理系统中尽享提交。

d)        只有测试人员才可以管理bug。例如一个bug在关闭前,需要进行仔细的验证,验证通过后才可以进行关闭。特别是开发人员不可以随意关闭bug

e)         开发人员和测试人员针对某个问题存在不同理解的而又无法说服对方的时候,应当有一个小组来做评判。

f)         任何人都不能随意删除一个任意状态的bug

g)        每一位测试工程师应当定期及时阅读所有的bug

h)        测试工程师关闭问题时候需要进行必要的审核,可以由另外一个测试工程师或者测试组长进行审核。

i)          测试小组定期开bug Review会议,针对bug的情况进行分析。可以依据分布情况,等级情况,当前状态等情况进行分析。

j)          Bug报告单要符合描述的全面,清晰明了,简单易懂等特性。需要重现步骤的时候要详细描述,需要依赖其他现象或者数据作为支撑的时候应当提供必要的数据。

(二) 组建测试团队

组建测试团队对于项目的研发工作来说是非常重要的一环节,可能由于成本,人才市场以及时间等因素的影响,我们可能没有定夺的权利,但仍然有权参与到招聘过程。对于新人招聘我觉得可以概括为“不求最好,但求合适“。

Ø 面试的准备工作

a)         招聘新人就是招聘合作伙伴,要谨慎。我们要招聘的是我们的合作者,而不是对手。大部分从事测试工作的同事都会有这样的心理,不将面试者问倒不能够体现出自己的能力,这样的观点是错的。你并没有将面试者看作自己的朋友。

b)        不求最好,但求合适。

c)         面试者的态度很重要,在面试的时候要注意观察这方面。

d)        保留笔试和面试两个过程。

e)         面试前要对面试者的技术状况,工作经验等有个大概的了解。

f)         无论出现什么样的情况都要保持温和的态度。

g)        要公平,不能只看缺点不看优点。

h)        尽量不要一个人单独面试,这样在作决策的时候可以参考多种意见。

Ø 筛选简历

a)         在进行招聘的时候要建立自己的招聘标准。

b)        在非必要的情况下,不要以性别作为招聘的一个筛选条件。

c)         要给招聘标准以外的人员进行尝试的机会。

Ø 笔试

a)         基础知识方面包括:操作系统,软件工程,计算机基础,数据库,网络等知识

b)        测试基础知识包括:软件测试基本概念,测试计划的编写,测试方案的编写,测试用力的编写,测试思维能力的考察等。主要是人的思维是否清晰,组织能力如何?

c)         开发方面:主要是考察是否具备一定的编程能力。

d)        外语方面:要具备基本的读写能力。

Ø 面试

a)         了解每个面试人的情况,并针对性的设计几个题目进行考察。

b)        面试时候要正式,因为你代表的是公司。注意细节。

c)         面试过程中要做好笔录。

d)        面试可以从常规问题开始问,逐步深入。同时也可以缓解面试时气氛。

e)         要准备一些可以让面试者深入思考的问题。

f)         面试过程中也可以出技术题,目的是考察面试者的测试思想和组织能力。

g)        面试结束以后对照一下面试前准备好的面试题,看看是否都问到了。

h)        面试结束的时候,可以给候选人发问的机会。

i)          不管面试过程中出现了什么情况,面试官都要保持温和的态度。

j)          面试结束后面试官之间要进行沟通,以取得一致性的意见。

Ø 录用

          录用一个员工的时候公司往往都会对员工有个综合的评价,评价主要是从哪些方面着手呢?

a)         有责任感。

b)        工作态度积极。

c)         基本功扎实。

d)        发散思维能力。

e)         喜欢测试工作。

f)         工作的特点和风格与我们的现有团队情况相近。

g)        把职业素养放在第一位。

h)        选择几个备选,同时要对试用阶段保留再次考核的权利。

Ø 新员工的培训

a)         再次对新员工的加入表示欢迎。

b)        介绍公司的情况,包括公司的概况,公司的发展战略和方向,公司文化以及公司的组织架构等。

c)         介绍本部门的情况,介绍各个小组和他们的项目

d)        介绍本小组的情况。包括项目状况,人员情况。加快新人融合团队的速度。

e)         介绍测试流程。

f)         介绍日常的工作要求。

g)        介绍考核方面的情况。

h)        熟悉公司的制度。

i)          带新员工去熟悉公司,去见各位领导和组内的同事。

Ø 导师制

a)         选择一位有经验职业素养比较高,经验比较丰富的老员工,指派他做导师。

b)        一个新员工融入

TAG:

w阿思的个人空间 引用 删除 w阿思   /   2012-02-02 20:56:44
5
祖历禾 引用 删除 祖历禾   /   2011-11-21 16:55:56
5
leilei10086的个人空间 引用 删除 leilei10086   /   2010-11-17 11:06:54
5
 

评分:0

我来说两句

Open Toolbar