モニタリングとテスト:優れたオブザーバビリティがあってもプレマージテストが必要な理由

Yunhao Jiao
モニタリングとテスト:優れたオブザーバビリティがあってもプレマージテストが必要な理由 カバー

優れたモニタリング(Datadog、Sentry、PagerDuty)があれば、テストの重要性は低いと主張するチームもあります。本番環境の問題を即座に検知してすぐにロールバックできるなら、なぜプレマージテストに投資する必要があるのでしょうか?

この主張は、検知と予防を混同しています。どちらも必要であり、それぞれ異なる目的を果たします。

モニタリング:転落後のセーフティネット

モニタリングは、本番環境で何か問題が起きたことを教えてくれます。アラートをトリガーし、ダッシュボードを提供し、迅速な対応を可能にします。

しかし、モニタリングが発火する時点で、ダメージはすでに発生しています。ユーザーはバグを体験し、一部のトランザクションは失敗し、データが不整合な状態になっている可能性もあります。インシデントの時計は動き始めています。

モニタリングは、テストをすり抜けてしまったバグに対して不可欠です。しかし、それらのバグのリリースを防ぐための代替手段にはなりません。

テスト:転落前のガードレール

プレマージテストは、バグが本番環境に到達する前に検知します。ユーザーへの影響はなく、インシデントも発生せず、ロールバックも不要です。バグは、マージされることのないブランチ上に留まります。

コストの差は歴然です。PR で検知されたバグ:修正に5分。本番環境でモニタリングが検知したバグ:数時間のインシデント対応、データクリーンアップの可能性、ユーザーへの告知、そしてポストモーテムが必要です。

機能する組み合わせ

プレマージ:TestSprite はすべての PR に対して包括的なテストを実行します。マージ前に機能バグ、セキュリティ脆弱性、リグレッションの問題を検知します。

デプロイ後:モニタリングが本番環境の健全性を追跡します。テストでカバーできなかった問題——インフラの問題、スケーリングの問題、データ依存のバグ——を検知します。

インシデント後:テストとモニタリング両方のデータがポストモーテムに活かされます。なぜテストが検知できなかったのか?なぜモニタリングの検知がもっと早くできなかったのか?各インシデントが両システムを改善します。

最優秀なチームは両方を備えています。テストは本番インシデントの頻度を減らし、モニタリングはインシデントが発生したときの深刻度を低減します。

TestSprite は無料で始められます。その後に起きることは、あなたのモニタリングスタックが対応します。組み合わせることで、完全な品質システムが実現します。

TestSpriteを無料で試す →