ソフトウェア開発とプロジェクト管理

継続的インテグレーション(CI)の説明として、適切なものはどれか。

  1. A開発の最後に、各自が長い期間をかけて作った変更をまとめて統合し、一度に結合テストを行う
  2. B開発者が変更を頻繁に(1日に何度も)共有のブランチに統合し、そのたびにビルドと自動テストを実行して問題を早く見つける
  3. Cテストに合格した変更を、人の判断を挟まずに自動で本番環境へ公開する
答えと解説を見る

正解:B. 開発者が変更を頻繁に(1日に何度も)共有のブランチに統合し、そのたびにビルドと自動テストを実行して問題を早く見つける

継続的インテグレーションでは、変更を小さく頻繁に統合し、統合のたびにサーバ上でビルドと単体テストなどを自動で実行します。統合の間隔が短いので、変更どうしの食い違いや不具合を、原因が分かりやすいうちに見つけて直せます。これまでのテストをまとめて実行し直す回帰テストを、変更のたびに自動で行えることも利点です。テストに合格した変更を自動で本番環境に公開するのは継続的デプロイで、CIの先にある段階です。

  • A. 長い期間ためた変更を最後に一度に統合するやり方で、不具合の原因を特定しにくくなります。CIはこれを避けるための方法です。
  • B. 正しい。小さな変更を頻繁に統合し、そのたびに自動でビルドとテストを行います。
  • C. 継続的デプロイの説明です。CIは統合とビルド・テストの自動化までを指します。
この分野を解く 分野ページへ

関連する計算ツール

ソフトウェア開発とプロジェクト管理の参考書を探す PR

Amazonの検索結果へのリンクです。Amazonのアソシエイトとして、半導体教室は適格販売により収入を得ています。

ソフトウェア開発とプロジェクト管理のほかの問題

  1. 継続的デリバリーと継続的デプロイの違いの説明として、適切なものはどれか。
  2. ある業務システムの要件のうち、非機能要件に当たるものはどれか。
  3. UMLで、炊飯器の制御ソフトウェアのように、イベント(ボタンの押下、タイマの満了、温度の到達など)によってオブジェクトの状態がどのように変わるかを表すのに適した図はどれか。
  4. UMLで、複数のオブジェクトの間でやり取りされるメッセージ(呼出しや応答)を、時間の順に上から下へ並べて表す図はどれか。
  5. モジュールの独立性を評価するモジュール強度(凝集度)のうち、最も強度が高く、望ましいとされるものはどれか。