ユニットテストと機能テストの違いは何ですか? 質問する

ユニットテストと機能テストの違いは何ですか? 質問する

ユニット テストと機能テストの違いは何ですか? ユニット テストで関数もテストできますか?

ベストアンサー1

単体テストは、コードが正しく動作していることを開発者に伝えます。機能テストは、コードが適切に動作していることを開発者に伝えます。

詳細は以下をご覧ください。ユニットテストと機能テスト


ユニットテストと機能テストの実際の例えをわかりやすく説明すると、次のようになります。

多くの場合、システムの開発は家の建設に例えられます。この例えは必ずしも正確ではありませんが、ユニット テストと機能テストの違いを理解するために拡張することができます。

ユニット テストは、住宅の建設現場を訪問する建築検査官に似ています。検査官は、住宅のさまざまな内部システム、基礎、骨組み、電気、配管などに焦点を当てます。検査官は、住宅の各部分が正しく安全に機能すること、つまり建築基準を満たしていることを保証 (テスト) します。

このシナリオでの機能テストは、同じ建設現場を訪問する住宅所有者に似ています。住宅所有者は、内部システムが適切に動作し、建築検査官が職務を遂行していると想定します。住宅所有者は、この家での生活がどのようなものになるかに焦点を合わせます。住宅の外観、各部屋が快適なサイズかどうか、住宅が家族のニーズに合っているかどうか、窓が朝日を浴びるのに適した位置にあるかどうかなどを気にします。

住宅所有者は住宅の機能テストを行っています。彼はユーザーの視点を持っています。

建築検査官は住宅のユニットテストを実施しています。彼は建築業者の視点を持っています。


要約すると、

ユニット テストはプログラマーの観点から作成されます。クラスの特定のメソッド (またはユニット) が特定のタスクのセットを実行することを確認するために作成されます。

機能テストはユーザーの視点から作成されます。これにより、システムがユーザーの期待どおりに機能しているかどうかが保証されます。

おすすめ記事