什么是 Dogfooding,它如何帮助开发人员?

很难想象软件开发人员和狗粮结合在一起的地方,但“狗粮”是使程序优秀的重要组成部分。虽然它不涉及打开一罐牛肉和小牛肉,但它确实涉及开发人员在将其提供给其他人之前先试用自己的创作。

因此,让我们探索“dogfooding”在技术中的含义以及它如何提供帮助。

Dogfooding 在技术中意味着什么?

“Dogfooding”是指开发人员像普通用户一样试用他们开发的软件。它源于“吃你自己的狗粮”这个词,它描述了某人从目标受众的角度尝试他们发明或开发的东西。

Dogfooding 与 alpha 和 beta 测试略有不同。虽然 dogfooding 和测试都涉及使用软件来查看它的运行情况,但 alpha 和 beta 测试侧重于查找错误和错误。虽然 dogfooding 可以从技术上挖掘需要修复的错误,但该过程的主要目标是“感受”软件以了解开发人员如何改进它。

相关:供您测试网站的顶级 Crowdtesting 网站

例如,假设您开发了一个即将发布的电子邮件客户端。在 alpha 和 beta 测试阶段,您可能会执行特定检查,例如客户端如何处理传入的电子邮件、如何处理不稳定的互联网连接,以及您是否可以通过它发送电子邮件。这些是为了清除会阻止程序正常工作的错误而进行的特定检查。

另一方面,dogfooding 是指您连续使用电子邮件客户端数天、数周或数月。事实上,您会像使用您的用户一样使用电子邮件程序,他们每天都依赖于您的工具。

虽然您一定会在这么长的时间内发现错误,但主要的重点是看看在日常生活中使用您的程序是多么容易和愉快。如果您发现您的程序简单易用,那真是不可思议。但是,如果您在使用自己的程序时渴望使用不同的程序,那么潜在客户很有可能也会有同样的感觉。毕竟,如果您宁愿使用竞争对手的产品而不是自己的产品,那么其他人为什么要使用您的产品?

Dogfooding 如何帮助?

Dogfooding 可帮助开发人员发掘其原始设计中的所有缺陷。当程序员创建一个特定的功能或工具时,他们通常会制定一个在纸上运作良好的计划。然而,设计文档中提出的特性有时并没有像程序员喜欢的那样转化为现实世界。

相关:每个程序员必须知道的基本编程原则

这就是dogfooding的用武之地。通过每天使用该软件并将其作为日常工作的一部分,程序员可以找到他们软件中所有烦人和缺失的部分。例如,在我们的电子邮件示例中,当您每天使用该程序时,您作为预防措施设置的警告对话框可能会变得非常烦人。或者,您可能按 CTRL + B 在电子邮件中输入粗体文本,却发现您忘记在该热键中进行编码。

这就是为什么给你的程序试驾很重要的原因,即使你非常确信它没有错误。使用它就像你是一个纯粹依赖你的客户的人一样,看看出现了什么问题,并解决它们,这样真正的用户就不必经历同样的事情!

不要用你的程序做狗的晚餐

Dogfooding 听起来可能很奇怪,但它是开发人员清除软件中所有错过的机会和烦人的设计功能的宝贵方式。因此,如果您刚刚开始编程,请务必对您的程序进行试驾,并记下您认为需要添加或更改的所有内容。