今回は始めに前回予告した単体テスト項目の選定基準(例)を示し、その後に結合テストの説明に入ります。
1.単体テスト項目の選定基準(例)| 単体テストは、対象プログラムが内部仕様通りかどうかを確認するためのテストなので、ホワイトボックス・テスト手法による命令網羅、判定条件網羅、条件網羅などを基本として、すべての経路を通るように設計しなければなりません。したがって一般的に次のようなテスト項目選定基準を設定します。 | ||
| ・以下に関する上限値、下限値、範囲外(1単位超えた値を含む)の値 ・入力パラメータ、引数 ・条件付き繰り返し文 ・判定文 ・下位モジュール呼出時の入力引数 ・下位モジュール復帰時の出力引数 ・ポインタ、テーブル添字 ・計算処理の境界値(オーバーフローになる値、除数がゼロになる値など) ・すべての終了条件下での出力引数設定の確認 ・領域確保後の、すべての終了条件下での領域開放の確認 ・ファイルオープン後の、すべての終了条件下でのファイルクローズの確認 ・ファイル利用時のファイルとレコードの有無 ・ファイル作成時の領域の有無 など |
||
| 結合テストは、この次のステップであるシステムテストにスムーズに移行できるように、互いに関連し合う複数のテスト対象プログラム間のインタフェースを確認し、結合したプログラム全体として正しく動作するかどうかを検証するためのテストです。 | |||
| (1)開始と終了 | |||
| 結合テストは、すべてのテスト対象プログラムの単体テストがすべて完了した状態から開始します。計画したテスト、即ち、テスト対象プログラム間のインタフェースに関わるテストと全体としての動作テストをすべて実行し、テストで発見された不具合がすべて処置された時点で終了しますが、対外的には結合テスト報告書のレビューを受け、承認を得た時点で完了となります。 | |||
| (2)ガイドライン | |||
| 結合テストは一般に以下のガイドラインに沿って実施します。 | |||
| ・ ・ ・ ・ ・ ・ |
テスト対象プログラム間のインタフェースをすべて確認する。 テスト対象プログラムには、お互いに動作を制御し合う関係、メッセージ、共有メモリ、ファイルなどで情報を伝達し合う関係を有しているものを選定する。 テスト対象プログラムを結合して、全体としての動作をすべて確認する。 他のプログラムで表示する画面情報などとの内容の整合性、レイアウトや操作性の統一性などを確認する。 関連するミドルウェアなどを結合して、自プログラムの仕様と機能をすべて確認する。 関連するプログラムやミドルウェアの利用可能性について、スケジュールを綿密に調整する。 単体テスト段階の不十分さや品質不足は絶対避けるべきである。 |
||
| (3)結合テストの目標値 | |||
| 結合テストにおける目標値は、当該テストの妥当性やテスト対象プログラムの品質を評価するものです。この目標値は、品質マネジメント計画書に記述しておきます。 結合テストの目標値の例を幾つか掲げます。 |
|||
| ・テスト項目選定件数 プログラムの仕様と機能をすべて網羅するために、関連する各プログラムの インタ フェースをすべてテストすることを考慮して、 30 ステップで1件 ・バグ検出数 単体テスト段階で十分なテストが実施されているという前提で、 100 ステップで1件 ・テスト消化率 基本は100%が目標であるが、テスト環境上の問題などでテストができない場合を 考慮して、 90%以上 ただし、未テスト項目はトラッキングできるようにしておき、環境などが整備された 場合にはテストを実施すること。 |
|||
| 上記の目標値はあくまでも例ですので、実際にはインタフェース仕様の特性などを考慮して設定することになります。 なお、ここでは目標値例をステップ当りの数値としましたが、前回も記述したように、ステップ算出ができない言語では、ファンクション・ポイント当りの数値として設定する場合もあります。 |
||
| 次回は結合テストの方法として、ボトムアップ・テストとトップダウン・テストについて説明します。その中でドライバとスタブにも触れたいと思います。前回、スタブについては今回説明するとしていましたがご容赦ください。 | ||
| 参考文献: | ソフトウェア品質ガイドブック 森口繁一編 日本規格協会 |