🐙
テストについての基本情報[自分用]
ブラックボックステスト
中身(ソースコード)の実装が見えない状態で、テスト入力を使って正しい結果が返ってくるか確認する方法。
- 限界値(境界値)テスト: テストケースの入力が、仕様で区切りとなる境界に近いかどうかを確認する手法。例えば、年齢が0歳~幼児とされる範囲なら、境界値は 0、それ以下の -1 などもテストする。
- 同値分割: テスト対象の範囲を同じ性質を持つ部分に分割し、それぞれの代表的な値でテストする。例えば、年齢が1歳から5歳で「幼児」と定義されていれば、その範囲内であればどの値でもOKとするテスト。
ホワイトボックステスト
コードの内部構造に基づき、すべての命令や条件が正しく動作しているかを確認するテスト。
- 命令網羅: すべての命令を少なくとも1回は通るようにテストする。
- 判定条件網羅: 条件式の yes / no の両方(情報分岐のすべての結果)を確認するテスト。
- 条件網羅: x=2 && y=3 のような条件式の場合、 x=✅ / y=❌ など(個々の条件)の片方だけが満たされるテストをする。この場合、 ✅❌、❌✅、✅✅、❌❌ の4パターンを網羅する。
- 複数条件網羅: 条件式が複雑な場合に、すべての組み合わせを試す方法。テストケースが増え、やや複雑になることがある。
結合テスト(別名:システムテスト)
結合テストは、複数のモジュール(部品)や機能を組み合わせて、システム全体として正しく動作するかを確認するテストです。単体テストでモジュールごとに確認した後、結合テストで相互作用をチェックします。
ドライバとスタブ
-
スタブ: 呼び出される側の部品の代わりをする仮のプログラムです。
まだ完成していないモジュールの動作をシミュレーションするために使用します。 -
ドライバ: 呼び出す側の部品の代わりをする仮のプログラムです。
モジュールが上位の機能を持っていない場合、その上位機能のテストに使います。
トップダウンテスト
システムの上位(トップ)レベルのモジュールからテストを開始し、下位(ダウン)に進んでいく方法。
上位モジュールから順にテストを進めるので、スタブを利用して、まだ実装がない下位モジュールを仮に置きます。
メリット:主要機能の流れを早い段階で確認でき、設計段階の問題が早めに発見されやすい。
ボトムアップテスト
システムの下位モジュールからテストを開始し、徐々に上位モジュールへと結合していく方法。
下位モジュールから順にテストするため、ドライバを使用して、上位モジュールがまだ未実装の場合にその役割を担います。
メリット:下位モジュールの動作を早めに確認できるため、機能の基盤が安定しやすい。
ユーザ受け入れテスト
発注者が要望通りに稼働するかを確認する。
Discussion