大多数开发人员都知道吃自己的狗粮的想法,但同时在数学上证明,让QA人员(或测试人员)做QA比开发人员做QA更便宜.
现在当然没有任何一个极端主义者在任何一个方向,但我注意到,取决于项目和开发人员(或QA员工,或经理),平衡以某种方式摇摆,但我很好奇在确定每个阵营应该做多少质量保证时,应用什么好的经验法则.
更新:尽管在每种情况下都不是数学上的,但Joel 关于QA的文章应该足够清楚,他实际上也有一个dogfood :)
我几乎同意Garry的回答 - 除了他声称这不是关于提高代码质量.我认为绝对是这样做的,以及他在第一段中提到的可用性.
如果你有一个宽的狗食,你会得到:
比QA更真实的数据可能会使用(假设它是真实的数据!)
通过纯粹的数字力量,可能会使用比QA 更广泛的数据
我肯定已经修复了很多次在dogfooding中发现的错误,其中情况尚未经过QA测试.在许多情况下,你真的无法测试所有可能性,但狗狗食物有助于测试更多.
让尽可能多的人去吃狗食(当然,对潜在的问题设定了适当的期望).它当然不应该是"仅限开发人员"的东西(当然,除非你正在构建一个仅限开发人员的产品).这并没有带走质量保证的宝贵工作 - 它增加了它.
这取决于大量的你,虽然开发什么.我一直在一家公司,员工在日常生活中永远不会有任何理由使用该产品,因此狗狗食物并不可行.在另一家公司,我们正在构建一个Web代理,因此有必要让公司的大部分人来浏览代理.我最近一直致力于针对消费者的同步产品,所以再次广泛应用于食品杂货.
Dogfooding根本不是QA.这是关于使用您自己开发的产品,以便您可以看到工作流程中的哪些内容可以改进,并且通常会感受到使用软件的痛点.
它不是要提高代码质量,而是要让您的软件更易于使用,并指导您选择功能开发.