質問

C ++には、優れた単体テストフレームワークがたくさんありますが、機能テスト。機能テストとは、ディスクに触れるもの、アプリケーション全体を適切な場所に配置する必要があるものなどを意味します。

場合のポイント:I / Oが機能するかどうかなどのテストに役立つフレームワークは何ですか?一時フォルダーを作成し、大量のデータの周りにコピーする手動ロールシステムを用意しました。そのため、テストは常に同じ環境で行われますが、カスタムフレームワークにもっと時間をかける前にすでに良いものがありますか?

役に立ちましたか?

解決

すでにゼロから3回作成しました-FIXプロトコルを使用して交換と通信するC ++アプリのテスト用に2回、GUIアプリ用に1回作成しました。

問題は、外界をエミュレートして適切なシステムテストを行う必要があるということです。 「コードの外側」という意味ではありません。 -アプリケーションの外部。これには、エンドユーザー、外部エンティティ、インターネットなどのエミュレートが含まれます。

私は通常、perlを使用してシステムテストフレームワークとテストを記述します。これは主に、あらゆる種類のOS機能へのアクセスに優れており、正規表現が第一級の市民であるためです。

いくつかのヒント:ログは簡単に解析でき、詳細であっても冗長ではないことを確認してください。適切なデフォルト構成を使用します。 「リセット」を簡単にします。アプリケーション-各テストの後に行う必要があります。

通常使用するアプローチは、ある種の「アダプター」を使用することです。これにより、アプリケーションと外部との通信が実行可能ファイルのstdin / stdoutに変わります。次に、その上にperlフレームワークを構築し、テストケースがフレームワークを使用します。

他のヒント

以下に、私が認識しているいくつかのツールと大規模なテストアプリケーションを示します。プラットフォームに関する詳細情報(OSなど)を提供する場合は、おそらくより良い回答を提供できます。

必要なものの一部として、Microsoftは Application Verifier :

  

Application Verifier(AppVerifier)は、Microsoft Windows XPとの互換性についてアプリケーションをテストする際に使用されるランタイム検証ツールです。このツールを使用して、アプリケーションの実行中にさまざまな既知の互換性の問題をテストできます。この記事では、アプリケーションの開発およびテストサイクルへの効果的な追加としてAppVerifierを使用する手順について詳しく説明します。

Application Verifierは、低メモリ状態、その他の低リソース、その他のAPIの使用状況をテストするのに役立ちます。

パズルの別の部分は、Microsoft Detoursパッケージです。これは、API呼び出しを独自のコードに置き換えるために使用できます(たとえば、セットアップが難しいテストでエラーコードを返すのに便利です)。

  

Detoursは、x86、x64、およびIA64マシンで任意のWin32関数を計測するためのライブラリです。 Detoursは、ターゲット関数のメモリ内コードを書き換えることにより、Win32関数を傍受します。 Detoursパッケージには、任意のDLLとデータセグメント(ペイロードと呼ばれる)をWin32バイナリに添付するユーティリティも含まれています。

他にも、より大きな(そしてより高価な)包括的なパッケージが利用可能です。ボーランドは、シルクを作成します。
自動化ソフトウェアにより、 TestComplete が作成されます。これらのツールのいずれかを選択することは、アプリケーションのニーズ次第です。
IBM / Rationalは Rational Functional Tester を提供しています。多くのプラットフォームと豊富な機能。

こんにちは、私たちが持っているフレームワークがあなたの状況に役立つかどうかはわかりませんが、Rational Functional Testerにフックして、ユーザーがさまざまなデータセットを作成して異なるテストに接続し、スクリプトを変更せずに環境を変更して再利用できるようにします効率的な方法での自動化。 興味があればご覧ください: http://www.testpro.com.au/Test-Automation-Framework.html

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top