開発技術

基本情報技術者試験ソフトウェアテスト」の問題

マネジメント系開発技術難易度:normal
自動販売機やオンライン申込みのように、対象がイベントを受けて『待機中→入力中→確定済』のように状態を変える仕様に対し、各状態で受け付けるイベントと遷移先の正しさ、および本来許されない遷移が起きないことを確認するのに最も適したテスト技法はどれか。
状態遷移テスト
入力範囲の境界値分析を用いる方法
命令網羅
同値分割
正解
状態遷移テスト

状態遷移テストは、対象が取りうる状態とイベントによる遷移を状態遷移図や状態遷移表で整理し、正しい遷移が起きること、および定義されていない(許されない)遷移が起きないことを確認する。状態をもつ仕様の検証に最適で、設問の記述に合致する。

?選択肢ごとの解説

ア ○状態遷移テストは、対象が取りうる状態とイベントによる遷移を状態遷移図や状態遷移表で整理し、正しい遷移が起きること、および定義されていない(許されない)遷移が起きないことを確認する。状態をもつ仕様の検証に最適で、設問の記述に合致する。
イ ×境界値分析は入力値の境界付近を狙う技法であり、状態とイベントの遷移そのものを検証する目的のものではない。
ウ ×命令網羅はコードの実行文を網羅するホワイトボックス基準であり、状態遷移の妥当性を直接の対象としない。
エ ×同値分割は入力を同値クラスに分けて代表値を選ぶ技法で、状態遷移の検証を主目的とはしない。

くわしく

状態遷移テストでは、各状態×イベントのマトリクス(状態遷移表)を用いて、定義済み遷移の正当性に加え、未定義の組合せで誤った遷移や異常が起きないことも検証するのが要点である。0スイッチ網羅(単一遷移)やNスイッチ網羅(連続する遷移列)といったカバレッジ基準があり、対象の複雑さに応じて選ぶ。入力値中心の同値分割・境界値分析とは着眼点が根本的に異なる。

本番での押さえどころ

試験のコツ

『状態』『イベント』『遷移』『不正遷移の防止』とあれば状態遷移テストと判断する。

覚え方

状態の丸とイベントの矢印を追う『遷移の地図』を検証する、とイメージする。

よくある誤り

入力値の技法(同値分割・境界値分析)と混同しやすいが、状態をもつ振る舞いの検証は状態遷移テストの領域である。

開発技術の他の問題

この問題を、AIの8-ways解説つきで。

基本情報技術者試験の演習を、一問ごとに「なぜ」まで。まずは無料で。

無料ではじめる →

ukamiru 過去問 · 基本情報技術者試験 · fe-a2-0081

【基本情報技術者試験】ソフトウェアテストの問題 — 解答・解説|ukamiru 過去問