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

状態遷移テスト とは?

公開:
💡 システムの「変身パターン」をすべて追いかけるテスト
📌 このページのポイント
状態遷移テスト ― 状態の変化をテスト 未ログイン (初期状態) ログイン中 アカウント ロック ログイン成功 ログアウト 3回連続失敗 30分経過 / 管理者解除 不正遷移のテスト例 「ロック中」→ 直接「ログイン中」に遷移できないことを確認
状態遷移テストのイメージ
ひよこ ひよこ
状態遷移テストって、画面遷移のテストのこと?
ペンギン先生 ペンギン先生
画面遷移も一例だけど、もっと広い概念だよ。注文の「未払い→支払済→発送済→配達完了」みたいなステータス変化や、ユーザーの「未認証→ログイン中→ロック中」みたいな状態変化全般が対象なんだ
ひよこ ひよこ
どうやってテストするの?
ペンギン先生 ペンギン先生
まず状態遷移図を描いて、丸で状態を、矢印で遷移を表すんだ。次に状態遷移表を作って、各状態で各イベントが起きたときに「どの状態に遷移するか」を整理する。正常遷移と不正遷移の両方をテストケースにするよ
ひよこ ひよこ
不正な遷移って?
ペンギン先生 ペンギン先生
たとえば「未払い」の状態でいきなり「配達完了」になっちゃダメだよね。そういう「起きてはいけない遷移が本当に起きないか」を確認するのが重要なんだ。セキュリティ上の問題はこの不正遷移から見つかることも多いよ
ひよこ ひよこ
状態が多いと大変そう…
ペンギン先生 ペンギン先生
状態が5個でイベントが3個なら15パターンだけど、状態が増えると急に組み合わせが膨大になるよ。だから重要な遷移パスに絞ったり、1遷移テスト(0-switch coverage)でまず基本を押さえてから、複数遷移のシナリオを追加するのが現実的なアプローチだよ
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「状態遷移テスト」って出てきたら「システムの状態の変化パターンをテストする技法」と思えればだいたいOK!
📖 おまけ:英語の意味
「State Transition Testing」 = 状態遷移テスト
💬 state は「状態」、transition は「遷移・移り変わり」で、状態が別の状態に変わることをテストするんだよ
← 用語集にもどる