クイズの説明
Step 2「標準パイプラインを設計しよう」で学んだ内容の理解度を確認します。全8問、80%(7問)以上正解で合格です。
問題
Q1. パイプライン設計の「不変性(Immutability)」の原則として正しいものはどれですか?
- A) パイプラインの設定ファイルは一度作成したら変更しない
- B) 一度ビルドされたアーティファクトは変更せず、同じアーティファクトを全環境にデプロイする
- C) テスト結果は不変であり、再実行しても結果は変わらない
- D) デプロイ先の環境は一度構築したら再構築しない
答えを見る
正解: B
不変性の原則は「一度ビルドされたアーティファクトは変更せず、同じアーティファクトを全環境にデプロイする」ことです。環境ごとにビルドし直すのではなく、環境差分は設定(環境変数)で吸収します。これにより「ステージングでは動いたのに本番で壊れた」というリスクを最小化できます。
Q2. 組織のパイプライン設計で「共通化すべきもの」として最も適切なものはどれですか?
- A) テストフレームワークの選択
- B) ビルドツールの選択
- C) セキュリティスキャンのステージ
- D) コーディング規約
答えを見る
正解: C
セキュリティスキャンは組織全体で統一すべき事項です。セキュリティポリシーはチームの裁量に委ねるとばらつきが生じ、脆弱性のリスクが高まります。一方、テストフレームワーク、ビルドツール、コーディング規約はチームの技術スタックや好みに応じて選択する裁量を持たせます。
Q3. テストピラミッドにおいて、PRマージ前に「必須」で実行すべきテストの組み合わせはどれですか?
- A) ユニットテストのみ
- B) ユニットテストと統合テスト
- C) E2Eテストのみ
- D) ユニットテスト、統合テスト、E2Eテスト
答えを見る
正解: B
標準では、ユニットテストは全コミットで必須、統合テストはPRマージ前で必須です。E2Eテストはリリース前に必須ですが、PRマージ前には実行時間の制約から必須にはしていません。全テストをPR前に実行するとフィードバックが遅くなり、開発速度が低下します。
Q4. Semantic Versioningで feat!: プレフィックスのコミットがあった場合、どのバージョンが上がりますか?
- A) PATCH
- B) MINOR
- C) MAJOR
- D) バージョン変更なし
答えを見る
正解: C
feat!: や BREAKING CHANGE: は後方互換性のない変更を示し、MAJORバージョンが上がります。fix: はPATCH、feat: はMINOR、chore:/docs:/style: はバージョン変更なしです。Conventional Commitsにより自動バージョニングが可能になります。
Q5. 環境パリティ(Environment Parity)で「完全一致」が求められる要素はどれですか?
- A) インスタンスサイズ
- B) データ量
- C) OS/ランタイムバージョン
- D) 外部サービスの接続先
答えを見る
正解: C
OS/ランタイムバージョンは本番とステージングで完全一致が求められます。インスタンスサイズはコスト面から縮小版が許容され、データ量はサンプルデータの使用が許容されます。外部サービスはサンドボックスの使用が許容されます。ランタイムの差異は「動作の違い」に直結するため、最優先で一致させます。
Q6. エフェメラル環境のメリットとして不適切なものはどれですか?
- A) 他チームの作業に影響されない独立したテスト
- B) 使用時のみ課金によるコスト最適化
- C) 本番環境と完全に同一のインフラ構成
- D) PRの変更を即座に確認可能
答えを見る
正解: C
エフェメラル環境は「本番環境と完全に同一のインフラ構成」ではありません。コスト最適化のために縮小版の構成で一時的に構築されます。メリットは独立したテスト環境、コスト最適化、高速フィードバック、レビュー効率化です。完全な本番再現はステージング環境の役割です。
Q7. 自動ロールバックの基準として、エラー率の閾値はどう設定すべきですか?
- A) エラー率が0%を超えたら即座にロールバック
- B) エラー率が前バージョンの2倍以上になったらロールバック
- C) エラー率が50%を超えたらロールバック
- D) エラー率に基づくロールバックは不要
答えを見る
正解: B
自動ロールバックの基準は「前バージョンの2倍以上」です。エラー率0%をトリガーにすると、正常なエラー(バリデーションエラー等)でもロールバックしてしまいます。50%は閾値が高すぎて検知が遅れます。前バージョンとの比較(相対値)により、サービス固有のベースラインを考慮した判断が可能になります。
Q8. SOC2コンプライアンスに対応するために、本番デプロイの承認プロセスに必要な要件はどれですか?
- A) 開発者1名の承認
- B) 2名以上の承認(変更実施者と異なる承認者)
- C) 全チームリーダーの承認
- D) 承認プロセスは不要(自動デプロイが推奨)
答えを見る
正解: B
SOC2コンプライアンスでは「職務分離(Segregation of Duties)」が求められます。変更の実施者と承認者は異なる必要があり、2名以上の承認が標準です。全チームリーダーの承認は過剰で、デプロイ速度を大幅に低下させます。
結果
7問以上正解の場合
合格です。 標準パイプラインの設計原則、ビルド・テスト・デプロイの標準化、アーティファクト管理、環境プロモーションをしっかり理解しています。
「パイプライン設計の土台ができたな。次はセキュリティとコンプライアンスの統合だ。技術的に正しいパイプラインに、組織が求める安全性を組み込んでいこう」 — 田中VPoE
6問以下の場合
もう少し復習しましょう。 Step 2のレッスンを再度読み返し、特に間違えた問題の関連箇所を重点的に復習してください。
- Q1-Q2を間違えた場合 → Step 2-1「パイプライン設計の原則」を復習
- Q3を間違えた場合 → Step 2-2「ビルド・テスト・デプロイの標準化」を復習
- Q4を間違えた場合 → Step 2-3「アーティファクト管理とバージョニング」を復習
- Q5-Q8を間違えた場合 → Step 2-4「環境管理とプロモーション戦略」を復習