基本情報技術者 2011年 秋期 午前(科目A) 問59
問題文
プログラミングの信頼性の監査において、指摘事項に該当するものはどれか。
選択肢
ア:プログラマは、プログラム設計書に基づいてプログラミングを行っている。
イ:プログラマは、プログラムの全てのロジックパスの中から、サンプリングで単体テスト項目を設定している。(正解)
ウ:プログラミングチームのリーダは、単体テストの実施結果を記録し保管している。
エ:プログラムを作成したプログラマ以外の第三者が、単体テストを行っている。
##: プログラミングの信頼性の監査における指摘事項【午前2 解説】
要点まとめ
- 結論→プログラミング監査での指摘は、単体テスト項目を全ロジックパスからサンプリングで設定するような網羅性不足を示す行為です。
- 根拠→監査は手順・証拠・再現性を確認するため、サンプリングのみでは網羅性や妥当性が担保されず監査上の欠陥と判断されます。
- 差がつくポイント→「単にサンプリングしている」記述があれば要注意。リスク基準、トレーサビリティ、記録の有無で評価が分かれます。
正解の理由
正解: イ
選択肢イは「プログラムの全てのロジックパスの中から、サンプリングで単体テスト項目を設定している」と記述しており、単体テストの網羅性や妥当性が不十分であることを示しています。監査では、信頼性を確保するためにテストの設計基準(網羅基準、リスク評価、トレーサビリティ)が明確であることや、十分なカバレッジが確保されていることを期待します。サンプリングのみでは基準が示されておらず、監査上の指摘(改善要求)に該当します。
選択肢イは「プログラムの全てのロジックパスの中から、サンプリングで単体テスト項目を設定している」と記述しており、単体テストの網羅性や妥当性が不十分であることを示しています。監査では、信頼性を確保するためにテストの設計基準(網羅基準、リスク評価、トレーサビリティ)が明確であることや、十分なカバレッジが確保されていることを期待します。サンプリングのみでは基準が示されておらず、監査上の指摘(改善要求)に該当します。
一方で他の選択肢は監査上の望ましい管理策や適切な証拠を表しているため指摘事項ではありません(詳細は後述)。
よくある誤解
- 「サンプリング=常にNG」と考える誤解:リスクベースで妥当性が文書化されていればサンプリングで対処する場合もありますが、問題文はその根拠が示されていません。
- 「第三者が単体テストを行う=過剰」との誤解:むしろ独立性の担保や客観的検証として評価されることが多いです。
- 「設計書に基づいてプログラミングしている=完璧」と考える誤解:設計通りに実装していてもテスト網羅や記録が不十分なら監査で問題になることがあります。
解法ステップ
- 問題文が「監査での指摘事項」を尋ねている点を確認する(=欠陥・不備を選ぶ)。
- 各選択肢が「望ましい管理・証拠」か「不十分・欠陥」かを判別する。
- 単体テストの網羅性・手順・記録・独立性という監査観点で比較する。
- 最も監査上の指摘に該当するもの(網羅性不足を示すイ)を選ぶ。
選択肢別の誤答解説
- ア: プログラマは、プログラム設計書に基づいてプログラミングを行っている。
- 解説: 設計書に従って実装することは基本的に良い管理行為であり、監査上の指摘事項ではありません。ただし実装内容の妥当性は別途確認されます。
- イ: プログラマは、プログラムの全てのロジックパスの中から、サンプリングで単体テスト項目を設定している。
- 解説: 正解。サンプリングだけではロジックパスの網羅性が担保されず、監査での指摘(テスト範囲の不備)に該当します。根拠や基準の記述がない点が問題です。
- ウ: プログラミングチームのリーダは、単体テストの実施結果を記録し保管している。
- 解説: 実施結果の記録・保管は監査で求められる良好な証拠であり、指摘事項ではなくむしろ評価されます。
- エ: プログラムを作成したプログラマ以外の第三者が、単体テストを行っている。
- 解説: 第三者によるテストは独立性の観点からプラス評価になることが多く、指摘事項ではありません(ただし実施内容次第で別の問題がある可能性はあります)。
補足コラム
- テストの「網羅性」を評価する指標にはステートメントカバレッジ、ブランチカバレッジ、条件カバレッジ、パスカバレッジなどがあります。監査ではこれらの基準や達成率、及びリスクに基づく例外管理が重要です。
- 実務では「リスクベーステスト」を採用し、重要なロジックや高リスク箇所を優先して高いカバレッジを確保します。これを文書化(テスト方針、トレーサビリティマトリクス)していればサンプリングでも監査上容認される場合があります。
- 監査証拠として有効なのは、テスト計画、テストケース、実施結果、欠陥報告、レビュー記録、改善履歴などの一貫したトレーサビリティです。
FAQ
Q1: サンプリングだけだと必ず指摘されますか?
A1: 必ずではありません。サンプリングがリスク評価やテスト戦略に基づき、文書化・正当化されていれば許容される場合もあります。しかし問題文ではその根拠が示されていないため指摘になります。
A1: 必ずではありません。サンプリングがリスク評価やテスト戦略に基づき、文書化・正当化されていれば許容される場合もあります。しかし問題文ではその根拠が示されていないため指摘になります。
Q2: 第三者が単体テストをするのは常に好ましいですか?
A2: 独立性の観点から好ましいことが多いですが、第三者のスキルやテスト設計の妥当性が伴わないと効果は限定的です。監査では実施の質も確認されます。
A2: 独立性の観点から好ましいことが多いですが、第三者のスキルやテスト設計の妥当性が伴わないと効果は限定的です。監査では実施の質も確認されます。
Q3: 監査で望まれるテストの証拠は何ですか?
A3: テスト計画、テストケースとそのトレーサビリティ(要求・設計との紐付け)、実施記録、欠陥ログ、レビューや承認記録などが主要な証拠です。
A3: テスト計画、テストケースとそのトレーサビリティ(要求・設計との紐付け)、実施記録、欠陥ログ、レビューや承認記録などが主要な証拠です。
関連キーワード: プログラミング監査、単体テスト、テスト網羅性、テストカバレッジ、独立検証、トレーサビリティ、リスクベーステスト、コードレビュー

\ せっかくなら /
基本情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

