テスト技法

手法による分類

ホワイトボックステスト

テスト対象の内部構造を考慮し、処理経路を網羅する様にテストケースを作成する。
結果(または途中経路)から逆算した入力値を与えるテストを行う。
網羅率(カバレッジ):処理経路を網羅する割合
コードカバレッジ:ソースコードから処理経路を網羅する様にテストケースを作成する事。

ブラックボックステスト

テスト対象の仕様を考慮し、入力可能なあらゆる値を入力値とするテストケースを作成する。
結果(または途中経路)は考慮しない。
テスト対象を「中の見えない箱」と見なし、あらゆる入力値を与える。

同値テスト(同値分割)

入力値をやみくもに設定するのではなく、
入力値として有効(と思われる)な値、
入力値として無効(と思われる)な値、
をそれぞれ設定する。
例:年月日における月
同値クラス(有効)=3、5、9等
同値クラス(無効)=0、-1、一、あ、A等
それぞれのクラスの中から代表的な値を同じ数を選んでテストケースとする。
これにより特定の同値クラスに偏ったテストを防げる。
また少ないテストケースで網羅率を上げられる。

境界値分析(境界値テスト)

同値クラスにおける境界値を選んでテストケースとするテスト。
同値分析を行った後に行う。
一般的に不具合は境界値において発生する為、
プログラムの品質を上げる効果がある。

リグレッションテスト

(=無影響確認デグレードテスト)
プログラムを変更した際に、その変更によって予想外の影響が現れていないかどうか確認するテスト。

モンキーテスト

テスト箇所、手順等を決めずに実施者がその場の思い付きで操作するテスト

対象による分類

単体テスト

UnitTest
単一のモジュールの挙動を調べるテスト

結合テスト(連結テスト)

IntegrationTest
単体では正常に動作するモジュールが複数組み合わさった場合の挙動を調べるテスト。
(1)テスト前半=ITa(IntegrationTestA)=内部結合テスト
(2)テスト後半=ITb(IntegrationTestB)=外部結合テスト
の2種類に分けられる。
※ただし(1)、(2)の範囲は人による。
例①:責任範囲による分割
自社が担当するテストをITa、
自社外(元請けやクライアント)が担当するテストをITb
例②:規模による分割
サブシステム内のテストをITa、
サブシステム間のテストをITb

システムテスト

システム全体の挙動を調べるテスト
できるだけ本番と同じ環境で行う。