トップダウン統合テストとボトムアップ統合テストの違い
コンテンツ
トップダウン統合テストとボトムアップ統合テストの主な違いは、トップダウン統合テストではスタブを使用してメイン関数に従属するサブモジュールを呼び出すのに対し、ボトムアップ統合テストではスタブを使用せずにドライバーを使用することです。関連する冗長性は、ボトムアップと比較してトップダウンアプローチの場合のほうが多くなります。
これらの2つの手法は統合テストの一部であり、インターフェイスに関連するエラーを検出するテストを同時に実行するプログラム構造を構築する体系的な方法を提供します。統合テストは主に、設計仕様に従ってプログラムを構築するために、単体テストされたコンポーネントを結合するために実施されます。
-
- 比較表
- 定義
- 主な違い
- 結論
比較表
比較の根拠 | トップダウン統合テスト | ボトムアップ統合テスト |
---|---|---|
ベーシック | 呼び出されたモジュールの一時的な置換としてスタブを使用し、分離された下位モジュールの動作をシミュレートします。 | テストドライバーを使用して、必要なデータを開始し、下位レベルのモジュールに渡します。 |
有益 | プログラムの上部に向かって重大な欠陥が発生した場合。 | プログラムの下部で重大な欠陥に遭遇した場合。 |
アプローチ | メイン関数は最初に記述され、その後サブルーチンが呼び出されます。 | モジュールが最初に作成され、次にメイン関数と統合されます。 |
に実装 | 構造/手順指向プログラミング言語。 | オブジェクト指向プログラミング言語。 |
リスク分析 | 内部運用障害の影響のコラボレーション。 | モデルは、個々のプロセスを分析するために使用されます。 |
複雑 | シンプル | 複雑で高度なデータ集約。 |
で動作します | 大きいコンポーネントから小さいコンポーネント。 | 小さい部品から大きい部品。 |
トップダウン統合テストの定義
の トップダウン統合テスト プログラム構造を構築する段階的な手法です。階層のメインコントロールから始めて、下に移動しながらモジュールを組み込みます。次に、深さ優先または幅優先のいずれかの方法を使用して、サブモジュールがメインモジュールに統合されます。トップダウン統合の主な目的は、テストプロセスの早い段階で重要な制御点と決定点を検証することです。
統合プロセスには、トップダウンアプローチで次の手順が含まれます。
- 主要な制御モジュールから始めて、メインモジュールの下にあるコンポーネントのスタブが置き換えられます。
- 下位スタブの置換戦略は、従う統合アプローチのタイプ(つまり、深さと幅が最初)に依存しますが、一度に実際のコンポーネントで置換できるスタブは1つだけです。
- コンポーネントの統合後、テストが実行されます。
- 一連のテストが完了すると、残りのスタブが実際のコンポーネントに置き換えられます。
- 最後に、新しいエラーがないことを確認するために回帰テストが実施されます。
トップダウンテストではスタブを使用して低レベルのデータを置き換えるため、上方向へのフローは許可されません。これを行うには3つの方法があります。まず、スタブを実際の関数に置き換えるまで、他の関数は遅延します。次に、制限された機能を実行し、実際のスタブを模倣できる新しいスタブを作成できます。最後のアイデアでは、スタブを下から上の階層に統合できます。ただし、最後のソリューションはボトムアップ統合と呼ばれ、次の定義で説明します。
ボトムアップ統合テストの定義
の ボトムアップ統合テスト 基本モジュール(つまり、最低レベルのプログラム要素)の構築から始まります。プロセスを提供することにより、最低レベル(つまり、最低レベル)にあるコンポーネントを統合し、スタブの必要性を排除します。統合が上方向に進むにつれて、個別のテストドライバーの要件は減少します。したがって、オーバーヘッドの量も、上下統合テストアプローチと比較して削減されます。
ボトムアップ統合には、次の手順が含まれます。
- ビルドとも呼ばれる低レベルの要素を、特定のソフトウェアサブ機能を実行するクラスターにマージします。
- ドライバー(制御プログラム)は、テストケースの入出力を調整するためにボトムアップ統合で使用されます。
- 次に、クラスターがテストされます。
- クラスターはプログラム構造内で上向きに組み込まれ、ドライバーは排除されます。
- トップダウン統合テストでは、低レベルの代替としてスタブを実装します。反対に、ボトムアップ統合テストでは、ドライバーを使用してデータを下位レベルのモジュールに渡します。
- メイン関数は、他のサブルーチンが呼び出されるトップダウン統合テストの最も重要な部分です。それどころか、ボトムアップアプローチでは、下位モジュールに重点を置き、最初にそれらを作成して統合します。
- 構造/プロシージャ指向プログラミング言語はトップダウン統合テストを実装し、ボトムアップテストはオブジェクト指向言語で実装されます。
- トップダウンテストアプローチのリスクを調べるために、内部の運用上の欠陥の影響を組み合わせます。対照的に、ボトムアップ統合テストでは、モデルの助けを借りてプロセスを個別に監視します。
- トップダウン統合テストは、ボトムアップテストに比べて単純です。
- トップダウン統合テストは、大規模コンポーネントから小規模コンポーネントまで機能しますが、ボトムアップアプローチはその逆です。
結論
どちらのアプローチでも、トップダウンおよびボトムアップ統合テストでトップダウンをテストすると、より冗長な結果が生成され、オーバーヘッドという形で追加の努力が必要になります。逆に、ボトムアップアプローチは複雑ですが、前者のアプローチよりも効率的です。