ユニットテストを行う方法
必要なスキル:
1、コードの基本的な特性;
2、エラーが発生し、
図3に示すように、ユニットテスト方法及びそのようなものドライバコード、コード・スタブ・コードおよびモックなどの主要な基本的な技術、
理由コードとエラーのまず、基本的な特性
コード規則は、条件分岐、ループ処理などの関数の呼び出しによって、最も基本的なロジック制御を見つけることができます。
機能コードを実行するには、論理的に、正しい完了し、正しい分類が徹底的に行われなければならない、各カテゴリ内の処理ロジックの同僚が正しくなければなりません。
オーダー、典型的には、以下の考慮事項があり、論理設計を実装し、正しいコードを開発するために:
1、正しい機能論理を達成するために、いくつかの通常の入力がある;
2、複数の入力境界がある場合、特別な処置を必要とする;
3、様々な潜在的に違法な入力とどのように対処するの可能性。
第二に、ユニットテストのコメント
ユニットテストケース「のデータ入力」及び「出力予想」に設定され
、完全な「入力データ」:
- 関数の測定された入力パラメータ。
- グローバル静的変数内部テスト機能が読み取られます。
- 内部メンバ変数のテスト機能が読まれる必要があります。
- 関数は内部関数呼び出しのデータが得られ、
- 内部関数の呼び出しサブルーチン書き換えデータ。
- 組込みシステムは、データが割り込み通話に書き換えられ、
。。。。
明確な期待される出力がない場合は、テスト自体は意味を失います。関数の戻り値として、絶対に同じように単純ではない「それは入ることが予想される」、機能実行書き換えが完了した後、すべてのデータが含まれている必要があります。 - 機能テストの値を返します。
- 関数の測定された入力パラメータ。
- 書き換え可能な関数メンバ変数を測定しました。
- 試験関数の書き換え可能なグローバル変数。
- テスト中の機能を更新するファイル。
- 測定されたデータベースの更新機能。
- メッセージキュー更新機能を測定し;
。。。。
期待される出力値については、関数論理セットのコードに応じて、厳密でなければならないが、期待される出力を計算するためのコードを読み取ることができません。
一部の等価クラスまたは境界値ならば、テスト時間はテストケースを設計していないだろう、開発を考慮せずに、テストは死角が発生します。
第三に、ドライバコード、コードスタブコードとモック
ドライバのコードは、機能テスト、およびモックスタブコードを呼び出すために使用されたコードは、関数呼び出しの本当のテストの代わりに使用するコードです。
ドライバコード(ドライバ)機能テストを呼び出すコードを意味します。試験装置では、典型的には、データ準備関数を呼び出す前に測定された駆動モジュールを備えており、検証関数呼び出し相関結果は、3つのステップを測定しました。フレームユニットテストによって決定コードの通常駆動構造。
スタブ・コード(スタブ)は、仮コード実際のコードの代わりに使用されます。以下のような:Aは、このシミュレーションの機能は、いわゆるスタブコードで実現するためにB、論理関数Aをテストするために、あなたが関数Bをシミュレートする必要があり、まだ達成すべきに、関数Bを呼び出す関数の内部実装
例えば:
目に見える、関数Aが関数Bを呼び出しますが、B細胞機能のテスト段階ではなく、実際の関数B関数Bのフェイクで、達成されていない、Bは、この偽のスタブの関数です。
可視 アプリケーションのスタブ・コードは第1の分離の役割を果たしたと満たされ、テスト対象のコードは独立して、リンクをコンパイルし、独立して実行することができます。同僚は、スタブ・コード実行パスは、さらに、測定された関数の機能を有しています。
書き込みスタブコードは、3つの原則の対象となります。
- スタブは、元のプロトタイプのみ異なる内部実装、スタブに接続するには、このテストコードの正確に同じ機能を有します。
- アイソレーションを実現するための、比較的簡単な余裕がスタブは、単にコンパイルを接続を目的としたオリジナルの関数宣言に加え、空の実装を、維持する必要があります。
- スタブ制御機能適切な内部入力テスト機能としてテストケースのニーズ、出力データに基づいて、最も広く使用されています。
モックとスタブコードは、実際の一時的なコードの代わりに使用されるコードと非常によく似て隔離充填の役割を果たしています。
実際のプロジェクトのユニットテストを実行するには?
通常は底部モジュール又はモジュールがコアユニットテストを用いてテストされる1;
2は、ユニットテストフレームワークは、開発言語に関連付けられた、決定します。Java(登録商標)、JUnitの&TestNGのような、C / C ++ - CppTest $パラソフトC / C ++テスト、 モックコードと選択コードパイルフレームは、具体的に使用開発スタック技術です。
3、コードカバレッジの統計ツール、JavaのJaCoCo、イスタンブールではJavaScript。
図4は、それが自動的にユニットテストをトリガーする、ユニットテスト、継続的インテグレーションとコードカバレッジの統計情報は、各コードが送信されることを確実にするために、組立ラインの統合を行う実行する必要があります。この送信コードを受け入れることができるようにユニットテストで速度とコードカバレッジを渡します。