基本情報技術者試験「ソフトウェアテスト」の問題
自動販売機やオンライン申込みのように、対象がイベントを受けて『待機中→入力中→確定済』のように状態を変える仕様に対し、各状態で受け付けるイベントと遷移先の正しさ、および本来許されない遷移が起きないことを確認するのに最も適したテスト技法はどれか。
ア状態遷移テスト
イ入力範囲の境界値分析を用いる方法
ウ命令網羅
エ同値分割
正解
ア.状態遷移テスト
状態遷移テストは、対象が取りうる状態とイベントによる遷移を状態遷移図や状態遷移表で整理し、正しい遷移が起きること、および定義されていない(許されない)遷移が起きないことを確認する。状態をもつ仕様の検証に最適で、設問の記述に合致する。
?選択肢ごとの解説
ア ○状態遷移テストは、対象が取りうる状態とイベントによる遷移を状態遷移図や状態遷移表で整理し、正しい遷移が起きること、および定義されていない(許されない)遷移が起きないことを確認する。状態をもつ仕様の検証に最適で、設問の記述に合致する。
イ ×境界値分析は入力値の境界付近を狙う技法であり、状態とイベントの遷移そのものを検証する目的のものではない。
ウ ×命令網羅はコードの実行文を網羅するホワイトボックス基準であり、状態遷移の妥当性を直接の対象としない。
エ ×同値分割は入力を同値クラスに分けて代表値を選ぶ技法で、状態遷移の検証を主目的とはしない。
✎くわしく
状態遷移テストでは、各状態×イベントのマトリクス(状態遷移表)を用いて、定義済み遷移の正当性に加え、未定義の組合せで誤った遷移や異常が起きないことも検証するのが要点である。0スイッチ網羅(単一遷移)やNスイッチ網羅(連続する遷移列)といったカバレッジ基準があり、対象の複雑さに応じて選ぶ。入力値中心の同値分割・境界値分析とは着眼点が根本的に異なる。
✓本番での押さえどころ
試験のコツ
『状態』『イベント』『遷移』『不正遷移の防止』とあれば状態遷移テストと判断する。
覚え方
状態の丸とイベントの矢印を追う『遷移の地図』を検証する、とイメージする。
よくある誤り
入力値の技法(同値分割・境界値分析)と混同しやすいが、状態をもつ振る舞いの検証は状態遷移テストの領域である。
開発技術の他の問題
アジャイル開発の手法であるスクラムにおいて、スプリントごとに動作するソフトウェアを開発チームが実際に作り上げ、その成果物をプ…ソフトウェアのテストにおいて、プログラムの内部構造には着目せず、入力に対する出力が仕様どおりであるかを検証する手法を採用した…あるシステムのファンクションポイント(FP)を見積もったところ、未調整FPは200であった。技術的複雑度を表す調整係数が0.…ソフトウェアの企画から開発・運用・保守・廃棄までの各活動について、取得者と供給者が同じ言葉で役割や作業範囲を取り決められるよ…ある開発プロジェクトでは、要件定義・設計・実装・テストの各工程を上流から下流へ順に進め、前工程の成果物を承認してから次工程へ…開発対象を複数の部分に分け、各部分について計画・リスク分析・開発・評価の活動を繰り返し、評価のたびにリスクを見極めながら少し…
この問題を、AIの8-ways解説つきで。
無料ではじめる →基本情報技術者試験の演習を、一問ごとに「なぜ」まで。まずは無料で。
ukamiru 過去問 · 基本情報技術者試験 · fe-a2-0081