テスト技法

ブラックボックステスト

 システムの内部構造を意識せず、入力に対して適切な結果が
 仕様どおりに得られるかをテスト技法。

 同値分割法

  仕様に基づいて入力データを同じような出力結果が得られる
  グループに分類し、各グループから代表値を選ぶ技法。

 境界値分析

  同値パーティション同士の境界の値を入力値として選択する技法。

 デシジョンテーブルテスト

  判定条件を整理した決定表(デシジョンテーブル)に基づいて、
  入力条件の組み合わせと出力結果を検証する技法。

 状態遷移テスト

  状態遷移図や状態遷移表を用いて、仕様どおりに正しく
  動作するか検証する技法。
 
 ユースケーステスト

  ユースケース記述を用い、ユーザーの視点で仕様どおりの
  動作をするか検証する技法。

ホワイトボックステスト

 システム内部の構造を理解したうえで、仕様どおりに正しく
 動作しているかを検証するテスト技法。

 ステートメントテスト

  プログラム上のステートメント(命令文)をテストによって
  何%実行できたかを評価する技法。
  各ステートメントを1回ずつ実行できればステートメント
  カバレッジが100%となる。

 デシジョンテーブルテスト

  プログラム中に存在する分岐の真・偽をテストによって
  何%通過したかを評価する技法。
  各分岐を1回ずつ通過できればデシジョンカバレッジが
  100%となる。

経験ベーステスト

 テスト担当者の経験・直感をベースに実施するテスト技法。
 スキルが高ければ一定の効果が得られる。

 エラー推測

  テスト担当者の経験、直感、想像力をベースにバグを予測し、
  テストケースを設計する技法。

 探索的テスト

  テスト担当者がテスト内容の作成とテスト実行を同時に並行
  して行うテスト技法。

 チェックリストベースドテスト

  テストの目的にそってチェックリストを作成し、そのチェック
  項目をテストする技法。
  チェックリストは、テスト担当者の経験、知識、ソフトウェアの
  仕組みについての理解に基づいて作成する。

テスト技法の選択

テスト技法は以下を考慮して選択する。

・コンポーネントまたはシステムの種類
・コンポーネントまたはシステムの複雑さ
・規則や標準
・顧客または契約上の要件
・リスクレベルとリスクタイプ
・入力可能なドキュメント
・テスト担当者の知識とスキル
・利用できるテストツール
・スケジュールと予算
・ソフトウェア開発ライフサイクルモデル
・コンポーネントまたはシステムで想定される欠陥の種類