しきい値テスト

2013年9月12日

しきい値テストは、現在のビルドの値としきい値を比較して測定可能な現象を監視する、デプロイメントパイプラインに挿入されるテストです。現在のビルドの値がしきい値を超えるとテストは失敗し、ビルドも失敗します。

しきい値テストの一般的な使用例はパフォーマンスです。チームは代表的な一連の操作を取り、それらの時間を測定します。その後、これらの操作に現在の値より大幅に時間がかかる場合は失敗するしきい値テストを設定します。このようなしきい値は、コミットによってパフォーマンスが低下するケースを見つけるのに便利です。データ集中型アプリケーションでは、これらは多くの場合、記述の悪いクエリやインデックスの不適切な使用によって発生します。

しきい値テストがあれば、最初に導入されたときにこの種のタイプを見つけることができます。今回のコミットが失敗の原因であることがわかっているため、修正が容易になります。問題をどこで検索する必要があるかがわかります。さらに、しきい値テストを維持することで、これらの種類の問題がコードベースに蓄積されるのを防ぎます。このようなクエリが多数ある場合、すでに存在するクエリの影響によってその効果が不明瞭になるため、さらに多くのクエリが侵入しやすくなります。

しきい値テストはラチェットで使用できます。これは、値を改善するために時間の経過とともにしきい値を徐々に厳しくします。したがって、パフォーマンスを向上させるコミットを追加するたびに、しきい値を下げます。これにより、時間の経過とともにパフォーマンスが徐々に改善されるはずです。ラチェットでしきい値テストを使用することは、特に状況が悪く、改善プログラムを開始する場合に役立ちます。

しきい値テストが失敗し、チームがしきい値が过于なものであると判断してしきい値を緩和する場合があります。状況によってはそれが正しいことかもしれませんが、しきい値テストはここでこの決定を意識的なものにするのに役立ちます。

参考資料

しきい値テストは適切なメトリクスの使用の「絶対的な数値よりも追跡傾向を優先する」および「より短い追跡期間を使用する」の原則に従う方法です。

クロス機能に関する要件のテストについての一般的なアドバイスについては、連続デリバリーの第 9 章をご覧ください。