Testing > 考察 > FTPサーバーからファイルを取得して処理する実装のテスト


開発環境
C++ Builder XE4

あるFTPサーバーからファイルを取得して処理するプログラムを開発するとき、その実装をどのようにテストするか

  1. 実際にFTPサーバーを立てる
    • linuxなどで可能
    • 取得するファイルをどのように用意するのか? (マニュアルで用意?)
    • ネットワークに影響を与えないため、ローカル環境に立ててローカル接続 (開発PCもローカルに入れる)
  2. FTPサーバーと接続したことにする
    • ファイルは開発PCの別フォルダに用意しておき、それを読込む
    • 実際のFTPサーバーとの接続部分は別途検証が必要
    • 再現実験がしやすい
    • フォルダ内のファイルを調整することで、テスト状態をコントロールしやすい
  3. 相手先のエミュレータを作成する
    • エミュレータのデバッグに時間をとられる
    • (ループバックができないとして) エミュレータを動かす別環境が必要
    • エミュレータのソフトを変更することで、応答をカスタマイズ可能

FTP接続の場合は、別にエミュレーターを作るほどでもないと思えてきた。

案2でよさそう。
これは今読んでいるGrenningの本の「ダブル(代役)」というものなのだろう。

テストの目的が高負荷の通信試験などであれば、選択肢は変わる。その場合はきちんとしたFTPサーバーを使うことになりそう。

今やろうとしている実装は、「取ったあとのファイル処理」に重きを置いている。