要約: ソフトウェアの品質を担保しつつ高速なリリースを実現するためには、自動テストとCI/CDパイプラインの導入が不可欠です。単体テスト、結合テスト、E2Eテストを適切なバランスで配置する「テストピラミッド」の考え方が重要です。GitHub ActionsやVitestを活用し、PR作成から本番デプロイまでのプロセスを自動化することで、安全で安定した開発体制を構築できます。
自動テスト・CI/CDで品質を担保する
ソフトウェアの品質を保ちながら高速にリリースするために、自動テストとCI/CDパイプラインは欠かせません。
テストピラミッド
```
E2Eテスト (少数)
結合テスト (中程度)
単体テスト (大量)
```
各レベルでバランスよくテストを配置することが重要です。
CI/CDパイプラインの構成
1. プルリクエスト作成時
- ESLint によるコードチェック
- TypeScript型チェック
- 単体テスト実行
2. マージ後
- 結合テスト実行
- ビルド&デプロイ(ステージング環境)
3. 本番リリース
- E2Eテスト(Playwright)
- Lighthouseパフォーマンスチェック
- 本番デプロイ
ツールスタック
- テストランナー: Vitest(単体)/ Playwright(E2E)
- CI/CD: GitHub Actions
- デプロイ: Cloudflare Pages
- 監視: Sentry(エラー)/ Lighthouse CI(パフォーマンス)
DONOMIの品質基準
DONOMIの全プロジェクトでは、CI/CDパイプラインの構築を標準化しており、安全かつ高速なリリースサイクルを実現しています。
Q: テストピラミッドとは何ですか?
A: 単体テストを最も多く、次いで結合テスト、E2Eテストを少数にする、理想的なテストのバランスを示す概念です。
Q: CI/CDパイプラインはどのタイミングで実行されますか?
A: 主にPull Requestの作成時、コードのメインブランチへのマージ後、そして本番リリース時に実行されます。
Q: DONOMIではどのようなツールを使用していますか?
A: テストにVitestとPlaywright、CI/CDにGitHub Actions、デプロイにCloudflare Pagesを利用しています。

