状態遷移テストを3分で理解する

テスト技法

「状態遷移テスト」とはソフトウェアテスト標準用語集では

ブラックボックステストの設計技法の一つ。無効と有効
の状態遷移を実行するテストケースを設計する。

と定義されています。が、

そもそも「状態遷移」という言葉の定義も合わせてちゃんと理解しておきたいです。

ソフトウェアテスト標準用語集では、「状態遷移」とは

コンポーネントやシステムにおいて、二つの状態の間を遷移すること。

と定義されています。

つまり、どういうことか?というと、

例えば、ECサイトのログイン画面で言うと、

「未ログインの状態」から→ログインボタンを押す(ID/PASSを入力して)→「ログイン済みの状態」になること!

みたいなテストを状態遷移テストと呼びます。

◾️状態遷移図とは

ちなみに

先ほどの例

「未ログインの状態」から→ログインボタンを押して(正しいID/PASSを入力して「ログイン済みの状態」になる

これを状態遷移図で表すと

こんな感じになります。

つまり、何を表しているか、ということで図にすると

という感じになります。

ちなみにUMLステートマシン図というと、もう少し細かい記載ルールがあります。

◾️N スイッチテストとは

また、状態遷移テストと合わせて覚えておきたい用語として、「N スイッチテスト」があります。

ソフトウェアテスト標準用語集では

状態遷移テストの一形式。N+1 遷移の全ての有効なシーケン
スを実行するテストケースを設計する

と、定義されています。

どういうことかというと、

例えば

「0スイッチテスト」というと

A状態でアレやるとB状態になる

みたいなテストです。つまり2つの状態間の遷移をカバーするテスト。

「1スイッチテスト」

A状態でアレやるとB状態になって、そんでコレやるとC状態になる

みたいなテストです。つまり3つの状態間の遷移をカバーするテストです。

以上、「状態遷移テスト」についてのざっくり説明でした!

◾️参考文献