【じょうたいせんいてすと】

状態遷移テスト とは?

💡 システムの「変身パターン」をすべて追いかけるテスト
📌 このページのポイント
状態遷移テスト ― 状態の変化をテスト 未ログイン (初期状態) ログイン中 アカウント ロック ログイン成功 ログアウト 3回連続失敗 30分経過 / 管理者解除 不正遷移のテスト例 「ロック中」→ 直接「ログイン中」に遷移できないことを確認
状態遷移テストのイメージ
ひよこ ひよこ

状態遷移テストって、画面遷移のテストのこと?

ペンギン先生 ペンギン先生

画面遷移も一例だけど、もっと広い概念だよ。注文の「未払い→支払済→発送済→配達完了」みたいなステータス変化や、ユーザーの「未認証→ログイン中→ロック中」みたいな状態変化全般が対象なんだ

ひよこ ひよこ

どうやってテストするの?

ペンギン先生 ペンギン先生

まず状態遷移図を描いて、丸で状態を、矢印で遷移を表すんだ。次に状態遷移表を作って、各状態で各イベントが起きたときに「どの状態に遷移するか」を整理する。正常遷移と不正遷移の両方をテストケースにするよ

ひよこ ひよこ

不正な遷移って?

ペンギン先生 ペンギン先生

たとえば「未払い」の状態でいきなり「配達完了」になっちゃダメだよね。そういう「起きてはいけない遷移が本当に起きないか」を確認するのが重要なんだ。セキュリティ上の問題はこの不正遷移から見つかることも多いよ

ひよこ ひよこ

状態が多いと大変そう…

ペンギン先生 ペンギン先生

状態が5個でイベントが3個なら15パターンだけど、状態が増えると急に組み合わせが膨大になるよ。だから重要な遷移パスに絞ったり、1遷移テスト(0-switch coverage)でまず基本を押さえてから、複数遷移のシナリオを追加するのが現実的なアプローチだよ

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「状態遷移テスト」って出てきたら「システムの状態の変化パターンをテストする技法」と思えればだいたいOK!
📖 おまけ:英語の意味
「State Transition Testing」 = 状態遷移テスト
💬 state は「状態」、transition は「遷移・移り変わり」で、状態が別の状態に変わることをテストするんだよ
← 用語集にもどる