0

私はTDDの新人です。実世界のプロジェクトをテストするのは初めてです。まず、私はFTPクライアントを試してみたかったのです。 FTPクライアントは当然ネットワークI/Oを扱うので、単体テストにI/O操作を含めるのではなく、メモリ内操作のみを含めるようにしてください(1)。ネットワークI/Oを使用してFTPクライアントをテストするテストは、統合テストまたは機能テストの対象ですか?

混乱は、統合テストと機能テストの土地です。 FTPクライアントテストスイートはどこに置くべきですか?統合テストはI/O操作[1]に対応できますが、FTPクライアントは1つのモジュールなので、機能テストの下に配置する必要がありますか?

[1] https://stackoverflow.com/a/4904533/4535957

+0

申し訳ありませんが、あなたの質問を明確にできますか?私はあなたの問題を理解していません。 あなたの問題はSUT(もちろんFTPクライアント)を置く場所か、FTPクライアントのテストスイートを置く場所かに関係していますか? –

+0

質問は、FTPクライアントのテストスイートを置く場所です。 :) – Xegara

答えて

0

をたぶん私が正しくあなたの問題を理解していないが、あなたの場合には私は2つのテストスイート、統合テスト用と機能のための1つを作成します。

この場合、私が構築しているクライアントのAPIで公開したいFTPコマンドの特定の統合テストを書くことができます。例えば。ファイルを送信するためのテスト、削除、名前変更などのためのテスト。
私は、他の技術的な部分を含む可能性があるより複雑なユースケースを検証するために機能テストを書いています。 Excelスプレッドシート内にリストされたファイルの一括アップロード(この場合は、「Excelの読み込み」部分の統合テストも可能です)

統合テストでは、あなたが管理/所有していないものを管理しなければなりません。I/Oはもちろん主要な例です。

+0

FTPクライアント用の統合テストスイートと機能テストスイートにどのようなテストケースを記述しますか? – Xegara

+0

統合テストには、開発者レベルで記述して、クラス/サブコンポーネントの動作方法をテストすることができます。機能テストは、より「ユーザー」レベル、より高いレベルのテストに重点を置くことができます。 – MikeJ

+0

私の場合は、ファイルストリームのアップロードのテスト、ファイルの削除のテスト、ファイルの存在のテストなどのテストを含むテストスイートをどこに置くのが適切ですか? – Xegara

0

統合テストは幅広いブラシで、幅広い「テスト」をカバーできます。 個人的には、上記に基づいて、私はモジュールを全体としてテストします。これは個別の作業であるためです。モジュールの使用方法をテストする場合は、システム(または機能)テストを行います。

このキーは、テストするレベルと、アプリケーションに最も適したレベルを設定しています。

おそらく、FTPモジュールの適切な統合テストスイートが、モジュールが期待どおりに動作することを証明するのに十分であるかもしれません。

+0

SUTとしてFTPクライアントを参照して、統合テストと機能テストの違いについて例を挙げて説明できますか? – Xegara

関連する問題