SkillStack
テクノロジ系6 / 25問

システムアーキテクト試験 令和6年度 春期 午前II 問6

プログラムに、実行中の特定の時点で成立すべき変数間の関係や条件を記述した論理式を埋め込んで、そのプログラムの正当性を検証する手法はどれか。

選択肢を押すと答え合わせができます。

正解と解説を見る

【正解】ア

アサーションチェックは、プログラム中に「この時点では必ず成立するはず」という論理条件を埋め込み、実行時にその真偽を確認する手法です。例えば、出庫処理後に在庫数が0以上であるという条件を置き、偽になれば異常として検出します。条件が真なら処理を続け、偽なら設計上の前提が崩れたことを通知します。変数間の関係や事前条件、事後条件、不変条件を明示できるので、不具合が生じた箇所を早く発見できます。

イのコード追跡は誤りです。これは、実行された命令や処理経路、変数値の変化を順番に記録又は観察し、不具合の原因を調べる手法です。 ウのスナップショットダンプは誤りです。これは、障害発生時など特定時点の主記憶、レジスタ、変数などの状態を一括して出力する手法です。 エのテストカバレッジ分析は誤りです。これは、テストによって命令、分岐、条件などがどの程度実行されたかを測り、テストの網羅度を評価する手法です。

【ポイント】 アサーションは、本来成立しない状態を検出するための仕組みであり、通常の入力誤りを処理する機能とは区別します。 「条件を埋め込む」ならアサーション、「実行範囲を測る」ならカバレッジと切り分けます。

出典:令和6年度 春期 システムアーキテクト試験 午前II 問6
※ 解説は SkillStack 編集部が作成したものです。Web 表示のため、図表の配置や表記を一部改めています。

この回の25問を、アプリで通しで解く

  • 本番と同じ問題数・制限時間で通し演習(模試モード)
  • 間違えた問題は自動で「復習すべき問題」に回る
  • 解説で分からない点はAIに質問できる
SkillStackで無料で始める