Skip to the content.

最終更新日:2026年9月27日

まず結論

テスト支援ツールは、「プログラムを実行するか」「テストの準備をするか」で分けると判断しやすくなります。

基本情報技術者試験では、まず次の3分類を押さえます。

分類 判断の中心 代表的な例
静的テストツール プログラムを実行せずに解析する 構文チェッカ、コード解析ツール
動的テストツール プログラムを実行しながら調べる カバレージモニタ、トレーサ
テスト環境設定ツール テストを実施するための準備をする スタブ・ドライバ生成、テストデータ生成

試験中は、次の3行に置き換えると選択肢を切りやすくなります。

ソースコードを見る
→ 静的

実行結果を見る
→ 動的

テストの準備をする
→ 環境設定

動かさず調べるのが静的、動かして調べるのが動的、動かす準備をするのが環境設定。

直感的な説明

プログラムのテストを「出発前・走行中・準備」の3場面で考えると分かりやすいです。

プログラムを動かす前
↓
ソースコードを読む・解析する
↓
静的テストツール

プログラムを実際に動かす
↓
どの経路を通ったか、どんな値になったかを見る
↓
動的テストツール

テストするための入力や代役を用意する
↓
テスト環境設定ツール

つまり、ツール名を丸暗記するよりも、そのツールがいつ何をしているかを見るのがポイントです。

定義・仕組み

静的テストツール

静的テストツールは、プログラムを実行せずに、ソースコードやプログラム構造を解析するツールです。

例えば、

  • 構文上の誤りを調べる
  • 規約違反や危険な記述を検出する
  • コードの複雑さを調べる
  • モジュール間のインタフェースを確認する

といった用途があります。

ソースコード
↓
解析
↓
問題候補を検出

※ 実行しない

試験では、「ソースコードを解析」「実行せずに検出」が強い合図です。

動的テストツール

動的テストツールは、プログラムを実際に実行しながら、動作や実行経路などを調べるツールです。

例えば、

  • どの命令や分岐を通ったか調べる
  • 実行時の値を追跡する
  • 実行した経路からカバレージを測る
  • 実行中の状態を記録する

といった用途があります。

テスト実行
↓
実際に通った経路を記録
↓
網羅度を計算

このように、実行結果が必要なら動的です。

カバレージの意味は、ホワイトボックステストの網羅基準で整理しています。

テスト環境設定ツール

テスト環境設定ツールは、テストを実行できるように必要な部品やデータを準備するツールです。

例えば、

  • スタブを生成する
  • ドライバを生成する
  • テストデータを生成する
  • 特定の経路を通すための入力を作る
  • テストベッドを準備する

といった用途があります。

テスト前
↓
必要な代役や入力を準備
↓
テストを実行できる状態にする

スタブとドライバそのものの違いは、スタブとドライバの違いで確認できます。

CASEツールとの関係

テスト支援機能は、CASEツールの中では主に下流工程を支援する機能として扱われます。

要求分析・設計
→ 上流CASE

プログラミング・テスト
→ 下流CASE

ただし、FE試験では、

CASEツール
→ 開発工程のどこを支援するか

テスト支援ツール
→ テスト時に何を支援するか

と、分類の軸を分けて考えると混乱しにくくなります。

詳しくは、CASEツールとは?で整理しています。

このテーマは基本情報技術者試験のシステム開発技術・ソフトウェアテストに関係します。最新の出題範囲は、IPA:試験要綱・シラバスについてから確認できます。

科目Aでどう出る?

科目Aでは、「この機能はどの種類のテスト支援ツールか」を選ばせる問題として出ます。

まず、次の順番で判断します。

1. プログラムを実行している?
   ↓
   YES → 動的

2. 実行していない?
   ↓
   ソースコードを解析 → 静的

3. テスト用の入力・代役を作っている?
   ↓
   環境設定

ソースコードを解析して誤りを検出

ソースコードを解析
+
実行しない
↓
静的テストツール

構文チェッカなどが代表例です。

実行した経路から網羅度を算出

テストを実行
↓
実際に通った経路を取得
↓
カバレージを測定
↓
動的テストツール

「経路」「実行結果」「カバレージ」が出たら、動的を疑います。

スタブやドライバを生成

スタブやドライバは、未完成のモジュールを補うためのテスト用部品です。

テスト対象を動かすための代役を用意
↓
テスト環境設定ツール

特定経路を通すテストデータを生成

テストデータを作ること自体は、プログラムの実行結果を解析することではありません。

この経路を通したい
↓
そのための入力データを作る
↓
テスト環境設定

と判断します。

どんな場面で使う?

コードを書く段階

コードを書いた直後に、構文ミスや問題のある記述を早めに見つけたい場合は、静的解析が役立ちます。

コード作成
↓
静的解析
↓
実行前に問題候補を確認

テストを実行する段階

プログラムを動かして、

  • どの処理を通ったか
  • どこまで網羅できたか
  • どんな値になったか

を確認したい場合は、動的テストツールを使います。

未完成部分がある段階

結合テストなどで一部のモジュールが未完成なら、スタブやドライバを使ってテスト対象を動かせる状態にします。

必要なモジュールが未完成
↓
スタブ・ドライバで代用
↓
テストを実行

よくある誤解・混同

ソースコードを見るテストは全部ホワイトボックステスト

似ていますが、分類軸が違います。

静的・動的
→ 実行するかどうか

ホワイトボックス・ブラックボックス
→ 何を基にテストケースを設計するか

例えば、内部構造を基にテストケースを作って実際に実行する場合は、ホワイトボックステストであり、実行時の測定は動的になります。

カバレージを測るのは静的

違います。

テストカバレージは、実際にテストしてどの命令・分岐などを通ったかを測るため、動的テストツールの代表例として考えます。

実際に通った経路
↓
測定
↓
動的

スタブとドライバは動的テストツール

スタブやドライバはテスト中に動くことがありますが、この種の選択問題では、それらを用意・生成してテスト環境を整える機能はテスト環境設定ツールとして扱います。

実行結果を観測する
→ 動的テストツール

実行するための代役を準備する
→ テスト環境設定ツール

テストデータ生成は動的テスト

テストデータ生成は、テストを実行するための入力を準備する機能です。

データを作る
→ 準備

実行して結果を見る
→ 動的

ここを分けます。

「静的テストツール」と「静的解析ツール」は完全に別物

過去問題では「静的テストツール」という分類名が使われることがありますが、現在は「静的解析」という表現を目にすることも多いです。

FEでは名称だけに引っ張られず、

プログラムを実行せずにコードを解析する

という役割を基準に判断すると安全です。

まとめ(試験直前用)

  • 静的:プログラムを実行せず、ソースコードなどを解析する
  • 動的:プログラムを実行し、実行経路や状態を調べる
  • 環境設定:スタブ・ドライバ・テストデータなどを準備する
  • 構文チェッカ → 静的
  • カバレージモニタ → 動的
  • スタブ・ドライバ生成 → 環境設定
  • テストデータ生成 → 環境設定
  • 「実行する?準備する?」を先に見ると選択肢を切りやすい

動かさず見る → 静的、動かして見る → 動的、動かす準備 → 環境設定。

© 2024-2026 stemtazoo. All rights reserved.