九號工具站
返回列表

CI/CD でのテスト戦略: すべてのデプロイメントの品質を確保

CI/CD パイプラインでのテスト戦略を計画する方法、コミットからデプロイまでの各段階でどのようなテストを実行する必要があるか、品質レベルを設定する方法を共有します。

QA CI/CD GitHub アクション テスト戦略 品質レベル DevOps

最後更新:2026-03-07

この記事では、例として GitHub Actions を使用します。他の CI/CD ツールの設定は異なる場合があります。

1. CI/CD に QA が必要なのはなぜですか?

自動テスト用の CI/CD はなく、「バグを本番環境に迅速にデプロイする」だけです。品質レベルは CI/CD の魂です。

2. ステージ 1: コミットステージ (プッシュごとにトリガー)

実行時間の目標: < 5 分

  • 静的解析

    ESLint、Pylint、SonarQube

  • 単体テスト

    高速、独立、外部依存なし

  • コードカバレッジ

    最小しきい値を設定します (例: 80%)

3. ステージ 2: 統合テスト段階

実行時間の目標: < 15 分

  • APIテスト

    サービス間の相互作用を検証する

  • データベースのテスト

    移行、データの整合性

  • サードパーティサービスのモック

    外部サービスに依存しない

4. ステージ 3: E2E テスト段階

実行時間の目標: < 30 分

  • コアプロセスのテスト

    ログイン、購入、支払いなどの主要なパス。

  • クロスブラウザテスト

    Chrome、Firefox、Safari

  • 視覚的な回帰テスト

    パーシー、クロマチック

5. ステージ 4: 導入前レベル

品質を守る最後のライン:

  • 性能試験

    パフォーマンスの低下がないことを保証する

  • セキュリティスキャン

    オワスプザップ、スニック

  • 手動レビュー

    必要な場合は手動承認

6. クオリティゲートの設定

導入をブロックする必要がある場合: 単体テストの失敗 (ゼロ トレランス)、しきい値未満のカバレッジ、重大度の高いセキュリティ脆弱性、10% を超えるパフォーマンス メトリックの低下、コア E2E テストの失敗。

7. CI/CD テストの一般的な落とし穴

以下の一般的な問題を回避してください。

  • テストが遅すぎる

    遅いテストをノンブロッキングの夜間ビルドに移行する

  • フレークテスト

    不安定なテストは直ちに修復するか隔離する必要があります。そうしないと、チームが赤信号を無視することに慣れてしまいます。

  • 一貫性のない環境

    Docker を使用して CI 環境が本番環境と一貫していることを確認する

  • 幸せな道だけをテストしてください

    ネガティブテストはエッジケースと同じくらい重要です

ℹ️

一般聲明

本站提供之資訊僅供參考,不保證其完整性與正確性。使用者應自行判斷資訊之適用性。

意見反饋