基本情報技術者 2016年 春期 午前(科目A) 問48
問題文
システム結合テストにおける状態遷移テストに関する記述として、適切なものはどれか。
選択肢
ア:イベントの発生によって内部状態が変化しない計算処理システムのテストに適した手法
イ:システムの内部状態に着目しないブラックボックステスト用の手法
ウ:設計されたイベントと内部状態の組合せどおりにシステムが動作することを確認する手法(正解)
エ:データフロー図、決定表を使用してシステムの内部状態を解析する手法
🔒 解説は解答すると表示されます
状態遷移テスト【午前解説】
正解の理由
選択肢の中で、状態遷移テストの本質を正確に表しているのは ウ です。状態遷移テストはシステムの「内部状態」と「外部からのイベント(入力)」の組合せに注目し、設計どおりに状態変化や出力が起きるかを確認します。有限状態機械(State Machine)や状態遷移図を用いて、各状態間の遷移が期待どおりかを検証するため、ウの記述が一致します。
解法ステップ
- 問題文から「状態遷移テスト」のキーワードを確認する。
- 各選択肢が「状態」と「イベント(入力)」の関係を扱っているかをチェックする。
- 「設計どおりに動作するか確認する」という表現があれば正答候補と判断。
- 他の選択肢がデータフローやブラックボックスのみを強調していれば除外する。
- 最終的に「イベント×内部状態で検証」を表す選択肢を選ぶ。
選択肢別の誤答解説
- ア: イベントの発生によって内部状態が変化しない計算処理システムのテストに適した手法
- 誤り。状態遷移テストは内部状態が変化することを前提にしているため、ステートレスな計算処理には適合しません。
- イ: システムの内部状態に着目しないブラックボックステスト用の手法
- 誤り。状態遷移テストは内部状態(状態モデル)に着目するため、内部状態を無視するブラックボックスとは対立します。
- ウ: 設計されたイベントと内部状態の組合せどおりにシステムが動作することを確認する手法
- 正解。状態とイベントの組合せ(遷移)を検証する点が状態遷移テストの定義と一致します。
- エ: データフロー図、決定表を使用してシステムの内部状態を解析する手法
- 誤り。データフロー図や決定表は別のテスト設計技法(データフロー試験、決定表テスト)であり、状態遷移テストとは手法と対象が異なります。
よくある誤解
- 状態遷移テストはブラックボックス専用だと誤解する人がいるが、内部状態モデルを前提にするため設計情報を利用する半ホワイトボックス的要素を持つ場合もあります。
- 「内部状態が変化しない計算処理システムにも有効」と考える誤り:状態の概念が薄い(ステートレス)処理では適用価値が低いです。
- 決定表やデータフローと混同し、同じ手順で適用できると誤解することがあるが、対象とする観点(状態×イベント vs 条件組合せ/データのフロー)が異なります。
補足コラム
- モデル化:状態遷移テストは有限状態機械(状態集合 S、イベント集合 E、遷移関数)を用いて表現します。遷移網羅を目指すなら「全遷移カバレッジ」「全状態カバレッジ」が基準です。
- テストケース設計例:ドアの状態(Open, Closed, Locked)と操作(open, close, lock, unlock)をモデルにして、各遷移と不正操作(例:lockしようとしてClosedでない)を作成します。
- テスト数の目安:状態数を , イベント数を とすると理論上の可能遷移は最大 。ただし実際は無効遷移も多く、重要な遷移に優先度を付けます。
- ツール:状態遷移図を自動生成したり、テストケースを自動列挙するツール(モデルベーステストツール)が利用可能です。
FAQ
Q1: 状態遷移テストはブラックボックステストですか?
A1: 完全なブラックボックスではなく、仕様(状態モデル)を元にするためホワイトボックス寄りのモデルベーステストと言えます。内部実装を直接見るわけではありませんが設計情報を利用します。
A1: 完全なブラックボックスではなく、仕様(状態モデル)を元にするためホワイトボックス寄りのモデルベーステストと言えます。内部実装を直接見るわけではありませんが設計情報を利用します。
Q2: いつ状態遷移テストを選ぶべきですか?
A2: システムが明確な状態遷移を持ち、入力により状態変化や異なる出力をする場合に最適です(例:認証フロー、通信プロトコル、UIの多状態制御)。
A2: システムが明確な状態遷移を持ち、入力により状態変化や異なる出力をする場合に最適です(例:認証フロー、通信プロトコル、UIの多状態制御)。
Q3: 決定表テストと状態遷移テストの違いは?
A3: 決定表は条件の組合せと対応する処理を網羅するのに適しており、状態遷移は時間的連続性や状態依存の振る舞いを表現・検証するのに適しています。
A3: 決定表は条件の組合せと対応する処理を網羅するのに適しており、状態遷移は時間的連続性や状態依存の振る舞いを表現・検証するのに適しています。
Q4: どのカバレッジを目標にすべきですか?
A4: 重要性に応じて「全状態」「全遷移」「主要経路」の順で検討。クリティカルな部分は全遷移カバレッジを目指すべきです。
A4: 重要性に応じて「全状態」「全遷移」「主要経路」の順で検討。クリティカルな部分は全遷移カバレッジを目指すべきです。
関連キーワード: 状態遷移テスト、有限状態機械、テストケース設計、状態遷移図、ブラックボックステスト、決定表、データフロー、モデルベーステスト

\ せっかくなら /
基本情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

