测试在软件开发中非常重要,但是对于不同的人来说,这意味着很多不同的事情。 作为软件工程师,您可能在编写代码本身之前就为软件编写了测试-太好了,因为即使在测试人员看到您的工作之前,您也会看到问题。
如果将其纳入组织级别,则称为"狗食",本文将探讨与软件开发有关的这一概念。

在商业环境中,吃自己的狗粮是很有意义的。 但是,这必须超出公司的政策范围,例如(著名的)可口可乐不允许百事可乐进入其办公室,并且实际上是组织内部的真正文化变革。
而是,该产品实际上是在组织内部积极使用的产品,可能是Zoom使用自己的软件召开视频会议(也许以面对面会议为代价)。
这是一种工作和测试自己的软件的绝妙方法。
在Windows NT的开发过程中,Microsoft内部的用户使用Beta版本(至少不会一直崩溃),而Windows开发人员则在使用alpha版本。 微软对自己产品的信心使其他人对该产品充满了信心,无疑增加了NT如今广为人知的稳定性,并可能增加了所收到的订单数量。
但是,就像任何可能令人敬畏的事物一样,它既带来机遇,也带来挑战。 它们将在本文中进行探讨。
商机获得内部冠军在工作中使用软件? 告诉您的其他重要人员您办公室中另一个团队开发的强大功能吗?
是否在Twitter上大喊贵公司的新产品?
尽早看到项目,并在您的工作场所实际使用它,对所有人都有帮助。 每一天。
苹果公司的库比蒂诺(Cupertino)总部挤满了随身携带MacBook的员工。
拥有自己的员工作为第一批客户不是很有意义吗?
开发人员作为用户体验软件有时候,软件开发人员会忘记在其设备上安装新软件的兴奋。 对软件如何工作及其提供的强大功能的好奇心。
现在,假设您使用自己的软件来做到这一点,甚至指导组织或办公室中的其他人也可以这样做。
当您与同事讨论软件安装过程时,您可以看到他们的痛点和问题,并迅速进行修复。
您正在同时编写该软件的手册,定义用户的旅程并在发布之前解决问题。 你一定是英雄。 你一定是狗食。
测试人员? 我们都是测试人员!事实是,测试是一门重要的重要学科。 这并不是要摆脱或缩小测试团队的规模。 相反,它可以帮助在测试人员之外进行低级测试,而且可以在没有测试人员的情况下进行测试,这使他们有时间自由地将时间用于接受培训的更高级别的测试。
您知道,像程序员一样,应该在第一时间抓住所有他们相当容易的逻辑错误。
现在,我们可以更有效地利用我们的团队资源,并开始交付更好的软件。
优秀的
挑战性失去内部冠军出于狗食的目的,可能使用了不成熟的软件版本。 这可能意味着使用该软件会有困难,甚至可能关闭那些不太愿意为其内部和外部客户拥护该软件的员工。
误导性测试在软件错误不太严重的情况下,工作人员可能知道最终用户将不会导致错误的安全感,并可能导致发布尚未准备好向用户展示的软件。 公众。
实质上,该软件已经过良好的测试,但是最终用户使用了错误的软件。 这是一个可能导致自满的问题,如果没有进行狗食,这实际上不会发生。 伤心
解决方法从全新安装软件时是否遇到过问题? 最近,这并不是什么大问题(因为软件开发团队如今通常有一个裂缝测试团队),但是20年前的生产软件可能会遇到这个问题。
这是怎么发生的?
开发人员在beta软件之上安装了beta软件。 全新安装并没有真正发生。 他们有安装软件的解决方法,并且所有临时测试人员(软件开发人员)通常都像手背一样知道这些。
他们忘记了这些变通办法和专业知识不会掌握在用户手中。
真是错
此处未发现综合症(NIHS)长期以来,Google一直被指控"此处未发明"综合症。 由于Google经常创建自己的软件和服务来复制市场上已有的某些软件包,因此这一点特别相关。
如果我们想支持Google的看法,即他们先发布项目然后再删除它们,那么我们也应该为那些倾向于使用内部项目然后在使用Google软件时必须转向外部开发产品的员工感到遗憾。 不可避免地下降。
多可惜。
结论:您的第一个客户应该是您。 您需要使用自己的软件,并成为工作和软件的最佳拥护者。
最后,编写最佳软件并提供最佳体验是任何软件开发团队的终极目标。
如果可以的话。 如果你能做得足够好。 这是可以实现的。 你可以做到吗? 狗食吧。
现在,让我们一起去发布出色的代码,出色的软件和出色的用户体验!
!
· 维基百科上有一篇关于吃自己的狗食的文章(HERE)
Twitter联系人:任何问题? 您可以在这里与我联系
(本文翻译自Steven Curtis的文章《Dogfooding in Software Development》,参考:https://medium.com/swlh/dogfooding-in-software-development-54479060882e)