読み方 : じょうたいせんいテスト
状態遷移テスト【state transition testing】
概要
状態遷移テストとは、システムやソフトウェアが取り得る状態と、その状態間の変化に着目して動作を検証するテスト手法。現在の状態と入力やイベントの組み合わせにより、次の状態や出力が正しく決定されるかを確認することを目的とする。

多くのシステムは内部に複数の状態を持ち、利用者の操作や外部条件によって振る舞いが変化する。例えばログインの有無、処理待ちや実行中といった区別や、自動販売機における待機中、金額投入済み、商品選択済みといった段階がある。
状態遷移テストでは、これらの状態と遷移条件を整理し、ある状態で特定の入力が与えられた場合にどの状態へ移行し、どの出力や副作用が生じるかを検証する。単純な入力と出力の対応ではなく、直前の状態が次の挙動に影響する点を明示的に扱うのが特徴である。
テスト設計では、状態をノード、遷移を矢印で表す「状態遷移図」や、状態と入力の組み合わせを整理した「状態遷移表」が用いられる。これらのモデルを基に想定される状態と遷移を洗い出し、正しい遷移が行われるか、許可されない操作で不正な遷移が起きないかを確認する。特定の状態に入った際の出力、エラー処理、境界条件での振る舞いも検証対象となる。
網羅基準としては、全状態の通過や全遷移の実行、無効な遷移の確認などがあり、状態数や遷移が増えると組み合わせが増大するため、実用上は代表的な経路を選択してテストケースを構成することもある。画面遷移を伴う業務アプリケーション、交通系ICカードの改札処理、ECサイトの注文管理フロー、通信プロトコルの制御、組込み機器の制御ロジックなど、状態依存の動作を持つシステムに広く適用される手法である。
関連用語
資格試験などの「状態遷移テスト」の出題履歴
▼ 基本情報技術者試験
【平28春 問48】 システム結合テストにおける状態遷移テストに関する記述として,適切なものはどれか。