软件测试管理常见问题及其回答
上一篇 / 下一篇 2006-08-03 14:07:55 / 个人分类:转贴好文
查看( 27377 ) /
评论( 267 )
软件测试管理常见问题及其回答
M9x:^${H0 51Testing软件测试网L-Ool8I'L\~z-m9H
1、测试负责人要进行严格的测试进度跟踪吗?
aCPE4AY0 很多时候,由于人力资源的不足,测试项目负责人都是在执行测试,这样就使整个项目缺乏控制,一些问题(例如:有些成员的缺陷质量不够合格;开发人员修改不及时,系统某些功能发生严重问题导致部分功能无法测试。)得不到解决,耽误了进度。所以测试负责任必须全程监控项目,尽可能多的掌握信息。通常,测试负责人需要完成下面这些内容的管理工作:
w7m$B]"{rX_0 测试用例执行情况;
qr ? {W9}!cM0 每个测试员提交的缺陷情况;
+p.~s*r(MU8J7^s$l:u0 测试中是否发生突发问题。
G$M6E]iRN0 51Testing软件测试网3KK5W1pUwj$O*~m
)AU+LUR*H0 2、 测试也有版本控制吗?51Testing软件测试网 L$gZfOq"E_;cp
这里的版本主要是指测试对象的版本控制,也就是指对开发部提交的产品进行版本控制。在开发小组版本管理不规范的情况下,测试小组进行版本控制十分重要,要保证测试对象是可以控制的。建议开发和测试双方进行明确的约定,可以各自指定专门的测试版本负责人,制定提交原则,对提交情况进行详细的记录,这样基本避免了版本失控导致的测试失误或无效。
9C-d\RT;[ E-z0 51Testing软件测试网$iJ @5oo/X
1I)tO9} N:}V iwX5[0 3、如何处理测试人员的流动问题?51Testing软件测试网%I6t&F%rE VTd
人员流动不仅仅是测试部门,这是IT行业的普遍现象。从管理者角度,主管需要多多和团队内成员进行沟通,建立一个融洽的团队环境,及时掌握情况,可以早些进行相应的调整。但是只有企业建立好的用人制度,给员工提高广阔的发展空间和好的培训学习机会,才能从根本上解决这一问题。
a)P0cuBPl v0 加强项目管理,强化文档管理并保证文档的有效性,可以大大减少由于人员流失带来的损失。同时,测试部门要建立培训机制,使新到员工接受直接或者间接的培训,快速适应工作。
K2jW Vz,h5n#{f0
#`XgMWimS%e0 51Testing软件测试网2_+e s||h.|9}
4、为什么开发人员经常抱怨测试工程师提交的缺陷质量太差?51Testing软件测试网'|P$N.oDx F}Y`}
我们经常听开发人员说:“这不是缺陷!”,“这个缺陷没有,因为我的系统上运行正常!”。测试工程师本身就是做质量工作的,提交的成果本身就应该质量高些,为什么还会有这种现象?51Testing软件测试网 UOJ3e%B1ve?
提交的缺陷引起争议是一种正常的现象,例如测试人员描述不清楚就会引起争议。减少甚至避免这种现象的方法是交叉测试,交叉测试是提高测试质量的一个有效手段,当然交叉测试会增加一定的测试成本投入。在测试任务完成后,测试工程师之间互相验证彼此提交的缺陷,就会避免了缺陷描述不清、因运行环境而产生的缺陷等一系列问题,从而大大降低了回归测试以及交流的成本,因而这种投入也是值得的,实际开发人员在单元测试阶段也会进行交叉测试,来提高开发质量。51Testing软件测试网A2Z;B6dX3b^Yv9~
另外,测试人员一定要按照规范描述测试中发现的缺陷,一个缺陷至少描述清楚概要描述、详细描述、重现步骤三方面的内容,缺陷管理参考第八章的内容。51Testing软件测试网T w)p/G HJ1cA
51Testing软件测试网a6g%eL A0U0|,y(\,{
6g4b.G0O:@"x%}8jfL0 5、“让那些新手来做测试,反正他们也不会什么”正确吗?
/vc @-\8F5Kx]^J~0 在实际项目开发中,我们常常看到有些单位忽视测试团队存在的意义,当要实施测试时,往往临时找几个程序员充当测试人员。也有些单位尽管认识到了组建测试团队的重要性,但在具体落实的时候往往安排一些毫无开发经验的行业新手去做测试工作,这常常导致测试效率低下,测试人员对测试工作索然无味。51Testing软件测试网M"lo3F^Dr3z
根据笔者的经验,测试团队应首先聘请一名资深的测试领域专家,他应具有极为丰富的同类项目软件测试经验,对软件开发过程中常见的缺陷或错误了然于胸;此外,他还具有较好的亲和力和人格魅力。其次,项目测试团队还具有很多具备一技之长的成员,如对某些自动化测试工具运用娴熟或能轻而易举地编写自动化测试脚本等。
8Y*Y-O3O2pru'W0 另外,测试团队还应聘请一些兼职成员,如验证测试实施过程中,同行评审是最常使用的一种形式,这些同行专家就属于兼职测试团队成员的范畴。至于测试团队里里的测试新手,这部分人可以安排去从事交付验证或黑盒测试之类的
`|Prl"UArP!n/{Y0 51Testing软件测试网7@'l G-j-hHINs-B
51Testing软件测试网7TN:rs3RO d
6、测试同化现象是什么?
2dN;oF/}0 同化现象是指随着时间的推移,开发人员会逐渐影响测试人员的思维和对缺陷的判断能力,尤其是针对同一产品,同一组开发人员和同一组测试人员共同配合了很长时间,很多本来是缺陷的问题,由于测试人员对软件“习惯成自然”的使用,会不被当成缺陷,尤其是在开发人员的解释和说服下。同化现象发生可能意味着“恶性循环”的开始:测试人员会帮着开发人员解释一个个缺陷的合理性,一轮有一轮的测试都不会发现问题。
#h6_;c,^ Cm0 招聘新的人员,不同的测试项目组轮换去测试不同的产品,就可以避免。同时建议产品可以发布测试版,更多的人对其进行测试,就可以发现更多的问题。51Testing软件测试网3@'Ex"B4nFetv7n(F
EGDIt"yZV0
*k;Z}t$Z5p6V0 7、测试工程师如何避免定位效应?
(JhFd-\3[#m0 社会心理学家曾作过一个试验:在召集会议时先让人们自由选择位子,之后到室外休息片刻再进入室内入座,如此五至六次,发现大多数人都选择他们第一次坐过的位子。这种现象称为定位效应,说明人们习惯上凡是自己认定的,人们大都不想轻易改变它。
,m9r"|3A+K)GT`/kV0 定位效应在开发人员和测试人员身上都有体现。例如开发工程师针对某一自己写的功能,经常进行代码移植,这种复制的“功能”,由于上一次经过调试,在新的地方往往不会认真调试,这些代码往往会带来共享变量冲突等许多种类型的缺陷。51Testing软件测试网C\ Cu)~7]w l
定位效应体现在测试人员身上就是测试过的功能不再进行认真测试:在回归测试时,之前由于进行过认真的测试,往往会认为某些功能是可靠,只要验证一些以前发现的缺陷是否修改完成就可以了。这种现象在反复多次回归时表现的更加突出,因为回归测试中很多功能都会进行多次反复测试。众所周知,开发人员在修改缺陷时往往会引入新的缺陷,测试人员的疏于防范就会把这些缺陷带到用户这里。51Testing软件测试网T^Ozb(z0NJ+^,`x
解决这种问题的方案一般有两个:51Testing软件测试网1_Ya:rtw*rj5PS
(1)完整的执行测试用例:这种方法投入较大,但是在开发产品时最好在最后一次回归测试时测试的执行一次全部的测试用例。
Li[%b5\E2up5G.y0 (2)交叉测试:测试人员交叉测试,就可以很大程度的避免定位效应。测试工程师在回归测试时互相交换任务,反复测试某一功能的机会大大减少,从而也就不会“主观的”人员某些功能没有缺陷。51Testing软件测试网k.rjj/_*l
通常上面的两个方法都是结合使用的,既要进行交叉测试,又要全面执行测试用例,测试覆盖面要尽可能的广泛。51Testing软件测试网5md.g ]F
51Testing软件测试网u+Kklsy
$N8[.VFi+a\d6R6Rp0 8、测试人员忽然辞职怎么办?51Testing软件测试网"W Ns#B9u
目前IT行业人员流动较大已经成为一种不争的事实,员工的辞职大多数都会给组织带来一定的影响,而这种影响基本是不可能避免的。在测试领域,员工忽然辞职也会带来很大的负面影响,尤其测试队伍规模较小时。面对这种情况,我们所能做的,就是如何最大限度的降低这种影响。
"CK w*C;d$o0 根据作者的经验,主要有两种方法:第一种是在测试人员内部建立一个良好的学习环境,大家互相学习,这样某些特有技术不会被某一个人所掌握,而互相学习和提高自身,也是大多数成员愿意做的;第二种就是在组织中进行知识管理,把技术作为知识沉淀下来,这样新的员工在接手工作时容易上手,通过学习快速适应环境。
K\4Kjc&?DaXM0 此外,日常还要注意工作规范化,例如形成尽可能多的文档,都可以降低员工离职带来的损失。51Testing软件测试网-`6@_1H+pM/~7d"BR
51Testing软件测试网-f5Mfa$c(V
P^$L"g4Y7A5P#n U ZGX!D0 9、测试人员工作发生问题测试经理应该如何做?
b{@t/VT0 测试人员工作发生问题是测试经理经常要面对的问题,作为测试部门的领导,首先要做的是指出测试人员所犯的错误,使其尽快改正错误。51Testing软件测试网?/p\.ce;bV ^,fE
唯一不能做的就是盯着下属的错误不放。总盯着下属的失误,是一个领导者的最大失误。英国行为学家波特说:当遭受许多批评时,下级往往只记住开头的一些,其余就不听了,因为他们忙于思索论据来反驳开头的批评。身为测试经理要根据测试人员的心理来进行指导,最大限度的调动每个人员的积极性来参加工作。
W U'Oq-tx^8KR0
PobIE\(@0 51Testing软件测试网:ia l!H~h
10、不深入到具体测试工作时,测试经理如何考核员工?
)C#\$Ft^&E2?0 这种现象在测试规模较大的组织中很常见。测试经理应该尽可能的安排每周与每个成员在不被打扰的环境下进行谈话,这样可以尽早发现和解决很多问题。
e,Z B"r%BY}0 最为一个测试经理,主要工作之一就是定期的评定组织做了些什么并且是怎样做的。同时还要为员工做一个报告——关于充分了解测试人员正在做什么和怎样做的报告,以此来给测试人员做做工作成绩考核。这份报告要了解到每个人的动态。
@DL O-w~o0 测试经理和每个员工重点是谈谈目前的工作,例如大家在工作中的问题或意见;是否需要帮助等。许多管理者经常抱怨没有时间在一周会见每一个员工来谈他们的工作。但是根据作者的经验,如果不能安排时间和员工进行每周的谈话,员工会来打扰测试经理的工作,因为员工很多问题还要要来找测试经理商议。51Testing软件测试网,j Q d#LC'YOs
同时对待员工要用他们能接受的方式,而不是我们自己可以接受的方式。“己之不予,勿施于人”,这条黄金法则可能会对许多生活中的纯粹的社交因素有效,但是并不是总对工作有用。有效率的管理者知道应该逐渐了解每一个员工需要怎样的对待方式。51Testing软件测试网o/D?1l#[5^SW0F(]
总之,只有尽可能多的和员工接触,才能更精确的进行考核。
$o1G-b;zoqh0
Q:X]3d$Z KE\0 51Testing软件测试网I'\b#x)ga+d
11、测试经理如何面对加班问题?
agJM6@0 大多数情况下,作者是不主张加班的。当员工每周工作超过40个小时的时候,他们开始在工作的时候关心自己的事。他们花钱,会给很久没有联系的人打电话,因为员工们一直都在工作。员工不能在太疲劳的状态下完成工作,这是因为他们在工作时不能关心自己,这种情况下通常效率很低。
@_s,j|;h9G.P$o0 测试管理工作的重要任务之一就是要创造一个环境,让员工在工作时间内完成工作,同时还要鼓励他们每周不要超过40小时,甚至可以基于他们在40个小时能够完成的工作量给他们酬劳。通常情况下这样做能够提升创造力,从而会逐渐提高效率。
M9x:^${H0 51Testing软件测试网L-Ool8I'L\~z-m9H
1、测试负责人要进行严格的测试进度跟踪吗?
aCPE4AY0 很多时候,由于人力资源的不足,测试项目负责人都是在执行测试,这样就使整个项目缺乏控制,一些问题(例如:有些成员的缺陷质量不够合格;开发人员修改不及时,系统某些功能发生严重问题导致部分功能无法测试。)得不到解决,耽误了进度。所以测试负责任必须全程监控项目,尽可能多的掌握信息。通常,测试负责人需要完成下面这些内容的管理工作:
w7m$B]"{rX_0 测试用例执行情况;
qr ? {W9}!cM0 每个测试员提交的缺陷情况;
+p.~s*r(MU8J7^s$l:u0 测试中是否发生突发问题。
G$M6E]iRN0 51Testing软件测试网3KK5W1pUwj$O*~m
)AU+LUR*H0 2、 测试也有版本控制吗?51Testing软件测试网 L$gZfOq"E_;cp
这里的版本主要是指测试对象的版本控制,也就是指对开发部提交的产品进行版本控制。在开发小组版本管理不规范的情况下,测试小组进行版本控制十分重要,要保证测试对象是可以控制的。建议开发和测试双方进行明确的约定,可以各自指定专门的测试版本负责人,制定提交原则,对提交情况进行详细的记录,这样基本避免了版本失控导致的测试失误或无效。
9C-d\RT;[ E-z0 51Testing软件测试网$iJ @5oo/X
1I)tO9} N:}V iwX5[0 3、如何处理测试人员的流动问题?51Testing软件测试网%I6t&F%rE VTd
人员流动不仅仅是测试部门,这是IT行业的普遍现象。从管理者角度,主管需要多多和团队内成员进行沟通,建立一个融洽的团队环境,及时掌握情况,可以早些进行相应的调整。但是只有企业建立好的用人制度,给员工提高广阔的发展空间和好的培训学习机会,才能从根本上解决这一问题。
a)P0cuBPl v0 加强项目管理,强化文档管理并保证文档的有效性,可以大大减少由于人员流失带来的损失。同时,测试部门要建立培训机制,使新到员工接受直接或者间接的培训,快速适应工作。
K2jW Vz,h5n#{f0
#`XgMWimS%e0 51Testing软件测试网2_+e s||h.|9}
4、为什么开发人员经常抱怨测试工程师提交的缺陷质量太差?51Testing软件测试网'|P$N.oDx F}Y`}
我们经常听开发人员说:“这不是缺陷!”,“这个缺陷没有,因为我的系统上运行正常!”。测试工程师本身就是做质量工作的,提交的成果本身就应该质量高些,为什么还会有这种现象?51Testing软件测试网 UOJ3e%B1ve?
提交的缺陷引起争议是一种正常的现象,例如测试人员描述不清楚就会引起争议。减少甚至避免这种现象的方法是交叉测试,交叉测试是提高测试质量的一个有效手段,当然交叉测试会增加一定的测试成本投入。在测试任务完成后,测试工程师之间互相验证彼此提交的缺陷,就会避免了缺陷描述不清、因运行环境而产生的缺陷等一系列问题,从而大大降低了回归测试以及交流的成本,因而这种投入也是值得的,实际开发人员在单元测试阶段也会进行交叉测试,来提高开发质量。51Testing软件测试网A2Z;B6dX3b^Yv9~
另外,测试人员一定要按照规范描述测试中发现的缺陷,一个缺陷至少描述清楚概要描述、详细描述、重现步骤三方面的内容,缺陷管理参考第八章的内容。51Testing软件测试网T w)p/G HJ1cA
51Testing软件测试网a6g%eL A0U0|,y(\,{
6g4b.G0O:@"x%}8jfL0 5、“让那些新手来做测试,反正他们也不会什么”正确吗?
/vc @-\8F5Kx]^J~0 在实际项目开发中,我们常常看到有些单位忽视测试团队存在的意义,当要实施测试时,往往临时找几个程序员充当测试人员。也有些单位尽管认识到了组建测试团队的重要性,但在具体落实的时候往往安排一些毫无开发经验的行业新手去做测试工作,这常常导致测试效率低下,测试人员对测试工作索然无味。51Testing软件测试网M"lo3F^Dr3z
根据笔者的经验,测试团队应首先聘请一名资深的测试领域专家,他应具有极为丰富的同类项目软件测试经验,对软件开发过程中常见的缺陷或错误了然于胸;此外,他还具有较好的亲和力和人格魅力。其次,项目测试团队还具有很多具备一技之长的成员,如对某些自动化测试工具运用娴熟或能轻而易举地编写自动化测试脚本等。
8Y*Y-O3O2pru'W0 另外,测试团队还应聘请一些兼职成员,如验证测试实施过程中,同行评审是最常使用的一种形式,这些同行专家就属于兼职测试团队成员的范畴。至于测试团队里里的测试新手,这部分人可以安排去从事交付验证或黑盒测试之类的
`|Prl"UArP!n/{Y0 51Testing软件测试网7@'l G-j-hHINs-B
51Testing软件测试网7TN:rs3RO d
6、测试同化现象是什么?
2dN;oF/}0 同化现象是指随着时间的推移,开发人员会逐渐影响测试人员的思维和对缺陷的判断能力,尤其是针对同一产品,同一组开发人员和同一组测试人员共同配合了很长时间,很多本来是缺陷的问题,由于测试人员对软件“习惯成自然”的使用,会不被当成缺陷,尤其是在开发人员的解释和说服下。同化现象发生可能意味着“恶性循环”的开始:测试人员会帮着开发人员解释一个个缺陷的合理性,一轮有一轮的测试都不会发现问题。
#h6_;c,^ Cm0 招聘新的人员,不同的测试项目组轮换去测试不同的产品,就可以避免。同时建议产品可以发布测试版,更多的人对其进行测试,就可以发现更多的问题。51Testing软件测试网3@'Ex"B4nFetv7n(F
EGDIt"yZV0
*k;Z}t$Z5p6V0 7、测试工程师如何避免定位效应?
(JhFd-\3[#m0 社会心理学家曾作过一个试验:在召集会议时先让人们自由选择位子,之后到室外休息片刻再进入室内入座,如此五至六次,发现大多数人都选择他们第一次坐过的位子。这种现象称为定位效应,说明人们习惯上凡是自己认定的,人们大都不想轻易改变它。
,m9r"|3A+K)GT`/kV0 定位效应在开发人员和测试人员身上都有体现。例如开发工程师针对某一自己写的功能,经常进行代码移植,这种复制的“功能”,由于上一次经过调试,在新的地方往往不会认真调试,这些代码往往会带来共享变量冲突等许多种类型的缺陷。51Testing软件测试网C\ Cu)~7]w l
定位效应体现在测试人员身上就是测试过的功能不再进行认真测试:在回归测试时,之前由于进行过认真的测试,往往会认为某些功能是可靠,只要验证一些以前发现的缺陷是否修改完成就可以了。这种现象在反复多次回归时表现的更加突出,因为回归测试中很多功能都会进行多次反复测试。众所周知,开发人员在修改缺陷时往往会引入新的缺陷,测试人员的疏于防范就会把这些缺陷带到用户这里。51Testing软件测试网T^Ozb(z0NJ+^,`x
解决这种问题的方案一般有两个:51Testing软件测试网1_Ya:rtw*rj5PS
(1)完整的执行测试用例:这种方法投入较大,但是在开发产品时最好在最后一次回归测试时测试的执行一次全部的测试用例。
Li[%b5\E2up5G.y0 (2)交叉测试:测试人员交叉测试,就可以很大程度的避免定位效应。测试工程师在回归测试时互相交换任务,反复测试某一功能的机会大大减少,从而也就不会“主观的”人员某些功能没有缺陷。51Testing软件测试网k.rjj/_*l
通常上面的两个方法都是结合使用的,既要进行交叉测试,又要全面执行测试用例,测试覆盖面要尽可能的广泛。51Testing软件测试网5md.g ]F
51Testing软件测试网u+Kklsy
$N8[.VFi+a\d6R6Rp0 8、测试人员忽然辞职怎么办?51Testing软件测试网"W Ns#B9u
目前IT行业人员流动较大已经成为一种不争的事实,员工的辞职大多数都会给组织带来一定的影响,而这种影响基本是不可能避免的。在测试领域,员工忽然辞职也会带来很大的负面影响,尤其测试队伍规模较小时。面对这种情况,我们所能做的,就是如何最大限度的降低这种影响。
"CK w*C;d$o0 根据作者的经验,主要有两种方法:第一种是在测试人员内部建立一个良好的学习环境,大家互相学习,这样某些特有技术不会被某一个人所掌握,而互相学习和提高自身,也是大多数成员愿意做的;第二种就是在组织中进行知识管理,把技术作为知识沉淀下来,这样新的员工在接手工作时容易上手,通过学习快速适应环境。
K\4Kjc&?DaXM0 此外,日常还要注意工作规范化,例如形成尽可能多的文档,都可以降低员工离职带来的损失。51Testing软件测试网-`6@_1H+pM/~7d"BR
51Testing软件测试网-f5Mfa$c(V
P^$L"g4Y7A5P#n U ZGX!D0 9、测试人员工作发生问题测试经理应该如何做?
b{@t/VT0 测试人员工作发生问题是测试经理经常要面对的问题,作为测试部门的领导,首先要做的是指出测试人员所犯的错误,使其尽快改正错误。51Testing软件测试网?/p\.ce;bV ^,fE
唯一不能做的就是盯着下属的错误不放。总盯着下属的失误,是一个领导者的最大失误。英国行为学家波特说:当遭受许多批评时,下级往往只记住开头的一些,其余就不听了,因为他们忙于思索论据来反驳开头的批评。身为测试经理要根据测试人员的心理来进行指导,最大限度的调动每个人员的积极性来参加工作。
W U'Oq-tx^8KR0
PobIE\(@0 51Testing软件测试网:ia l!H~h
10、不深入到具体测试工作时,测试经理如何考核员工?
)C#\$Ft^&E2?0 这种现象在测试规模较大的组织中很常见。测试经理应该尽可能的安排每周与每个成员在不被打扰的环境下进行谈话,这样可以尽早发现和解决很多问题。
e,Z B"r%BY}0 最为一个测试经理,主要工作之一就是定期的评定组织做了些什么并且是怎样做的。同时还要为员工做一个报告——关于充分了解测试人员正在做什么和怎样做的报告,以此来给测试人员做做工作成绩考核。这份报告要了解到每个人的动态。
@DL O-w~o0 测试经理和每个员工重点是谈谈目前的工作,例如大家在工作中的问题或意见;是否需要帮助等。许多管理者经常抱怨没有时间在一周会见每一个员工来谈他们的工作。但是根据作者的经验,如果不能安排时间和员工进行每周的谈话,员工会来打扰测试经理的工作,因为员工很多问题还要要来找测试经理商议。51Testing软件测试网,j Q d#LC'YOs
同时对待员工要用他们能接受的方式,而不是我们自己可以接受的方式。“己之不予,勿施于人”,这条黄金法则可能会对许多生活中的纯粹的社交因素有效,但是并不是总对工作有用。有效率的管理者知道应该逐渐了解每一个员工需要怎样的对待方式。51Testing软件测试网o/D?1l#[5^SW0F(]
总之,只有尽可能多的和员工接触,才能更精确的进行考核。
$o1G-b;zoqh0
Q:X]3d$Z KE\0 51Testing软件测试网I'\b#x)ga+d
11、测试经理如何面对加班问题?
agJM6@0 大多数情况下,作者是不主张加班的。当员工每周工作超过40个小时的时候,他们开始在工作的时候关心自己的事。他们花钱,会给很久没有联系的人打电话,因为员工们一直都在工作。员工不能在太疲劳的状态下完成工作,这是因为他们在工作时不能关心自己,这种情况下通常效率很低。
@_s,j|;h9G.P$o0 测试管理工作的重要任务之一就是要创造一个环境,让员工在工作时间内完成工作,同时还要鼓励他们每周不要超过40小时,甚至可以基于他们在40个小时能够完成的工作量给他们酬劳。通常情况下这样做能够提升创造力,从而会逐渐提高效率。