読み方 : せいぎょパステスト
制御パステスト【path testing】パステスト/制御フローテスト
概要

プログラムには条件分岐、ループ、例外処理といった制御構造が含まれており、入力値によって実行されるコードの経路が変化する。特定のテストデータだけでは一部の経路しか通らず、実行されないコードに潜む欠陥を見落とすリスクがある。
制御パステストでは、プログラムの制御構造をフローチャートや制御フローグラフ(CFG:Control Flow Graph)として分析し、どの経路が存在するかを把握したうえで、それぞれの経路を実行するテストケースを設計する。分岐条件の誤りや論理構造の不整合、到達不能コードなどの欠陥を検出しやすくなる。
実際のソフトウェアでは、すべての実行経路を網羅することは組み合わせ爆発のため現実的でない場合が多い。このためテストの範囲は一定の網羅基準に基づいて設定される。代表的な基準には、各命令が少なくとも一度は実行されることを確認する「命令網羅」(C0)、すべての分岐の真偽をそれぞれ実行する「分岐網羅」(C1)、条件式の各要素の真偽を確認する「条件網羅」(C3)などがあり、この順に求められるテストケースが増大する。