优秀的软件测试人员是否需要对缺陷定位负责? 【转】

上一篇 / 下一篇  2012-10-08 16:27:29 / 个人分类:测试管理

问题描述:

  一个优秀的测试人员是否需要对缺陷定位负责?

  精彩答案:

  会员 TesterChen:

  问题的答案我觉得应该是肯定的。

  首先,从字面意思来说,我觉得测试人员应该对缺陷的定位负责,尽量在报告缺陷时将自己对于缺陷的理解(或缺陷产生的原因)写入到缺陷的备注信息(或缺陷主体)中。在个人能力、资源许可的情况下,尽我们所能的去提升我们的工作质量,做到100%的自我负责,因为我们的目标不是做完成就可以,而是追求优秀!!!

  其次,软件测试人员的责任角度来说,在测试人员具备这样的个人能力,且通过他们掌握的资源可完成对定位缺陷,那么最好是提供对缺陷的定位给开发人员或产品人员。这样即方便开发人员去定位问题、解决问题,也便于后期缺陷的追溯与回归。同样,部分缺陷可作为产品人员对产品进行优化的参考。

  但是,如果对缺陷的定位很困难,通过测试人员所掌握的资源与知识在短时间(如一个小时、半天)内无法完成对缺陷的定位,我们最好是向开发人员反映,并表示期望得到他们的帮助,共同对发现的缺陷进行定位,定位后要记录在缺陷的描述中;

  如果在交流过程中测试人员和开发人员一致认为此问题很复杂,需要开发人员内部进行排查的问题,那么此时测试人员可以终止缺陷定位,交由开发组人员进行处理,测试人员只需要对后期缺陷产生的原因进行了解、对缺陷进行回归测试即可,测试人员可考虑参加他们的讨论。

  将问题的定位转至开发人员层面之后,如果涉及到更加深层次的问题,开发经理(项目经理)会向他们的上级或同行请求协助,测试人员可考虑参加他们的讨论。

  另外,我们要考虑的一个问题就是具体问题具体分析、能随机应变。如果测试组的成员有很重的测试任务,在规定的时间内对所有内容完成测试任务的可能性都不大,那么我想测试人员也没太多时间去找寻缺陷出现的具体原因。但在这里仍然要强调的是缺陷的重现步骤、涉及到的数据等信息一定要记录全面,这样方便开发人员在调试时更快更准确的重现问题、找到问题、解决问题。

  同时,我觉得适量的对具体问题进行深入探讨,即有利于我们了解被测系统的业务,也有利于提升测试人员的工作技能。同时也加强了开发人员与测试人员之前的相互沟通和协作。

  最后,我认为优秀测试人员不仅要善于找出现在系统已有的缺陷、对发现的缺陷进行问题定位、提出对缺陷的修改意见或建议。更要能预知未来系统可能会出现的缺陷,并提出自己的看法、同时设法对它进行验证。

  会员 san:

  狭义的说,不需要!广义的说,depends。

  这个其实以前考虑和讨论过的。

  说不需要是从合作分工的效率上来说。专职的测试出现是软件工程化之后,出于提高生产力和提高合作管理效率,必然的结果就是行业分工。这和其他行业工程化的体系框架相似。测试,开发,项目管理,需求,架构师,分别代表和承担着软件开发过程中的不同方面。专职的分工能提高工种的专业性和过程平衡(不至于忽视了某一方面),在绝大多数情况下这是提高效率的有效手段。我们可以定义测试人员的职责是:证明没问题,或者发现问题,或者预防问题。无论从这些传统的任何一个定义,其实都没有必要去定位问题,只是需要确定和重现问题。当然,定位问题的能力,在某些时候能有助于我们发现和分析,但这不是必须的。如果只是为了解决修复,让熟悉代码的SE来,效率会更高。

    说depends是因为,分工合作是基于某种工程模式的。也就是我们常说的开发模型。任何工程模型的两个核心都是过程与分工。不同种软件模型都是在解决相同的软件问题:需求的抽象/变更,设计的预见/适度/变更,过程的估计/变更,而波动和变更的体现就是风险。在不同的工程模型中,我们可以设定专门的角色掌控风险,也可以把风险掌控的职能放到其他不同角色中。所以一个角色的职责,需要做什么或者不需要做什么,取决于工程模型的设定。我们的模型一直在发展演变。一些团队在刻意模糊淡化研发测试的界限,一些团队拓展了测试的职责。测试可以不仅仅对产品质量负责,也可以对需求质量负责,可以对过程质量负责,可以对代码质量负责。对代码质量负责的测试团队,或者运用底层测试技术的团队,往往需要进入代码层,或者说他们本身测试的颗粒度就很小,这样不但能更容易捕捉到代码的变化,容易维护,其实也一定层度定位了问题。另外一个特例是性能测试。性能测试最困难的地方其实是场景和分析。这里,分析和定位问题,然后重新设计更有针对性的场景就是QA的职责了。

  总的来说,测试是可以定位问题的。但定位和解决问题在分工上真不是测试本来的出发点。如果还有测试这个职业,他依然应该围绕质量这个中心。只是随着分工形式和技术发展的演化,我们运用的方法也能一定程度上能定位问题。最后,从职业发展来看,测试人员的职责定位也会随着工程模型的演变不断发展,提高技能与时俱进还是有益的。

  会员 ffan1027:

  以下是我的见解 :)

  作为一名优秀的测试人员,能够对发现的缺陷进行准确定位,对与产品线或项目组来讲是非常有利的事情,可以给出研发人员修改建议,提高研发人员的工作效率。但是针对此题目“一个优秀的测试人员是否需要对缺陷定位负责?”我认为答案是否定的。测试人员有责任对缺陷问题进行定位,负一部分责任,但是缺陷定位的第一责任人应该是研发人员。

  测试人员的职责包含:制定测试计划、撰写测试用例、执行测试用例、总结测试报告、缺陷管理。开发人员的职责包含:制定研发计划、根据需求实现功能开发,使之满足需求定义,并正确的运行。缺陷定位可以划分在缺陷管理中,当我们发现一个bug时,会详细记录bug的复现步骤。如果能找到缺陷的根本原因那是最好的情况,但是有很多情况下,如产品成本控制,不要求测试人员对代码级的分析和测试,无法通过调试代码来定位缺陷问题,那么定位缺陷的就由功能开发者完成,毕竟是自己写的代码,最熟悉的还是自己。测试人员可以针对缺陷给出问题定位建议,对于问题定位是否正确,是否接纳测试人员的修改建议,研发人员有自己的见解,应对自己研发功能的缺陷定位负责,并根据缺陷定位修复bug。

  虽然上面我讲由研发人员对缺陷定位负责,但是对于测试人员的自身素质来讲,缺陷定位是非常重要的一项要素。工作时只发现问题表相,描述缺陷仅包含步骤,没有对缺陷的分析,“做了什么操作,系统报了错误,无法进行……”,我们所做的工作缺乏了一些挑战和难度。如果能在发现缺陷后,对缺陷进行定位,如“缺少配置文件x.config”、“执行sql不正确,where条件关联关系错误,xx.id 应与cc.id关联,不是与a.id关联”、“sql语句错误,开头是应该为 like ‘xx%’,现在写为了like ‘%xx’ ,同理’结尾是’sql也错误”。这些是几个简单的例子,开发人员看到bug后,清楚明了,可以直接修改代码,提高了我们测试工作的趣味,同时也提高项目组的工作效率。


TAG:

xql00163com的个人空间 引用 删除 xql00163com   /   2012-10-10 09:15:57
恩,同意这位同行的观点,说的很好!学习啦
原帖由ls0891于2012-10-08 23:01:39发表
我觉得,任何系统测试人员都无需负责定位缺陷,但是他的缺陷报告应尽可能充分地提供各种信息,以支撑开发.
ls0891的个人空间 引用 删除 ls0891   /   2012-10-08 23:01:39
我觉得,任何系统测试人员都无需负责定位缺陷,但是他的缺陷报告应尽可能充分地提供各种信息,以支撑开发人员更快更直接地定位缺陷根因,甚至举一反三发现更多缺陷。优秀的测试人员,也许能独立定位很多缺陷。但本质来讲,测试的主要责任是通过测试活动向大家报告被测系统的质量状况,并根据情况给出下一步质量策划建议。
 

评分:0

我来说两句

Open Toolbar