AUシステム監査技術者試験 午前Ⅱ

平成31年度春期 システム監査技術者 午前Ⅱ 問22

問題文と選択肢を読んで答えを考えてから、下の「正解と解説を見る」で確認しましょう。

問題

プログラムのテストに関する記述のうち,適切なものはどれか。

選択肢

  1. ア
    静的テストとは,プログラムを実行することなくテストする手法であり,コード検査,静的解析などがある。
  2. イ
    単体テストでは,スタブから被テストモジュールを呼び出し,被テストモジュールから呼び出されるモジュールの代わりにドライバを使用する。
  3. ウ
    トップダウンテストは,仮の下位モジュールとしてのドライバを結合してテストするので,テストの最終段階になるまで全体に関係するような欠陥が発見されにくい。
  4. エ
    ブラックボックステストでは,分岐,反復などの内部構造に基づいてテストするので,全ての経路を通過するように,テストケースを設定する。
解き方のヒントを見る

目的・範囲・効果を整理する視点

ソフトウェアテストでは、何を達成したいのか、どこまで確認するのか、実施によって何が分かるのかを分けて捉えます。三者を同じ意味で扱わず、設問の表現と対応づけて考えましょう。

この問題で問われていること

この問題では、テストに関する各説明が「目的」「実施範囲」「検出効果」のどの観点を主に述べているかに注目し、対象・広がり・得られる情報を混同しないよう整理してください。

視点

テストの説明を読むときは、意図、対象となる広がり、確認後に得られる知見を別々の軸として整理します。似た表現でも、何を述べているかを丁寧に見比べましょう。

確認ポイント

  • 説明が達成したい意図を述べているか確認する
  • 確認対象の広がりや境界に触れているか整理する
  • 実施後に得られる情報や発見に関する記述か見直す
正解と解説を見る

正解

ア

解説

適切なのはアです。静的テストはプログラムを実行せず、コード検査や静的解析によって欠陥を検出する。ほかの記述は、スタブとドライバの役割、トップダウンテストの説明、ブラックボックステストの特徴を取り違えている。

理由

静的テストはプログラムを実行せずに、ソースコードや設計書などを検査する手法です。コード検査や静的解析はその代表例なので、アの記述が適切です。

比較

単体テストにおけるスタブとドライバの役割、トップダウンテストで用いる仮モジュール、ブラックボックステストが基づく情報を確認すると、イ・ウ・エはいずれも用語の定義と一致しない。

選択肢ア(正解)

これは正解だよ。静的テストはプログラムを実行せずに、ソースコードの検査や静的解析などによって欠陥を見つける手法である。提示文は、実行しないことと具体例のいずれも正しく説明している。

選択肢イ

これは不正解だよ。単体テストで被テストモジュールを呼び出す側に置くのはドライバであり、被テストモジュールが呼び出す下位モジュールを代替するのがスタブである。提示文は両者の役割を逆にしている。

選択肢ウ

これは不正解だよ。トップダウンテストでは、上位モジュールから下位モジュールへ結合し、未実装の下位モジュールをスタブで代替する。提示文は仮の下位モジュールをドライバとしており、役割を誤っている。

選択肢エ

これは不正解だよ。ブラックボックステストはプログラムの内部構造ではなく、入力と出力など外部仕様に基づいてテストする。分岐や反復などの内部構造に基づき経路を確認する説明は、ブラックボックステストのものではない。

学習のポイント

静的テスト、スタブとドライバ、トップダウンテスト、ブラックボックステストの違いを整理する。

出典:独立行政法人 情報処理推進機構(IPA)平成31年度春期 システム監査技術者試験 午前Ⅱ 問22(公式資料:問題冊子(PDF) / 解答例)

関連する過去問一覧

IPA Advancedは非公式の学習サイトです。解説にはAIによる補助生成を含む場合があります。公式の問題冊子・解答例・採点講評を優先し、誤りは確認後に訂正します。運営・編集方針