【じょうたいせんいてすと】
状態遷移テスト とは?
💡 システムの「変身パターン」をすべて追いかけるテスト
📌 このページのポイント
- 状態遷移図や状態遷移表を使ってシステムの全状態と遷移を可視化する
- 正常な遷移だけでなく、起きてはいけない不正な遷移もテスト対象にする
- ログイン状態、注文ステータス、画面遷移など状態を持つシステムに有効
- ブラックボックステスト技法の一つで、組込みシステムでも頻繁に使われる
状態遷移テストって、画面遷移のテストのこと?
画面遷移も一例だけど、もっと広い概念だよ。注文の「未払い→支払済→発送済→配達完了」みたいなステータス変化や、ユーザーの「未認証→ログイン中→ロック中」みたいな状態変化全般が対象なんだ
どうやってテストするの?
不正な遷移って?
たとえば「未払い」の状態でいきなり「配達完了」になっちゃダメだよね。そういう「起きてはいけない遷移が本当に起きないか」を確認するのが重要なんだ。セキュリティ上の問題はこの不正遷移から見つかることも多いよ
状態が多いと大変そう…
状態が5個でイベントが3個なら15パターンだけど、状態が増えると急に組み合わせが膨大になるよ。だから重要な遷移パスに絞ったり、1遷移テスト(0-switch coverage)でまず基本を押さえてから、複数遷移のシナリオを追加するのが現実的なアプローチだよ
まとめ:ざっくりこれだけ覚えればOK!
「状態遷移テスト」って出てきたら「システムの状態の変化パターンをテストする技法」と思えればだいたいOK!
📖 おまけ:英語の意味
「State Transition Testing」 = 状態遷移テスト
💬 state は「状態」、transition は「遷移・移り変わり」で、状態が別の状態に変わることをテストするんだよ