在我的整个职业生涯中,我在 QA 方面取得了不同程度的成功。我承认我可以亲自接受错误报告,但通常当它们以自由形式制作时,其措辞更像是抱怨:“这个过程仍然不起作用!”,没有足够的信息来重现缺陷。
我愿意努力提高对批评的敏感性,但我也对使 QA 流程去个性化并鼓励信息丰富的错误报告的工具和技术感兴趣。目前,错误是通过电子邮件报告的,或者有时通过走上去并用语言来报告。
任何工具都应该是:像啤酒一样免费,易于安装/低管理。我也对如何让自己对错误报告不敏感的博客文章、书籍或文章持开放态度。
在我的整个职业生涯中,我在 QA 方面取得了不同程度的成功。我承认我可以亲自接受错误报告,但通常当它们以自由形式制作时,其措辞更像是抱怨:“这个过程仍然不起作用!”,没有足够的信息来重现缺陷。
我愿意努力提高对批评的敏感性,但我也对使 QA 流程去个性化并鼓励信息丰富的错误报告的工具和技术感兴趣。目前,错误是通过电子邮件报告的,或者有时通过走上去并用语言来报告。
任何工具都应该是:像啤酒一样免费,易于安装/低管理。我也对如何让自己对错误报告不敏感的博客文章、书籍或文章持开放态度。
获得真正的错误跟踪系统。FogBugz、Bugzilla 等等(我不是 Spolsky 的骗子,但我会说 FB 是迄今为止对我们的测试人员来说最容易使用的系统,而且易于使用对他们来说真的很重要)。这些使得定义 QA 流程和错误报告工作流程变得更加容易。这应该有助于减少您和测试人员之间的个人互动。
永远不要把它当作个人。通过我们的错误跟踪系统和个人互动,我总是遇到错误。不管他们的语气如何,我总是回答,“谢谢你看到这个,我会调查的”。他们可能今天过得很糟糕,你也可能过得很糟糕,谁知道呢?如果他们没有提供足够的信息来重现,并且他们没有在足够一致的基础上提供这些信息,请参阅#1(获取真正的工作流程并坚持下去)。
忘记工具。这是关于沟通的。 你需要有纪律的人告诉你到底出了什么问题,他们是如何到达那里的,以及导致事件发生的任何具体条件。当人们写“它坏了”之类的东西时,您还需要能够提供反馈。开发和QA管理需要讨论双方需要什么。
关于敏感性,我发现态度胜过一切。每次看到bug报告,都要抱着“这不是人身攻击,而是解决问题、学习东西的机会”的态度开始。 一旦你确定了你的心态,你的反应就会随之而来。
我会将工具推荐留给其他人,因为我们使用的不是“像啤酒一样免费”。
您的首要任务确实需要培养将自己从过程中分离出来的能力。这不能是个人问题。话虽如此,尝试与 QA(亲自或通过 CoC)沟通,在错误报告中进行编辑会适得其反(“这个过程仍然不起作用!”,正如你所写,没有帮助)。该过程的目的是提高最终输出的质量。这样的感叹并没有进一步实现这一目标。
作为一个基本上是开发人员(自动化回归测试)的 QA 人员,我想我已经能够看到这个问题的两面。
正如其他几个人所说,这是一个沟通问题,没有工具可以解决它。 诸如 bugzilla 之类的工具可以提高沟通效率,但它们仍然需要双方努力保持沟通渠道畅通。
我看到开发人员经常难以亲自处理错误,这导致当问题实际上是问题时,将它们视为“不重要”、“边缘情况”、“按预期”等。即使问题实际上并不重要,简单地分享您对修复错误的风险/回报的评估也有助于促进更好的沟通。
相反,QA 人员经常遗漏错误的细节和重现错误的步骤(包括我自己)。当您作为开发人员遇到遗漏的细节时,您的工作是向我们询问更多细节(请及时询问我们)。最糟糕的感觉是当你写了一个错误并将其发送给开发人员,然后几天没有收到任何回复,它被关闭为“无法重现”。
最后,关键是双方的及时和善意的反馈。如果我(在 QA 中)正在与一个开发人员合作,当我向他发送错误时总是回复并且似乎很乐意帮助解决问题,我更愿意花时间向他提供我所能提供的所有细节。
就像开发人员一样,QA 有(或应该有)要遵守的最低标准。提出问题时,他们需要提供:
如果我必须去质检部门询问问题是什么或他们是如何产生问题的,我会很生气。“这不起作用”还不够好。
在我开发的一个系统(Web 报告系统)中,我在每个生成的报告中生成了所有输入数据。当 QA 运行报告并发现问题时,他们可以转到盲 URL 并下载包含以下内容的 ZIP 文件:
在开发方面,我编写了一个工具,可以仅基于该 ZIP 文件重新运行报告。这有几个影响:
效果是深远的,我认为这突出了一个关键问题:开发人员不喜欢当事情难以测试、难以重现等等时。同样,QA 人员不喜欢任何让他们的工作更难的东西,他们喜欢任何让他们的工作更容易的东西。
因此,我对与 QA 和谐合作的建议归结为:
在一起解决错误和/或分析错误时,我在 QA 方面拥有绝对最佳的经验。程序员和 QA 工程师都不是最容易相处的人,而且这些群体之间存在一些根本性的紧张关系。
当我对针对我的代码提交的错误报告遇到问题时,请走到他们面前询问它们的确切含义,和/或引导我完成重现它们的步骤。很多时候,问题在于我阅读某些要求的方式不匹配,而他们认为这会起作用。你说话,就像人类一样,不是按照某种公式,然后你们一起解决(同意不同意并让其他人打电话是这里的一种选择)。
在某些 bugtracker 中邮寄或归档的错误报告可能会让人觉得措辞不妥,而且肯定会因为它把矛头指向“你的宝贝”,你的创造。与提交错误的人交谈,您可能会注意到一个共同目标:让世界/软件变得更好一点。
我对 QA 的态度得到了回报,因为它变成了一种相互尊重的关系(尽管我们都不会承认:P),而不是尖叫“不是错误”,我会先走到他们身边。他们不会立即声称某事是一个错误,而是先走到我身边。最后,我们都在做我们的工作。程序员编写软件,QA 工程师在软件中打孔。我非常感谢与一些非常聪明的人一起工作,告诉我我做错了什么。
哦,永远不要使用“这不是错误,而是功能”这样的短语。
我同意保罗·威廉姆斯的观点。听起来 QA 用来提交问题的流程应该得到改进。电子邮件和问题状态的口头交流表明还有改进的余地。我也同意他的建议,即开发和 QA 共同努力改进流程和沟通。我是一名 QA 工程师,从事这项工作已有 10 多年了。
你听起来很成熟,对你来说是个大道具,因为你不会对任何人大发雷霆。可以写成“它仍然坏了”的意思,但显然 QA 人员需要学习更多机智。
我完全不同意 AnthonyWJones 发送的信息。我意识到每家公司都有自己的文化,但他的回应方式暗示了“把它扔到墙上,QA 负责质量,而不是我”的态度。这没有什么特别的问题,但如果你想营造一个合作和亲切的环境,这也无济于事。更健康的文化是整个开发团队(包括 QA)对质量承担同等责任的文化。
阅读“和你一起工作就是要了我的命!” 意识到人们只想度过这一天,赚钱,然后回家。“不要为小事出汗。”
去个性化的工具对我来说似乎是错误的方向。
“天哪,这似乎是我们需要修复的一个非常重要的错误。谢谢你找到它,伙计。
我对如何重现它感到困惑。你有什么想法?还是更多信息?”
哇,你写的那个错误报告真的很棒。它为我节省了大量的时间来隔离错误。谢谢!
想出去喝杯啤酒吗?啤酒,就像免费的一样?
等等
我发现处理诸如“它不起作用”之类的陈述的最佳方法是使用类似的简洁问题作为答复。“谢谢,不过你能告诉我更多关于你发现的东西吗?”。然后将球留在他们的球场上。
如果有投诉您没有回复,您可以指出您的请求以获取更多信息。不要做别人的工作,QA 的工作是定义哪些具体不符合他们负责保证的质量。
你工作的地方有共享点(或维基等)吗?在那里建立一个问题日志供所有人免费查看是很容易的。我不打算讨论跟踪工具的选择,那里有很多。如果您想免费,请查看 SourceForge 或 Codeplex。
最大的帮助是绝对不要把它当成个人 - 他们和你一样做他们的工作。为“可接受的”错误报告设置格式会有所帮助,即使使用您当前使用的电子邮件也是如此。
它们至少应包括:
任何体面的 QA 人员都应该已经这样做并测试脚本。
尝试让他们更多地参与项目过程。我们定期进行回顾,让 QA 人员与开发人员享有平等的发言权。他们经常提出我们可以改进流程的方法,以使他们的工作更轻松,并让他们更容易确保质量。更重要的是,这些建议经过辩论并(如果同意)被采纳。这使得 QA 和 dev 成为同一过程的一部分,而不是对立。
开发人员对他们的代码负责也很重要。如果 QA 在一个区域中发现了很多错误,那是因为开发人员在编写它时做得很差。这不是因为质量检查很困难。开发团队都应该认识到这一点。
我不认为工具可以帮助你很多。
要求 QA 写出重现问题的步骤,最好从
这将构建他们的想法并帮助您理解 QA 想说什么。
对于作为远程团队成员的我来说,错误跟踪工具是不可避免的。根据我的经验,它们确实有助于“去个性化”这个过程。