3

コードを持っていない他のライブラリを使用するときに、コードがどのように動作するかを正確に調べたいと思います。これはオンラインで (つまり、SysInternals の FileMon、RegMon、および TCPView を使用して) 実行できますが、仮想マシンでコードを実行し、仮想マシンをシャットダウンして、全体を比較できるオフラインの優れた方法があるかどうか疑問に思っていました。 VM イメージ?

4

2 に答える 2

5

システムへの永続的な変更はレジストリのファイルシステムにあるため、ハードドライブ上のすべてのファイルをリストし、レジストリをダンプする小さなプログラムを作成できます。
次に、プログラム操作の後にそれを実行して、簡単なファイル diff を実行することもできます。virtualbox を使用している場合は、ディスク イメージのマウントをオフライン (つまり、仮想マシンが実行されていない状態) で実行できると思います。ただし、オフライン ファイルからレジストリをダンプするのは難しい場合があります。Google で「vdi のマウント」を参照してください。

于 2009-11-20T13:16:17.247 に答える
5

すべての統合テストでは、ソース、フレームワーク ライブラリ、データベース ドライバ、データベース、通信ライブラリがないコードが確実に使用されます。そのうちのいくつかは、コードと同じマシン上にない場合さえあります。あなたが何を達成したいのか正確にはわかりません。待ち行列システムにいくつかの呼び出しを行うと、あらゆる種類の秘密のリス処理が行われます。前と後で違いますが、今何が言えますか? リクエストを表すデータ形式を知っていますか?

テストは、私が使用しているライブラリとシステムの公開された動作の観点から定義されていると考えています。データベースの例: 注文を作成することになっているいくつかのビジネス アクションを実行します。定義した注文はわかっていますが、データベースに表示されますか? テストを定義する際に、データベース内のレコードに関して期待される結果を明示的に指定できます。その後、テストを自動化することもできます。データベースからの抽出物を期待される結果と比較します。

于 2009-11-20T13:01:25.170 に答える