测试管理者常遇到的一些问题
1、测试负责人需要进行测试进度跟踪吗?
很多时候,由于人力资源的不足,测试项目负责人都是在执行测试,这样就使整个项目缺乏控制,一些问题(例如:有些成员的缺陷质量不够合格;开发人员修改不及时,系统某些功能发生严重问题导致部分功能无法测试。)得不到解决,耽误了进度。所以测试负责必须全程监控项目,尽可能多的掌握信息。通常,测试负责人需要完成下面这些内容的管理工作:测试用例执行情况;每个测试员提交的缺陷情况;测试中是否发生突发问题。
2、测试也有版本控制吗?
这里的版本主要是指测试对象的版本控制,也就是指对开发部提交的产品进行版本控制。
在开发小组版本管理不规范的情况下,测试小组进行版本控制十分重要,要保证测试对象是可以控制的。
建议开发和测试双方进行明确的约定,可以各自指定专门的测试版本负责人,制定提交原则,对提交情况进行详细的记录,这样基本避免了版本失控导致的测试失误或无效。
3、如何处理测试人员的流动问题?
人员流动不仅仅是测试部门,这是 IT 行业的普遍现象。从管理者角度,主管需要多多和团队内成员进行沟通,建立一个融洽的团队环境,及时掌握情况,可以早些进行相应的调整。
但是只有企业建立好的用人制度,给员工提高广阔的发展空间和好的培训学习机会,才能从根本上解决这一问题。
加强项目管理,强化文档管理并保证文档的有效性,可以大大减少由于人员流失带来的损失。同时,测试部门要建立培训机制,使新到员工接受直接或者间接的培训,快速适应工作。
4、为什么开发人员经常抱怨测试工程师提交的缺陷质量太差?
我们经常听开发人员说:“这不是缺陷!”,“这个缺陷没有,因为我的系统上运行正常!”。
测试工程师本身就是做质量工作的,提交的成果本身就应该质量高些,为什么还会有这种现象?提交的缺陷引起争议是一种正常的现象,例如测试人员描述不清楚就会引起争议。
减少甚至避免这种现象的方法是交叉测试,交叉测试是提高测试质量的一个有效手段,当然交叉测试会增加一定的测试成本投入。
在测试任务完成后,测试工程师之间互相验证彼此提交的缺陷,就会避免了缺陷描述不清、因运行环境而产生的缺陷等一系列问题,从而大大降低了回归测试以及交流的成本,因而这种投入也是值得的,实际开发人员在单元测试阶段也会进行交叉测试,来提高开发质量。
另外,测试人员一定要按照规范描述测试中发现的缺陷,一个缺陷至少描述清楚概要描述、详细描述、重现步骤三方面的内容。
5、让那些新手来做测试,反正他们也不会什么
在实际项目开发中,我们常常看到有些单位忽视测试团队存在的意义,当要实施测试时,往往临时找几个程序员充当测试人员。
也有些单位尽管认识到了组建测试团队的重要性,但在具体落实的时候往往安排一些毫无开发经验的行业新手去做测试工作,这常常导致测试效率低下,测试人员对测试工作索然无味。
测试团队应首先聘请一名资深的测试领域专家,他应具有极为丰富的同类项目软件测试经验,对软件开发过程中常见的缺陷或错误了然于胸;此外,他还具有较好的亲和力和人格魅力。
其次,项目测试团队还具有很多具备一技之长的成员,如对某些自动化测试工具运用娴熟或能轻而易举地编写自动化测试脚本等。
另外,测试团队还应聘请一些兼职成员,如验证测试实施过程中,同行评审是最常使用的一种形式,这些同行专家就属于兼职测试团队成员的范畴。至于测试团队里里的测试新手,这部分人可以安排去从事交付验证或黑盒测试之类的。
6、测试通化现象是什么?
同化现象是指随着时间的推移,开发人员会逐渐影响测试人员的思维和对缺陷的判断能力,尤其是针对同一产品,同一组开发人员和同一组测试人员共同配合了很长时间,很多本来是缺陷的问题,由于测试人员对软件 “习惯成自然” 的使用,会不被当成缺陷,尤其是在开发人员的解释和说服下。
同化现象发生可能意味着 “恶性循环” 的开始:测试人员会帮着开发人员解释一个个缺陷的合理性,一轮一轮的测试都不会发现问题。招聘新的人员,不同的测试项目组轮换去测试不同的产品,就可以避免。
同时建议产品可以发布测试版,更多的人对其进行测试,就可以发现更多的问题。
7、测试工程师如何避免定位效应?
社会心理学家曾作过一个试验:在召集会议时先让人们自由选择位子,之后到室外休息片刻再进入室内入座,如此五至六次,发现大多数人都选择他们第一次坐过的位子。这种现象称为定位效应,说明人们习惯上凡是自己认定的,人们大都不想轻易改变它。定位效应在开发人员和测试人员身上都有体现。
例如开发工程师针对某一自己写的功能,经常进行代码移植,这种复制的 “功能”,由于上一次经过调试,在新的地方往往不会认真调试,这些代码往往会带来共享变量冲突等许多种类型的缺陷。
定位效应体现在测试人员身上就是测试过的功能不再进行认真测试:在回归测试时,之前由于进行过认真的测试,往往会认为某些功能是可靠,只要验证一些以前发现的缺陷是否修改完成就可以了。
这种现象在反复多次回归时表现的更加突出,因为回归测试中很多功能都会进行多次反复测试。众所周知,开发人员在修改缺陷时往往会引入新的缺陷,测试人员的疏于防范就会把这些缺陷带到用户这里。解决这种问题的方案一般有两个:
- 完整的执行测试用例:这种方法投入较大,但是在开发产品时最好在最后一次回归测试时测试的执行一次全部的测试用例。
- 交叉测试:测试人员交叉测试,就可以很大程度的避免定位效应。测试工程师在回归测试时互相交换任务,反复测试某一功能的机会大大减少,从而也就不会 “主观的” 认为某些功能没有缺陷。 通常上面的两个方法都是结合使用的,既要进行交叉测试,又要全面执行测试用例,测试覆盖面要尽可能的广泛。