公式対非公式
独自の製品を使用すること (「ドッグフードを食べること」) は品質保証の一部であり、別の QA 部門によって通常行われるより正式なテストとは対照的に、非公式のテスト カテゴリに分類します。
深さと幅
「ドッグフードを食べる」は、製品やサービスの設計と開発に直接責任を負う人々に、製品やサービスの使用を直接体験してもらうことを目的としています。機能が豊富なアプリケーションの場合、正式なテストよりも深くなると同時に、特定のユーザーの視点を入れることができます。正式なテストは通常、幅広いソフトウェアのユースケースをカバーし、より客観的で測定可能な用語で動作しようとします。
違いを生む小さな煩わしさ
また、「現場」でのみ診断できる環境に特有の欠点のカテゴリもあります (たとえば、時速 72.52 マイルでクルージングしているときはいつでもどこからともなく発生するような、本当に迷惑なガタガタ音など)。それでも、車がガレージにあるとき、メカニックは誰も原因に取り掛かることができず、また喜んで取り掛かりません)。
ネイキッド ソフトウェア vs. アプリケーション + プラクティス セット
独自の製品を使用することは、ソフトウェア自体をはるかに超えています。必然的に「ユーザージャーニー」全体が含まれます。「ドッグフードを食べる」ことで、ドメイン内でソフトウェアを使用するテクニックを開発し、理解を深めることができます。一部のソフトウェアは、さまざまな状況で使用されていると言っても過言ではありません。正式なテストでは、これらの各コンテキストを詳細にカバーできない場合があります。これは、何かが変更されたときに実行する必要がある特定のテストを正式に定義するのが難しい場合があるためです。または、これらのコンテキストを社内で模倣したり、ソフトウェアがわずかに変更されるたびにすべての既知のテスト ケースを実行したりするのは、費用がかかりすぎる可能性があります。
内部の変化と外部の変化
正式なテストは、ソフトウェアに加えられた変更が機能することを確認するのに非常に優れていますが、正式なテストが苦労している進化のもう 1 つの重要な領域は、ソフトウェア環境の変化や外界からの使用パターンを検出する必要がある場合です。独自の製品を使用すると、おそらくユーザーから通知される前に、これらの変更をより早く検出するのに役立ちます (ユーザー フィードバック チャネルの品質によって異なります)。
「天秤」の何が悪い?
そのため、独自の製品を使用することと、それを正式にテストすることとの間でバランスを取ることはできません (可能な限り両方を行います。つまり、得られる返品は努力する価値があります)。1 つは、別のものを補完することであり、代わりになることではありません。
誰がテストを行うべきか: 区別
これは、正式なテストを行うための専任のリソース (単独の開発者、すべてのテストを行う開発者) がなく、2 つのアクティビティのいずれかに専念できる時間を選択する必要がある場合を除きます。まあ、しないでください。ここでの重要な相違点は、正式なテストは、独立した機関、つまり開発および設計チームに直属しない人々によって行われるのが最善であるということです。一方、「ドッグフーディング」の背後にある核となる考え方は、関係者全員にサービスや製品を直接体験させることであるため、誰もが (デザイナー、開発者、マーケティング担当者、さらには CEO も) 会社の製品やサービスを可能な限り使用する必要があります。彼らは実際の生活の中で貢献しています。
すべてをドッグフードすることはできません。それともできますか?
「特定の種類のソフトウェアをドッグフードすることはできない」という議論に関する限り、ドッグフーディングがどのように見えるか、つまりドッグフードを食べることに集中するのではなく、それが何を意味するかを考えてみましょう。これらの実際のユーザーの興味」。
自分で食べ物を食べることの次善の策は、犬が何を好きか嫌いかを他の人に頼るのではなく、犬が食べ物を食べている間、犬を観察することです。
開発チームのメンバーは、日常業務で使用するために下水制御ソフトウェアを個人的に配置することはできないかもしれませんが、「ドッグフーディング」の文字に従わない下水道エンジニアがアプリを使用しているのを定期的に観察することに時間を費やすことを止めるものは何もありませんが、確かにその精神を捉えます。