書籍情報
セクション1 ブラックボックステスト技法
ブラックボックステストとは
- 要件と仕様書だけをよりどころにしたテスト戦略
- テスト対象ソフトウェアの内部パス、構造や実践に関する知識が不要
ブラックボックステスト手順
- 要件・仕様書を分析する
- 仕様書をもとにして有効な入力値を選択する
無効値を検出して正しく処理することを確認するため、無効な入力値も選択する - それぞれの入力値に対して、期待する出力を決定する
- 選択した入力値を使ったテストを作成する
- テストを実行する
- 実際の出力と期待する出力とを比較する
- ソフトウェアが正常に機能しているかどうかを判定する
ブラックボックステストの適用対象
- 単体テスト、統合テスト、システムテスト、受入テスト、すべてのレベルで適応可能
- ソフトウェアの規模が大きくなるほど、ブラックボックステストに頼らざるを得ない
ブラックボックステストの難点
- テスト担当者はテスト対象ソフトウェア内部のどれだけの部分を網羅できたかを明確に知る術がない
ブラックボックステストの利点
- テスト担当者が欠陥を見つけるための、有効かつ効率の高いテストのサブセット(下位集合)を選択できる。
第三章 同値クラステスト
同値クラステスト
- 十分なテストカバレッジを保ちながら、テストケースの数を管理可能な程度に減らすための技法
- 1つの条件を確かめるには、1つのテスト値だけでよい
- 条件範囲内の値を同値クラスと呼ぶ
- 同値クラス内のあるテストケースで欠陥が検出された場合、同じ同値クラスの他のすべてのテストケースで同じ欠陥が検出される
- 同値クラス内のあるテストケースで検出されない場合、同じ同値クラスの他のすべてのテストケースで同じ欠陥は検出されない
同値クラスの定義される仕様書が必要かつプログラマが適切なコードを書いていることが前提である
無効な入力値についてのテストケースは必要か
- 場合による
契約による設計
- モジュールは事前条件および事後条件という用語を用いて定義される
- 事後条件 = モジュールが何をするか(数値計算、DBレコード更新、ファイルのオープンなど)
- 事前条件 = 事後条件を満たすためにモジュールに必要なものが何かを定義(ファイルが存在すること、ファイル名がわかること、ファイルの読み取りが可能なことなど)
- 事前条件が満足された状況でのテストケースしか作成しない
防衛的設計** = モジュールはどんな入力でも受け付けるように設計される
- 正常な事前条件の場合には正常な事後条件を成立させる
- 異常な事前条件の場合にはエラーコードを返却or例外を発生させる