テスト技法(ホワイトボックステスト・ブラックボックステスト)とは?てすとぎほう
テスト技法(ホワイトボックステスト・ブラックボックステスト)とは、内部構造を見て命令網羅・分岐網羅などの基準でケースを作るのがホワイトボックス、入出力の関係だけを見て同値分割などで作るのがブラックボックス。SQLは1文の中に分岐が現れないため、内部構造にあたるのは実行計画で、EXPLAINで経路を見ないとどちらの網羅も測れないのが特徴になる。
最終更新:2026-10-06
データベースSPを最短で暗記・合格する →背景
同じ仕様でも、実装の中には仕様書に現れない分岐がある。だから外から見る目と中を見る目の両方が要る、というのがこの分類の出発点。DBが厄介なのは、その中身が固定ではなく、統計情報と件数によって実行時に選ばれる点にある。コードを1文字も変えなくても、データが変われば通る経路が変わる。
具体例
同じSELECTでも、PostgreSQLは対象が全体の数%ならインデックススキャン、1割を超えるあたりからSeq Scanへ切り替える。だからテストでは選択率の低いケースと高いケースを両方作り、EXPLAIN (ANALYZE) で狙った経路を通ったかを確認する。PL/pgSQLの手続きにはIF分岐が実在するので、そちらは分岐網羅がそのまま効く。
試験での引っ掛け
命令網羅(全行を1回実行)と分岐網羅(全分岐を1回通る)はカバー範囲が違い、分岐網羅の方が厳しい。DB特有の落とし穴は件数で、10行のテストデータでは統計情報が効かずPostgreSQLは常にSeq Scanを選ぶ。本番相当の100万行を入れて初めて本番と同じ計画が再現される。
関連用語
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。