Testing 如何在狗粮和QA之间取得平衡?

Testing 如何在狗粮和QA之间取得平衡?,testing,qa,Testing,Qa,大多数开发人员都知道自己吃狗粮的想法,但同时从数学上证明,让QA人员(或测试人员)做QA比让开发人员做QA更便宜 当然,在这两个方向上做一个极端主义者是没有意义的,但我注意到,取决于项目和开发人员(或QA人员,或经理),平衡会以这样或那样的方式摇摆不定,但我很好奇,在决定每个阵营应该做多少QA时,有什么好的经验法则可以应用 更新:虽然并非在所有情况下都是数学上的,但Joel的观点很清楚,他实际上也有:)狗粮根本不是关于QA的。这是关于使用您自己开发的产品,这样您就可以看到工作流程中的哪些地方可以

大多数开发人员都知道自己吃狗粮的想法,但同时从数学上证明,让QA人员(或测试人员)做QA比让开发人员做QA更便宜

当然,在这两个方向上做一个极端主义者是没有意义的,但我注意到,取决于项目和开发人员(或QA人员,或经理),平衡会以这样或那样的方式摇摆不定,但我很好奇,在决定每个阵营应该做多少QA时,有什么好的经验法则可以应用


更新:虽然并非在所有情况下都是数学上的,但Joel的观点很清楚,他实际上也有:)

狗粮根本不是关于QA的。这是关于使用您自己开发的产品,这样您就可以看到工作流程中的哪些地方可以改进,并普遍感受到使用软件的痛点


这不是为了提高代码的质量,而是为了让您的软件更易于使用,并指导您选择功能开发。

有两种角色通常被称为“QA”

  • 质量保证——确保执行质量计划的人员

  • 测试人员——不编写代码的开发人员

如果您的问题集中在“确保质量计划得到执行”,那么就很容易了:开发人员所做的工作符合质量计划,并且质量计划得到了遵循

由于您的问题集中在“不编写代码的开发人员”上,因此您首先没有多少质量计划。在这种情况下,开发人员需要(1)将测试人员集成到他们的队伍中,(2)创建一个质量计划,(3)根据该计划工作

该计划可能涉及一些独立测试。这可以通过让开发人员A为开发人员B编写测试来完成。也可以通过让开发人员A编写测试并在开始编码之前对这些测试进行同行评审来完成

其思想是开发人员编写、检查和测试自己的代码。一个发展组织。每个人都编码——有些人比其他人多

QA确保开发人员真正做到了一致和完整

我不认为“不编写代码的开发人员”是一项可行的工作。他们是真正的初级开发人员。你可以利用它们来增加一些额外的技术技能;或者将他们浪费在一个位置上,他们花了相当多的时间被用户殴打,并与开发人员争论

利用“不编写代码的开发人员”的一种方法是开始编写测试;然后使用它们修复损坏的代码;然后从别人的设计中编码;然后自己做设计工作

有很多方法可以阻止这些“不编码的开发人员”。一是让他们猜测用户的意思。通过将他们对流程的了解缩小到业务分析文档中的内容来实现这一点。另一种方法是让他们不得不与开发人员就业务分析文档的解释进行争论。

我几乎同意Garry的回答,只是他声称这与提高代码质量无关。我认为这绝对与此有关,以及他在第一段中提到的可用性

如果你能吃到大量的狗粮,你会得到:

  • 比QA可能使用的更真实的数据(考虑到它是真实的数据!)
  • 单凭数字的力量,QA可能会使用比QA更广泛的数据
我肯定已经修复了很多次在狗食中发现的bug,而这些bug都没有经过QA的测试。在许多情况下,你真的不能测试所有的可能性,但狗食有助于测试更多

让尽可能多的人吃狗粮(当然,对潜在问题设定了适当的期望)。当然,它不应该是“只开发人员”的东西(当然,除非您正在构建只开发人员的产品)。这并没有剥夺QA的宝贵工作,而是增加了它


这在很大程度上取决于你正在开发什么。我曾在一家公司工作过,那里的员工在日常生活中根本没有理由使用该产品,所以狗粮是不可行的。在另一家公司,我们正在构建一个web代理,因此让公司的大部分人浏览代理是有意义的。我最近一直在开发一款面向消费者的同步产品,所以再次强调,广泛使用dogfood是有意义的。

一般来说,DogFooding没有那么有用,除非您碰巧正在开发开发开发人员也需要使用的开发人员工具


在我工作的地方,我们确实使用我们自己的产品,但不像我们的客户那样广泛。因为我们的客户不从事软件开发业务。

正式与非正式

使用您自己的产品(“吃您的狗粮”)是质量保证的一部分,我会将其归入非正式测试类别,而不是通常由单独的质量保证部门进行的更正式的测试

深度与宽度的对比

“吃狗粮”旨在为直接负责产品设计和开发的人员提供使用产品或服务的第一手体验。对于一个功能丰富的应用程序,它可能比正式测试更深入,同时考虑到特定的用户视角,正式测试通常覆盖软件用例的广度,并试图以更客观和可测量的术语进行操作

产生影响的小烦恼

还有一类缺陷非常特定于只能在“现场”进行诊断的环境(比如,当你以72.52英里/小时的速度巡航时,这种令人讨厌的卡嗒卡嗒的声音似乎不知从何而来,让你发疯,但没有一个机械师能够,也不愿意认真地去做