テスト


ここでのテスト(test)はソフトウェアテストのことで、作成したソフトウェア(プログラム)が正しく動作することを確認する作業のことです。
テストは色々な分類分けができるのでそれを以下にまとめます。

ソフトウェアの構造に着目したテストの分類

テスト名 内容
ホワイトボックステスト [white box test]
プログラムの構造に着目したテストで、プログラムのどの部分の動作確認を行ったかを注目する
ホワイトボックステストは、以下の方法がある
  • 命令網羅
    ソースプログラム中のすべての命令を1回以上実行
  • 分岐網羅(判定条件網羅)
    すべての判定条件の真と偽を1回以上実行
  • 条件網羅
    すべての判定条件で、真と偽のすべての組み合わせを実行
  • 判定条件/条件網羅
    判定条件を行い、さらに、判定条件網羅を組み合わせを実行
  • 複数条件網羅(分岐条件網羅)
    すべての条件の真と偽の組み合わせとその分岐を実行
ブラックボックステスト [black box test]
プログラムの入出力に着目したテストで、機能仕様どおりに動作することを確認する
ブラックボックステストには、以下の方法がある
  • 同値分割
    入力を、有効なデータの範囲と無効なデータの範囲に分け、それぞれの代表的な値を用いて実行
  • 限界値分析(境界値分析)
    入力を、有効なデータの範囲と無効なデータの範囲に分け、その境界となる値を用いて実行

テストのフェーズによる分類

テスト名 内容
単体テスト 作成したプログラムの、機能ごと(関数、モジュール)のテストを行う
ホワイトボックステストで行う
結合テスト 単体テストが完了したプログラムを組合せてテストを行なう
プログラムのインタフェースについてのテストであり、ブラックボックステストになる
組合せのどこからテストを行なうかで、トップダウンテストとボトムアップテスト、ビッグバンテストに分類できる
  • トップダウンテスト(top down test)
    上位モジュールから順に結合させて行なうテスト
    利用する下位モジュールがない場合は、代替となるプログラム(スタブ)を用意する
  • ボトムアップテスト(bottom up test)
    下位モジュールから順に結合させて行なうテスト
    呼び出しを行う上位モジュールがない場合は、代替となるプログラム(ドライバ)を用意する
  • ビッグバンテスト(big bang test)
    全てのモジュールを組合せて一気にテストを行なう手法
    小規模なソフトウェア向き
システムテスト 作成したプログラムだけでなく、他のプログラムやハードウェア、ネットワーク、データベースなどと組み合わせて実施するテスト
総合的な機能の確認を行う
運用テスト ソフトウェア(システム)の利用者が行なうテストで、性能の確認や、取扱説明書、トラブルシューティングどおりに動作するかの確認を行う
利用者が行うことが難しいシステムの場合、システム開発に直接係っていない人がマニュアルを見ながら行うこともある(第三者検証)
移行テスト 旧システムから新システムへの移行を行うときに、移行作業の手順をまとめリハーサルを行い、実際の移行作業をスムーズに行うためのテスト
十分な移行テストを行わないで移行作業を行いトラブルと、新システムに最初からけちがつき、利用者の信頼を行う

その他のテスト

テスト名 内容
退行テスト [リグレッションテスト(regression test)]
プログラムの変更を行ったときに、予想しない箇所に変更の影響がないかを確認するテスト
バグの修正で新たなバグが発生していないかのテスト
結合テスト、システムテストの一貫として行なう
負荷テスト [ストレステスト(stress test)]
短時間に大量のデータを与えるなどの高い負荷をかけて、ソフトウェア(システム)が正常に動作しているかを確認するテスト
システムテストの一貫として行なう
連続テスト 長時間ソフトウェアを動作させて、リソースの解放漏れなどがないかを確認するテスト
システムテストの一貫として行なう
ユーザテスト [user test]
使いやすさを実際にユーザに使ってもらうことで確認するテスト
システムテストの一貫として行なう
テストのバグ埋込み法 [エラー埋込み法]
ソフトウェアのテストを行うときに、開発者が故意にソフトウェアにバグ(エラー)を埋込み、第三者によるテストを行ない、発見したバグのうち埋込んだバグが幾つあるかで、プログラム中に残っているバグの数を推定する方法
埋込んだバグをすべて発見したところで、プログラム中にこのテスト方法で検出可能なバグは残っていないと判断する

戻る 一覧へ