戦国IT - 情報処理技術者試験の過去問対策サイト
ブログお知らせお問い合わせ料金プラン

システムアーキテクト 2025年 午前206


問題文

プログラム中にエラーが存在するかどうかなどを、ソースプログラムを分析することによって調べるテストツールはどれか。

選択肢

静的解析ツール(正解)
テストカバレッジ分析ツール
テストベッド
メトリクス計測ツール

プログラム中にエラーが存在するかどうかなどを、ソースプログラムを分析することによって調べるテストツールはどれか。【午前2 解説】

要点まとめ

  • 結論:ソースコードを実行せずに構文や潜在的な不具合、コーディング規約違反や脆弱性を検出するのは静的解析ツールです。
  • 根拠:問題文の「ソースプログラムを分析する」という表現は実行を伴わない静的解析(ソースコード解析)の特徴と一致します。
  • 差がつくポイント:テストカバレッジは実行時の網羅性測定、テストベッドは実行環境、メトリクス計測は指標収集であり用途が明確に異なります。

正解の理由

静的解析ツールはソースコードを実行せずに静的に解析して文法エラー、型不整合、未使用変数、潜在的なバグやセキュリティ脆弱性、コーディング規約違反などを検出します。問題文の「ソースプログラムを分析する」という条件に該当するため、静的解析ツールが正解です。

よくある誤解(2〜3 行)

静的解析で実行時の振る舞い(ランタイムの論理エラーや環境依存の不具合)まで完全に検出できると誤解しがちです。実行が必要な問題は動的解析やテストで確認します。

解法ステップ

  1. 問題文で注目すべき語句を探す:「ソースプログラムを分析する」を特定する。
  2. 各選択肢の定義を思い出す:静的解析=実行不要、カバレッジ=実行時測定など。
  3. 実行を伴うかどうかで切り分ける:実行不要なら静的解析。
  4. 最終判断:実行不要でソース解析を行うツールを選ぶ。

選択肢別の誤答解説

  • : 静的解析ツール — 正解。ソースコードを実行せずに解析してエラーや脆弱性を検出します。
  • イ: テストカバレッジ分析ツール — 誤り。これはテスト実行時にどのコードが実行されたか(網羅率)を測定するツールです。
  • ウ: テストベッド — 誤り。テストを行うための環境やプラットフォーム(ハード・ソフトの組み合わせ)を指します。
  • エ: メトリクス計測ツール — 誤り。行数や複雑度などの指標を収集・可視化するもので、直接ソース解析によるエラー検出を主目的とはしません。

補足コラム(関連知識など)

  • 静的解析(SAST: Static Application Security Testing)は、コンパイラのチェックに加えてセキュリティルールや複雑度解析を行うことが多く、CIパイプラインに組み込まれて自動検出と品質維持に寄与します。代表的なツールに SonarQube、Coverity、ESLint(JavaScript)などがあります。
  • 静的解析は誤検知(false positive)が出やすい点に注意が必要で、検出結果のトリアージやルール調整が重要です。ランタイムのリソース競合や外部依存の不具合は動的解析や単体テストで補完します。

FAQ

Q: 静的解析ツールで全てのバグが見つかりますか?
A: いいえ。論理ミスや実行時依存の不具合、環境固有の問題は検出できないため、動的テストと組み合わせる必要があります。
Q: テストカバレッジと静的解析はどちらが先?
A: 一概には言えませんが、開発初期から静的解析でコード品質を保ち、テスト実行時にカバレッジで網羅性を評価するのが実務的です。

関連キーワード: 静的解析、SAST, テストツール、テストカバレッジ、テストベッド、ソフトウェア品質、コードレビュー、セキュリティ診断
← 前の問題へ次の問題へ →
戦国ITクイズ機能

\ せっかくなら /

システムアーキテクト
クイズ形式で学習しませんか?

クイズ画面へ遷移する

すぐに利用可能!

©︎2026 情報処理技術者試験対策アプリ

このサイトについてブログプライバシーポリシー利用規約特商法表記開発者について