問題 No.5974
ソフトウェアテストの手法の分類において、作成したプログラムを実際に動作させて、入力データに対する出力結果や動作時の挙動を確認することでバグや不具合を検出する手法はどれか。
【正解の解説】
動的解析
料理に例えるなら、実際に食材を調理して味見をする行為そのものです。頭の中でレシピを読み解くだけでは気づけない「しょっぱすぎる」「火が通っていない」といった実際の不具合を、実際に動かすことで発見します。基本情報技術者試験では、プログラムを『動かす』というキーワードがあれば迷わず動的解析を選びましょう。
スポンサーリンク
【その他の選択肢の解説】
静的解析
料理の例えでは、調理室に入らずにレシピの紙面だけで「塩の量が多すぎないか」「手順に矛盾はないか」を机上でチェックする作業にあたります。実際に動かさないため、変数の型ミスや文法エラーなどを早期に見つけるのに向いていますが、実際に動かしたときの挙動エラーは見つけられません。
ホワイトボックス
これはテストの『実行方法』ではなく、テストケースを『どこに注目して作るか』というアプローチの分類名です。中身の仕組み(コード)が見えている状態でテストするかどうかを表しており、動的解析の分類軸とは切り口が異なるため誤りとなります。初学者はテスト技法の名前と分類軸を混同しやすいので注意が必要です。
ブラックボックス
こちらもテストの実行方法ではなく、テストケースを設計する際のアプローチ手法の名前です。中身がブラックボックス(見えない)状態の機械に対して、ボタンを押したら期待通りのランプが光るかを確認するような手法であり、プログラムを実際に動かすかどうかという動的解析の定義とは視点が異なります。