基本情報技術者試験「DevOps」の問題
開発者が変更したソースコードを頻繁に共有リポジトリへ統合し、その都度ビルドと自動テストを実行して問題を早期に検出する、DevOpsで重視される取組みはどれか。
ア継続的インテグレーション(CI)
イリバースエンジニアリング
ウフォールトトレランス
エ将来需要に備えたキャパシティプランニング
正解
ア.継続的インテグレーション(CI)
継続的インテグレーション(CI)は、各開発者の変更をこまめに共有リポジトリへ統合し、統合のたびに自動でビルドとテストを実行して不具合を早期に発見・修正する取組みである。設問の『頻繁に統合し都度ビルドと自動テスト』に正確に合致する。
?選択肢ごとの解説
ア ○継続的インテグレーション(CI)は、各開発者の変更をこまめに共有リポジトリへ統合し、統合のたびに自動でビルドとテストを実行して不具合を早期に発見・修正する取組みである。設問の『頻繁に統合し都度ビルドと自動テスト』に正確に合致する。
イ ×リバースエンジニアリングは既存の成果物から仕様や設計を逆に分析する技法であり、変更を統合してテストする取組みとは目的が異なる。
ウ ×フォールトトレランスは障害が起きても機能を維持する耐障害設計の考え方であり、コード統合と自動テストの取組みではない。
エ ×キャパシティプランニングは将来の負荷に備えて資源量を計画する活動であり、開発の統合・テストを継続的に行う取組みではない。
✎くわしく
DevOpsは開発と運用の連携を重視し、CI/CDがその中核を担う。CIは『頻繁な統合+自動ビルド・テスト』で統合時の不具合を早期に潰し、CD(継続的デリバリ/デプロイ)はその先のリリースを自動化する。統合を後回しにすると競合が一気に噴出する(統合地獄)が、CIはこれを小刻みな統合で防ぐ。リバースエンジニアリングや耐障害設計とは観点がまったく異なる。
✓本番での押さえどころ
試験のコツ
『頻繁に統合』『その都度ビルドと自動テスト』『早期検出』とあればCIと判断する。
覚え方
CI=Continuous(継続的に)Integration(統合)、こまめに合流して早く気づく、と語で覚える。
よくある誤り
開発・運用関連の用語と混同しやすい。『頻繁な統合』と『都度の自動ビルド・テスト』が揃えばCIである。
開発技術の他の問題
アジャイル開発の手法であるスクラムにおいて、スプリントごとに動作するソフトウェアを開発チームが実際に作り上げ、その成果物をプ…ソフトウェアのテストにおいて、プログラムの内部構造には着目せず、入力に対する出力が仕様どおりであるかを検証する手法を採用した…あるシステムのファンクションポイント(FP)を見積もったところ、未調整FPは200であった。技術的複雑度を表す調整係数が0.…ソフトウェアの企画から開発・運用・保守・廃棄までの各活動について、取得者と供給者が同じ言葉で役割や作業範囲を取り決められるよ…ある開発プロジェクトでは、要件定義・設計・実装・テストの各工程を上流から下流へ順に進め、前工程の成果物を承認してから次工程へ…開発対象を複数の部分に分け、各部分について計画・リスク分析・開発・評価の活動を繰り返し、評価のたびにリスクを見極めながら少し…
この問題を、AIの8-ways解説つきで。
無料ではじめる →基本情報技術者試験の演習を、一問ごとに「なぜ」まで。まずは無料で。
ukamiru 過去問 · 基本情報技術者試験 · fe-a2-0024