Что такое Dogfooding и как он помогает разработчикам?

Трудно представить себе место, где бы сочетались разработчики программного обеспечения и собачий корм, но «собачье кормление» – это неотъемлемая часть создания хорошей программы. Хотя это не требует взлома консервной банки с говядиной и телятиной, разработчики должны испытать свое собственное творение, прежде чем передать его другим людям.

Таким образом, давайте исследуем, что означает «собачье кормление» в технологиях и как оно помогает.

Что значит Dogfooding в технологиях?

«Dogfooding» – это когда разработчик пробует разработанное им программное обеспечение, как если бы он был обычным пользователем. Это происходит от термина «поедание собственного корма для собак», который описывает кого-то, кто пробует что-то, что они изобрели или разработали с точки зрения своей целевой аудитории.

Dogfooding немного отличается от альфа- и бета-тестирования. В то время как и догфудинг, и тестирование включают использование программного обеспечения, чтобы увидеть, как оно работает, альфа- и бета-тестирование сосредоточено на поиске ошибок и ошибок. И хотя с технической точки зрения «догфудинг» может выявлять ошибки, требующие исправления, основная цель процесса – «пощупать» программное обеспечение, чтобы увидеть, как разработчик может его улучшить.

Связанный: Лучшие сайты для краудтестинга, которые вы можете использовать для тестирования сайтов

Например, предположим, что вы разработали почтовый клиент, который почти готов к выпуску. На этапах альфа- и бета-тестирования вы, вероятно, будете выполнять определенные проверки, например, как клиент обрабатывает входящие электронные письма, как он обрабатывает нестабильное интернет-соединение и можно ли отправлять электронные письма с него нормально. Это специальные проверки, выполняемые для устранения ошибок, которые мешают правильной работе программы.

С другой стороны, догонять можно, если вы используете свой почтовый клиент в течение нескольких дней, недель или месяцев подряд. Фактически, вы бы использовали свою почтовую программу, как если бы вы были одним из ваших пользователей, которые будут ежедневно зависеть от вашего инструмента.

Хотя вы неизбежно будете обнаруживать ошибки в течение такого длительного периода времени, основное внимание уделяется тому, чтобы увидеть, насколько легко и приятно использовать вашу программу в повседневной жизни. Если вы найдете вашу программу простой и удобной в использовании, это будет невероятно. Однако, если вам не терпится использовать другую программу при использовании своей собственной, велика вероятность, что потенциальные клиенты тоже будут чувствовать то же самое. В конце концов, если вы вместо этого будете использовать продукцию конкурента, а не свою, зачем кому-то еще использовать вашу?

Как помогает собачье кормление?

Dogfooding помогает разработчикам выявить все недостатки их первоначального дизайна. Когда программисты создают конкретную функцию или инструмент, они обычно делают это с планом, который хорошо работает на бумаге. Однако функции, предлагаемые в проектных документах, иногда не переносятся в реальный мир так, как нравится программисту.

Связано: Основные принципы программирования, которые должен знать каждый программист

Вот тут-то и дело. Используя программное обеспечение ежедневно и как часть своей рутины, программист находит все раздражающие и отсутствующие части своего программного обеспечения. Например, в нашем примере с электронной почтой, возможно, диалоговые окна с предупреждениями, которые вы настроили в качестве меры предосторожности, действительно раздражают, когда вы используете программу ежедневно. Или, может быть, вы нажмете CTRL + B, чтобы набрать полужирный текст в электронном письме, только чтобы обнаружить, что вы забыли код для этой горячей клавиши.

Вот почему важно протестировать вашу программу, даже если вы уверены, что она не содержит ошибок. Используйте его так, как если бы вы полагались исключительно на своего клиента, посмотрите, какие проблемы возникают, и исправьте их, чтобы реальным пользователям не приходилось проходить через то же самое!

Не делайте собачий обед из своей программы

Dogfooding может показаться странным, но для разработчиков это ценный способ отсеять все упущенные шансы и раздражающие особенности дизайна в их программном обеспечении. Таким образом, если вы только начинаете программировать, обязательно протестируйте свою программу и запишите все, что, по вашему мнению, нужно добавить или изменить.