问题描述:

  例如,测试人员发现在进行“操作A”的时候出现了bug,那么下面两种方式那种更合理?

  1、他直接将“操作A”的精确步骤提交给开发部门。

  2、他测试同一类的“操作B”“操作C”,都出现了bug,而“操作A”“操作B”“操作C”都属于“A+类操作”,那么他把上述三次测试归纳为了“进行A+类操作时会发生bug”,提交给开发部门。

  我之前是一个测试人员,现在是一个开发人员。

  近接到的一个bug是类似这样:

  JIRA里说“在code项中输入中文和英文的混合串会导致bug,重现率”,但是我自己输入中文和英文混合串却无法重现此错误,所以将JIRA里这个bug转回给了测试部门要求补充描述,至少要求描述清楚输入的“英文和中文混合字符串”到底是什么。

  同时我在想:对于bug的产生原因当然是开发人员负责;那么测试人员是否有职责,或者是否有必要将导致bug的操作归纳成一类操作,然后提交给发开人员?

  我个人理解是,测试人员只应负责精确描述导致bug的操作,以便开发人员重现,而在接到要求之前没有必要自己进行归纳。

  否则的话非常容易出现归纳错误,例如:测试人员认为是字符串中的“中文”导致的bug,但实际上是“中文”中的某些特定字符导致的bug,从而误导修正bug的开发人员。

  ——或者说,这个问题是否因岗位而异,比如黑盒测试人员与白盒测试人员对上述问题的回答不同?求解惑。

  精彩回答:

  你的问题实际上分两个部分。

  第一个部分是如何记录Bug。这个嘛,我觉得你们bug的提交要求也太简单了吧,一句话“在code项中输入中文和英文的混合串会导致bug,重现率”把bug给描述完了?

  一般描述这类涉及data的bug,都要求把data的类型,具体data的形式描述出来。如果你们的测试人员没有把这个描述好,要么是这个测试人员的职业操守比较低,要么是你们公司的流程规范做得不好执行得也不好。

  第二个部分是如何分析Bug。这个嘛,我觉得你们这位测试人员水平的确不怎么样,不过从另外一个角度来看,你们公司开发跟测试之间的沟估计是鸿的,所以测试无法知道怎么去分析。

  现在测试跟开发都分得太开了,测试不懂代码只懂部分业务,开发只懂代码和少许业务,这使得两者之间的沟通存在很多问题。测试的人认为分析是开发的工作,开发的认为部分分析属于测试人员的,难道这不是一个问题么?

  所以我觉得,你们还是找个水平高的测试人员或者加强开发跟测试的沟通吧。

  不过,我并不赞同你说的测试人员是要有归纳一个bug的能力的,这个取决于你们的开发模式跟业务类型,更加取决于公司中测试的地位:测试到底只是一个bug reporter还是一个质量评价者(注意不是评测,而是评价)。如果是一个bug reporter,他/她的确没什么必要去归纳,因为报告完一个bug已经是本职了,这类公司认为质量是测出来的,而不是code出来的。但如果是一个质量评价者,他/她有义务这个软件的某个bug或者某些功能评价软件的质量如何,因为他/她必须有全局观才可以去评价一个软件,并且他/她必须意识到自己的义务是保证提供足够的软件质量信息,这类公司认为质量是code出来的,所以需要有人评价code跟design的质量。