
「状態遷移テスト」とはソフトウェアテスト標準用語集では
ブラックボックステストの設計技法の一つ。無効と有効
の状態遷移を実行するテストケースを設計する。
と定義されています。が、
そもそも「状態遷移」という言葉の定義も合わせてちゃんと理解しておきたいです。
ソフトウェアテスト標準用語集では、「状態遷移」とは
コンポーネントやシステムにおいて、二つの状態の間を遷移すること。
と定義されています。
つまり、どういうことか?というと、
例えば、ECサイトのログイン画面で言うと、
「未ログインの状態」から→ログインボタンを押す(ID/PASSを入力して)→「ログイン済みの状態」になること!
みたいなテストを状態遷移テストと呼びます。
◾️状態遷移図とは
ちなみに
先ほどの例
「未ログインの状態」から→ログインボタンを押して(正しいID/PASSを入力して「ログイン済みの状態」になる
これを状態遷移図で表すと

こんな感じになります。
つまり、何を表しているか、ということで図にすると

という感じになります。
ちなみにUMLステートマシン図というと、もう少し細かい記載ルールがあります。
◾️N スイッチテストとは
また、状態遷移テストと合わせて覚えておきたい用語として、「N スイッチテスト」があります。
ソフトウェアテスト標準用語集では
状態遷移テストの一形式。N+1 遷移の全ての有効なシーケン
スを実行するテストケースを設計する
と、定義されています。
どういうことかというと、
例えば
「0スイッチテスト」というと
A状態でアレやるとB状態になる
みたいなテストです。つまり2つの状態間の遷移をカバーするテスト。
「1スイッチテスト」
A状態でアレやるとB状態になって、そんでコレやるとC状態になる
みたいなテストです。つまり3つの状態間の遷移をカバーするテストです。
以上、「状態遷移テスト」についてのざっくり説明でした!
◾️参考文献
