■ 状態遷移テストとは?
ブラックボックステストで使用されるテスト設計技法の一つで、
システムが異なる状態に遷移する過程をテストする手法です
システムの動作が入力や条件によって異なる状態に遷移する場合、
その遷移が正しく行われるかを検証します
特に、複雑な状態遷移を持つシステムで効果を発揮します
・特徴
-> 状態と遷移に焦点を当てる:
システムが保持する状態と、状態間の遷移に焦点を当てます
(例:「未ログイン」の状態から「ログイン済み」状態に遷移)
-> 正常系と異常系をテスト:
正常系:期待どおりに状態が遷移するかを確認
異常系:無効な入力や不正操作によるエラーが正しく検出されるかを確認
-> 状態遷移図を使用:
システムの状態と遷移の関係を視覚的に表現した状態遷移図を使うことが一般的です
これにより、システムの挙動をより明確に理解し、テストケースを設計しやすくします
この図では、以下の5つの状態を示しています:
・未ログイン
・ログイン試行中(正しい or 間違った ID/Passwordでログインしようとした際の遷移)
・ログイン成功
・ログイン失敗
・アカウントロック(仕様で決められたログイン失敗回数をオーバーした際の遷移)
※状態間の遷移を矢印で示し、各矢印にはその遷移を引き起こす条件が記載されています
・目的
-> システムが状態間を正しく遷移することを確認し、不正な遷移やエラーを防ぐ
-> システムが期待通りに状態を遷移し、異常な状態に入らないかを確認
【例】
例えば、オンラインショッピングサイトにおける注文処理の状態遷移の場合
■ 1.状態:
・未ログイン、ログイン済み、商品カートに商品追加、注文確認、注文完了
■ 2.遷移:
・ユーザーが「ログイン」すると「未ログイン」から「ログイン済み」に遷移
・商品をカートに追加すると「商品カートに商品追加」の状態に遷移
・注文を確定すると「注文確認」から「注文完了」に遷移
・利点/欠点
■ 利点
・不正な遷移の検出:
システムが不正な状態に遷移しないか確認でき、予期しない動作を防げる
・状態ごとの動作確認:
システムが異なる状態で期待通りに動作するか検証できる
■ 欠点
・状態が多い場合の複雑性:
状態と遷移が多くなると、テストケースが膨大になり、管理が難しくなることがある
また、全ケースをテストすることが困難になる
・まとめ
状態遷移テストは、システムが特定の状態に到達する為のイベントや条件を明確にし、
遷移が正しく行われることを確認します
特に、複雑な状態遷移を持つシステムで効果を発揮します
システムの安定性や正確性を高めるために重要なテスト手法です
「■ テスト技法:シナリオテスト」へ続く