CI/CD(継続的インテグレーション/デリバリ)|情報処理安全確保支援士 シラバス準拠予想問題Ⅰ 問22
出典:ソフトウェア開発管理技術:小分類3|開発環境管理
分野:ソフトウェア開発管理技術 / 開発環境管理
CI/CD(継続的インテグレーション/デリバリ)の説明として,最も適切なものはどれか。
- ア:ソースコードの変更を頻繁に統合し,ビルド,テスト,配布又はデプロイの一連の工程を自動化して,リリースの頻度と品質を高める手法である。
- イ:テストケースを先に作成し,そのテストに合格するように実装とリファクタリングを繰り返すことで,設計と品質を改善する手法である。
- ウ:2人の開発者が一つの端末を共有し,一方がコードを記述し,他方がレビューや方針検討を行いながら開発を進める手法である。
- エ:プロダクトバックログを基に,短い期間の反復開発を行い,デイリースクラムやレビューを通じて開発状況を確認するフレームワークである。
TSUNAGARU-ADVICE
まず押さえたいこと
CI/CDは、ソースコードの変更を頻繁に統合し、ビルド・テスト・配布又はデプロイの工程を自動化する手法です。変更を小さく早く反映し、問題を早期に発見することで、リリースの頻度と品質を高める点が重要です。
迷ったときの判断軸
テストケースを先に作って実装するのはテスト駆動開発(TDD)、2人で一つの端末を使って開発するのはペアプログラミング、短い期間で反復開発しデイリースクラムなどを行うのはスクラムです。CI/CDは、統合・ビルド・テスト・配布又はデプロイの自動化と判断しましょう。
科目Bにつなげるために
科目Bでは、開発からリリースまでの流れで、どこに自動テスト・コードレビュー・承認・デプロイ制御を入れるかが問われることがあります。CI/CDでは、単に早くリリースするだけでなく、自動化されたパイプラインで品質確認を継続的に行う視点を持ちましょう。※開発関連試験向け
CI/CDは、ソースコードの変更を頻繁に統合し、ビルド・テスト・配布又はデプロイまでの一連の工程を自動化する手法です。
CIは継続的インテグレーションで、変更されたコードを頻繁に統合し、自動ビルドや自動テストによって問題を早期に発見します。CDは継続的デリバリ又は継続的デプロイで、テスト済みの成果物を本番環境又は本番に近い環境へ安全かつ迅速に届けられるようにします。
したがって、アが適切です。
❌他選択肢が誤りの理由イ:テストケースを先に作成し,そのテストに合格するように実装とリファクタリングを繰り返すことで,設計と品質を改善する手法である。
⇒テスト駆動開発(TDD)の説明です。テストを先に作成し、実装とリファクタリングを繰り返す開発手法であり、ビルド・テスト・配布又はデプロイを自動化するCI/CDとは異なります。
ウ:2人の開発者が一つの端末を共有し,一方がコードを記述し,他方がレビューや方針検討を行いながら開発を進める手法である。
⇒ペアプログラミングの説明です。2人で役割を分担しながら同じコードを開発する手法であり、ソースコード変更後の統合・ビルド・テスト・配布又はデプロイの自動化を指すCI/CDではありません。
エ:プロダクトバックログを基に,短い期間の反復開発を行い,デイリースクラムやレビューを通じて開発状況を確認するフレームワークである。
⇒スクラムの説明です。スクラムは、スプリントなどの短い反復期間で開発を進めるアジャイル開発のフレームワークです。CI/CDは、開発プロセスの中でコード統合やリリース作業を自動化するための手法です。