閾值測試

2013 年 9 月 12 日

閾值測試是一種插入到 部署管線 中的測試,它會透過比較目前建置中的值與閾值,來監控一些可測量的現象。如果目前建置的值通過閾值,測試就會失敗,導致建置失敗。

閾值測試的常見範例使用在效能上。團隊會選取一組有代表性的操作並計時。然後他們會設定一個閾值測試,如果這些操作花費的時間比目前值多出顯著的量,就會失敗。像這樣的閾值對於找出提交導致效能下降的情況非常方便。在資料密集型應用程式中,這些情況通常是由於寫得很差的查詢或索引使用不當所造成。

透過閾值測試,你可以在問題首次出現時就發現它。這使得修復更容易,因為你知道是哪個提交導致失敗,這縮小了必須搜尋問題範圍。此外,維護閾值測試可以防止這些類型的問題在程式碼庫中累積。如果你有許多這樣的差勁查詢,那麼就會更容易有更多查詢潛入,因為它們的影響會被已經存在的查詢掩蓋。

閾值測試可以與 棘輪 一起使用,你可以隨著時間穩定地收緊閾值以改善值。因此,每次你新增一個改善效能的提交時,你就會降低閾值。這應該有助於隨著時間逐漸改善效能。在開始時處於不佳狀態並開始改善計畫時,使用閾值測試與棘輪特別有幫助。

有時閾值測試會失敗,而團隊決定閾值太激進,並放寬閾值。根據情況,這可能是正確的作法,閾值測試在此有助於讓這個決定有意識地做出。

進一步閱讀

閾值測試是一種遵循「優先追蹤趨勢而非絕對數字」和「使用較短的追蹤期間」原則的方法,摘自 適當使用指標

有關跨功能需求測試的一般建議,請參閱 持續交付第 9 章