令和6年度 春期 午前Ⅱ 問6
実装・構築
プログラムに,実行中の特定の時点で成立すべき変数間の関係や条件を記述した論理式を埋め込んで,そのプログラムの正当性を検証する手法はどれか。
- アアサーションチェック
- イコード追跡
- ウスナップショットダンプ
- エテストカバレッジ分析
答えと解説を見る
✓ これが正解アアサーションチェック
解説
成り立つべき条件を論理式で埋め込んで確かめるのがアサーションチェックです。
アサーションは、プログラムのある時点で必ず成り立っているはずの変数間の関係や条件を表明したものです。アサーションチェックでは、この条件を論理式としてプログラムに埋め込んでおき、実行中にその地点を通るたびに式を評価します。式が偽になれば、想定と違う状態に陥ったことがその場で分かるので、プログラムの正当性を確かめる手がかりになります。設問の、成立すべき関係を論理式で埋め込むという記述が、そのまま定義に重なります。ほかの選択肢は、実行の道筋や記憶内容を記録したり、テストの網羅度を測ったりする手法で、条件を表明して確かめるものではありません。表明して確かめる、と覚えておくと区別できます。
ほかの選択肢はなぜ違うのか
- イコード追跡:コード追跡は、実行された命令や経路を順に記録して、処理がどこを通ったかを確認するデバッグの手法です。通った道筋は分かりますが、成り立つべき条件を論理式で埋め込んで確かめるものではありません。
- ウスナップショットダンプ:スナップショットダンプは、実行中の指定した時点で記憶領域などの内容を書き出す手法です。その瞬間の値を残すだけで、値どうしの関係が正しいかを式で判定する仕組みは含みません。
- エテストカバレッジ分析:テストカバレッジ分析は、テストによって命令や分岐などがどれだけ実行されたかという網羅の度合いを測る手法です。テストの十分さを見るもので、プログラム中に条件を埋め込んで正当性を確かめるものではありません。
この問題の用語
- テスト決めたとおりに動くかを、実際に動かして確かめる作業のこと。何を確かめるかによって移行テスト、システムテストなどと呼び分けます。
- 分析集めたデータを細かく分けて、何がどう関わっているかを読み取ること。量が増えるほど、扱う道具も考え方も変わります。
出典:令和6年度 春期 システムアーキテクト試験 午前Ⅱ 問6
同じ用語が出る問題
- 令和7年度 春期 午前Ⅱ 問11:ユースケース駆動開発の利点(テスト)
- 令和7年度 春期 午前Ⅱ 問10:カークパトリックモデルの問題(テスト)
- 令和7年度 春期 午前Ⅱ 問6(テスト)
- 令和5年度 春期 午前Ⅱ 問7(テスト)
- 令和4年度 春期 午前Ⅱ 問9:バグ管理図に関する問題(テスト)
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)