ソフトウェアテストを学ぶ その5.結合テストについてさっくり書いてみた
こんちは。ふっくら★太郎です。
今回は結合テストについて「さっくり」勉強したいと思います。
結合テストとは?
結合テストとは・・・
- 複数のモジュールやサブシステムを組み合わせてテストする工程。
- 単体テスト終了後に行う。
- 詳細設計書に記載している機能が動作することを確認する。
テストのこと。
テストする結合対象によって・・・
と呼ばれることもある。
結合テストで確認する内容
結合テストは複数のモジュールやサブシステムを組み合わせてテストする。
データの入出力に着目してテストを行い、データの整合性や、機能の妥当性を確認する。
結合テストはプログラムの内部構造の確認は行わないため、単体テスト完了後に行う。
モジュール間結合 → コンポーネント間結合 → サブシステム間結合 → システム間結合の順番でソフトウェアの階層構造別に結合テストを行う。
結合テストで行うテスト分類・技法
結合テストでは、詳細設計書に記載している機能が動作することを確認するため、機能テストを行う。
ソフトウェア階層ごとに求められる機能仕様は異なるため、各階層ごとに観点が異なる機能テストを実施する。
機能テストでは、ブラックボックステストと呼ばれる入力と出力のみに着目してソフトウェアを検証するテストを行う。
ブラックボックステストでは、以下のようなテスト技法を用いる。
結合テスト実施方法
結合テストでは・・・
と呼ばれる2種類のテスト方法を用いて開発中のソフトウェアをテストする。
トップダウンテスト
上位モジュールからテスト対象モジュールを呼び出して行うテスト。
テスト対象モジュールの下位モジュールは「スタブ」と呼ばれるテスト用プログラムを使用する。
上位モジュールは実モジュールを用いてテストするため、テスト対象モジュールだけでは無く、上位モジュールの欠陥の検出も行えるメリットがある。
反面、上位モジュールの開発が完了するまでテストができないことと、下位モジュールをシュミレーションするため、スタブ開発の難易度が高いデメリットがある。
ボトムアップテスト
テスト対象モジュールから上位モジュールを呼び出して行うテスト。
テスト対象モジュールの上位モジュールは「ドライバ」と呼ばれるテスト用プログラムを使用する。
上位モジュールにテスト用プログラムを使用するため、上位モジュールの開発完了を待たず、テストを開始できるメリットがある。
反面、上位モジュールと実際に結合した際に、インターフェイス仕様に関する欠陥が発生するリスクが生じる。
何れのテストを採用しても、メリット・デメリットはある。
そのため、開発スケジュールを調整し、実モジュール間結合でテストする方法も含め、テスト実施方法を検討することが重要。
結合テストで注意すべきこと
テスト実施のタイミング。
開発中のソフトウェアに対してテストを行うため、開発遅延や仕様変更等により、テストの遅延ややり直しが頻発する可能性がある。
開発計画、進捗状況を十分に考慮した上で、結合テストのスケジュール、実施を行わなければならない。
まとめ
- 結合テストは複数のモジュールやサブシステムを組み合わせてテストする工程。
- 結合テストは詳細設計書に記載している機能が正しく動作することを確認するため、機能テストを行う。
- 結合テストでは、「ブラックボックステスト」と呼ばれるテスト方法を用いて、入出力値に着目して、データの整合性や機能が正しく動作していることを確認する。
- 結合テストでは、開発中のソフトウェアをテストするため、テストタイミングによっては、実モジュール同士を結合してテストが行えないことがある。その場合は、「スタブ」や「ドライバ」と呼ばれるテスト治具を使用してテストを行う。
- 開発中のソフトウェアに対して結合テストを実施するため、開発計画、進捗状況、仕様変更を十分考慮した上でテスト計画、実施を行わなければならない。
単体テストと比べて、今回は、一般的な話に落ち着いた。
【参考】
【この1冊でよくわかる】ソフトウェアテストの教科書―品質を決定づけるテスト工程の基本と実践
- 作者: 石原一宏,田中英和,田中真史
- 出版社/メーカー: SBクリエイティブ
- 発売日: 2012/01/28
- メディア: 単行本
- 購入: 2人 クリック: 12回
- この商品を含むブログ (9件) を見る
ソフトウェアテスト教科書 JSTQB Foundation 第3版
- 作者: 大西建児,勝亦匡秀,佐々木方規,鈴木三紀夫,中野直樹,町田欣史,湯本剛,吉澤智美
- 出版社/メーカー: 翔泳社
- 発売日: 2011/11/12
- メディア: 単行本(ソフトカバー)
- 購入: 5人 クリック: 85回
- この商品を含むブログ (12件) を見る