コンポーネントテストとは? テクニック、テストケースの例
コンポーネントテストとは何ですか?
コンポーネント テストは、他のコンポーネントと統合せずに、個々のコンポーネントごとに個別にテストを実行するソフトウェア テストの種類として定義されます。アーキテクチャの観点から見ると、モジュール テストとも呼ばれます。コンポーネント テストは、ユニット テスト、プログラム テスト、またはモジュール テストとも呼ばれます。
一般に、ソフトウェアは全体としていくつかのコンポーネントで構成されています。 コンポーネント レベルのテストでは、これらのコンポーネントを個別にテストします。
これは、QA チームによって実行される最も頻繁に実行されるブラック ボックス テストのタイプの 1 つです。
以下の図のように、コンポーネントのテストにはテスト戦略とテスト計画があります。 ソフトウェアまたはアプリケーションのすべての部分が個別に考慮される場合。 このコンポーネントごとに、 テストシナリオ 定義され、さらに高レベルのテスト ケース -> 前提条件のある低レベルの詳細なテスト ケースに分類されます。
「」という用語の使用法コンポーネントテスト」はドメインごと、組織ごとに異なります。
コンポーネントテストに対する認識の違いの最も一般的な理由は次のとおりです。
- 選択した開発ライフサイクルモデルのタイプ
- テスト対象のソフトウェアまたはアプリケーションの複雑さ
- ソフトウェアまたはアプリケーションの他のコンポーネントの残りの部分から分離して、または分離せずにテストします。
ご存知のように、ソフトウェア テストのライフ サイクル Architecture には、多くのテスト成果物 (作成されたドキュメント、テスト活動中に使用されたドキュメント) が含まれています。多くのテスト (成果物) の中で、特定のプロジェクトで実行されるテストの種類とテストの深さを定義するのは、テスト ポリシーとテスト戦略です。
コンポーネントのテストを行うのは誰ですか
コンポーネントのテストはテスターによって実行されます。 「単体テスト」は開発者によって実行され、個々の機能または手順のテストが行われます。 後 単体テスト が実行されると、次のテストはコンポーネントのテストです。 コンポーネントのテストはテスターによって行われます。
コンポーネントテストをいつ実行するか
コンポーネント テストは、開発者による単体テストが完了し、ビルドがテスト チームにリリースされた直後に実行されます。 このビルドは UT ビルド (単体テスト ビルド) と呼ばれます。 このフェーズでは、すべてのコンポーネントの主要な機能がテストされます。
コンポーネントテストの開始基準
- UT に含めるコンポーネントの最小数を開発し、単体テストする必要があります。
コンポーネントテストの終了基準
- すべてのコンポーネントの機能は正常に動作するはずです。
- クリティカル、高、中程度の重大度および優先度の欠陥が存在してはなりません 欠陥 ログ。
コンポーネントのテスト手法
テストレベルの深さに基づいて、コンポーネントテストは次のように分類できます。
- CTIS – 小規模でのコンポーネントのテスト
- CTIL – 大規模なコンポーネントのテスト
CTIS – 小規模コンポーネントのテスト
コンポーネント テストは、テスト対象のソフトウェアまたはアプリケーション内の残りの他のコンポーネントを分離して、または分離せずに実行できます。 他のコンポーネントを分離して実行する場合は、小規模コンポーネント テストと呼ばれます。
例1: 5 つの異なる Web ページがある Web サイトを考えてみましょう。各 Web ページを個別にテストし、他のコンポーネントを分離してテストすることを、小規模でのコンポーネント テストと呼びます。
例2: 次のような多くのコンポーネントを含む、guru99.com Web サイトのホームページを考えてみましょう。
ホーム、テスト、 SAP、Web、Must Learn!、ビッグデータ、ライブプロジェクト、ブログなど。
同様に、ソフトウェアは多くのコンポーネントで構成されており、各コンポーネントには独自のサブコンポーネントがあります。 例 2 で説明した各モジュールを、他のコンポーネントとの統合を考慮せずに個別にテストすることを、 小規模でのコンポーネントのテスト。
以下のスナップ ショーのように [Testing] ドロップダウン メニューをクリックすると、さまざまな項目が表示されます。 「サブコンポーネント」 テストコンポーネントのサブコンポーネントは 手動テスト、ソープイ、QTP、 JUnit, Selenium、テスト管理、 Selenium, モバイル テストなど
注意: サブコンポーネントは、以下のスナップショットでは赤色で強調表示されています。
CTIL – 大規模なコンポーネントのテスト
テスト対象のソフトウェアまたはアプリケーション内の他のコンポーネントを分離せずに実行されるコンポーネント テストは、大規模コンポーネント テストと呼ばれます。
よりよく理解するために例を挙げてみましょう。 XNUMX つのコンポーネントで構成されるアプリケーションがあるとします。 コンポーネントA, 成分B、 コンポーネント C.
開発者はコンポーネント B を開発し、それをテストしたいと考えています。 しかし、そのためには 完全に コンポーネント B をテストしますが、その機能のほとんどはコンポーネント A に依存し、ほとんどはコンポーネント C に依存しません。
機能フロー: A -> B -> C これは、図のスタブにあるように、A と C の両方から B への依存関係があることを意味します。 関数と呼ばれる、 そしてドライバーは 関数の呼び出し.
しかし、コンポーネント A とコンポーネント C はまだ開発されていません。 その場合、コンポーネント B を完全にテストするには、必要に応じてコンポーネント A とコンポーネント C をスタブとドライバーで置き換えることができます。 基本的に、コンポーネント A と C は、実際に開発されるまでダミー オブジェクトとして機能するスタブとドライバーに置き換えられます。
- スタブ: 以下の図に示すように、テスト対象のソフトウェア コンポーネントからスタブが呼び出されます。「スタブ」はコンポーネント A によって呼び出されます。
- ドライバ: 以下の図に示すように、ドライバーはテスト対象のコンポーネントを呼び出します。「コンポーネント B」はドライバーによって呼び出されます。
コンポーネントテストのテストケースの例
以下の図に示す 2 つの Web ページについて考えてみましょう。ここでは、両方の Web ページが機能の観点から相互に関連しています。
- Web ページ 1 は、demo.guru99.com へのログイン ページです。
ユーザーがテキスト フィールドに有効なユーザー ID とパスワードを入力して送信ボタンをクリックすると、Web ページは guru99 デモ バンク Web サイトのホームページに移動します。
- Web ページ 2 は、Guru99.com のホームページです。
したがって、ここではログイン ページが XNUMX つのコンポーネントであり、ホームページが別のコンポーネントです。 個々のページの機能を個別にテストすることは、 コンポーネントのテスト.
コンポーネントのテスト シナリオは Web ページにあります 1 –
- 無効なユーザー ID を入力し、わかりやすい警告ポップアップがエンド ユーザーに表示されるかどうかを確認します。
- 無効なユーザー ID とパスワードを入力し、「リセット」をクリックして、テキスト フィールドのユーザー ID とパスワードに入力したデータが消去されるかどうかを確認します。
- 有効なユーザー名とパスワードを入力し、「ログイン」ボタンをクリックしてください。
コンポーネントのテスト シナリオは Web ページにあります 2 –
- ホームページに「guru99 bank の管理者ページへようこそ」というメッセージが表示されているかどうかを確認します。
- Web ページの左側にあるすべてのリンクをクリックできるかどうかを確認します。
- ホームページの中央にマネージャー ID が表示されているかどうかを確認します。
- 図に示すように、ホームページに 3 つの異なる画像が存在することを確認します。
単体テストとコンポーネントテスト
単体テスト | コンポーネントテスト |
---|---|
プログラムが仕様に従って実行されることを実証するための個々のプログラム、モジュールをテストすることを「テスト」といいます。 単体テスト | 他のオブジェクトを分離して、または分離せずに、各オブジェクトまたはソフトウェアの一部を個別にテストすることを、 コンポーネントテスト |
設計文書に対して検証済み | テスト要件、ユースケースに対して検証済み |
単体テストは開発者によって行われます | コンポーネントのテストはテスターによって行われます |
単体テストが最初に行われます | コンポーネント テストは、開発者側での単体テストが完了した後に行われます。 |
製品概要
In ソフトウエアエンジニアリング, コンポーネントのテストは、バグを発見する上で重要な役割を果たします。 始める前に 統合テスト コンポーネントテストと統合テストの後、コンポーネントテストが続きます。
コンポーネント テストは、一部の参考文献ではモジュール テストとも呼ばれます。