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

ソフトウェアのテスト工程において,バグ管理図を用いて,テストの進捗状況とソフトウェアの品質を判断したい。このときの考え方のうち,最も適切なものはどれか。

解答・解説

正解: ウ. テスト項目消化の累積件数,バグ摘出の累積件数及び未解決バグの件数の全てが変化しなくなった場合は,解決困難なバグに直面しているかどうかを確認する必要がある。

正解は ウ です。

バグ管理図は、テスト項目の消化件数(予定と実績)、バグの発見件数(累積)、および未解決バグの件数などを時系列でグラフ化したもので、テストの進捗状況とソフトウェアの品質を可視化・分析するために用いられます。

正解である ウ の状況(テスト項目の消化、バグの摘出、未解決バグの件数の全てが変化しなくなった状態)は、テスト作業自体が完全に停滞していることを意味します。この原因としては、テスト環境に重大な障害が起きているか、解決困難なバグ(後続のテストをブロックするような致命的なバグ)に直面し、その調査や修正に人員が割かれてテストが進められない状況などが考えられます。したがって、このような兆候が見られた場合は、現場の状況や阻害要因を確認する必要があり、考え方として最も適切です。

各選択肢の解説

  • ア:テスト前半で予想以上にバグが摘出された場合、それが初期特有のものなのか、全体的にバグが多いのかを推移(曲線の傾きなど)から分析する必要があります。単純な実績から「5日遅れで終了する」とスケジュールの見直しを確定的に判断することは適切ではありません。
  • イ:テスト項目を消化しているにもかかわらずバグが全く摘出されない場合、「ソフトウェアの品質が高い」可能性もありますが、同時に「テストケースの質が低く、潜在するバグを見つけられていない」「テストが手順通りに正しく実施されていない」といった可能性も疑う必要があります。無条件に品質が高いと判断するのは危険です。
  • エ:バグ管理図(信頼度成長曲線など)を用いてバグの収束傾向からテスト完了時期の「目安」を予測することは可能ですが、未発見のバグの複雑さや、解決に要する時間を完全に把握することはできないため、「ほぼ正確に予測できる」とするのは不適切です。

Spineチーム