基本情報技術者試験「回帰テスト」の問題
運用中のシステムにある機能の不具合を修正した。この修正によって、これまで正常に動作していた他の機能に思わぬ悪影響(デグレード)が生じていないかを確認するために行うテストとして最も適切なものはどれか。
ア修正の影響範囲を含む既存機能を再実行する回帰テスト(リグレッションテスト)を行う
イ修正した機能の入出力だけを確認する単体テストのみを行い、他機能の確認は省略する
ウ想定を超える負荷をかけて限界を測る負荷テストを行う
エ利用者が業務要件の充足を確認する受入テストのみを行う
正解
ア.修正の影響範囲を含む既存機能を再実行する回帰テスト(リグレッションテスト)を行う
回帰テスト(リグレッションテスト)は、変更や修正の後に、それまで正常だった既存機能が壊れていないか(デグレードしていないか)を確認するために既存のテストを再実行するテストである。設問の『修正による他機能への悪影響の有無を確認』という目的に正確に合致する。
?選択肢ごとの解説
ア ○回帰テスト(リグレッションテスト)は、変更や修正の後に、それまで正常だった既存機能が壊れていないか(デグレードしていないか)を確認するために既存のテストを再実行するテストである。設問の『修正による他機能への悪影響の有無を確認』という目的に正確に合致する。
イ ×修正機能だけの単体テストでは、修正が他の機能へ及ぼした副作用を検出できず、デグレードの確認という目的を満たさない。
ウ ×負荷テストは性能や限界を測るテストであり、機能修正による既存機能の劣化を確認する目的のテストではない。
エ ×受入テストは業務要件の充足を利用者が確認するテストで、修正に伴う既存機能の劣化を体系的に検証する回帰テストとは目的が異なる。
✎くわしく
保守や機能追加では、ある変更が無関係に見える箇所を壊すデグレードが起こりうる。回帰テストは過去に作ったテスト資産を再実行してこれを防ぐ営みで、自動テストと相性がよく、CI/CDの中で繰り返し実行される。対象は修正箇所だけでなく影響範囲を含む既存機能であり、単体テストや受入テストとは『既存の正常性を守る』という狙いで区別される。
✓本番での押さえどころ
試験のコツ
『修正後』『既存機能が壊れていないか』『デグレード確認』とあれば回帰テストと判断する。
覚え方
回帰=元へ帰る。直した後に元どおり動くか確かめる、と語の意味で覚える。
よくある誤り
回帰テストを修正箇所だけのテストと誤解しがち。狙いは既存機能の正常性維持であり、影響範囲を含めて再実行する点が要点である。
開発技術の他の問題
アジャイル開発の手法であるスクラムにおいて、スプリントごとに動作するソフトウェアを開発チームが実際に作り上げ、その成果物をプ…ソフトウェアのテストにおいて、プログラムの内部構造には着目せず、入力に対する出力が仕様どおりであるかを検証する手法を採用した…あるシステムのファンクションポイント(FP)を見積もったところ、未調整FPは200であった。技術的複雑度を表す調整係数が0.…ソフトウェアの企画から開発・運用・保守・廃棄までの各活動について、取得者と供給者が同じ言葉で役割や作業範囲を取り決められるよ…ある開発プロジェクトでは、要件定義・設計・実装・テストの各工程を上流から下流へ順に進め、前工程の成果物を承認してから次工程へ…開発対象を複数の部分に分け、各部分について計画・リスク分析・開発・評価の活動を繰り返し、評価のたびにリスクを見極めながら少し…
この問題を、AIの8-ways解説つきで。
無料ではじめる →基本情報技術者試験の演習を、一問ごとに「なぜ」まで。まずは無料で。
ukamiru 過去問 · 基本情報技術者試験 · fe-a2-0093