我們的Python應用程序(一個很酷的web服務)有一整套測試(單元測試,集成測試等),所有開發人員在提交代碼之前都必須運行。
我想添加一些性能測試到套件,以確保沒有人添加使我們運行速度太慢的代碼(對於一些相當任意的慢速定義)。
顯然,我可以收集一些功能到測試中,計時並與某個預定義的閾值進行比較。在Python中自動測試性能的正確方法(適用於所有開發人員)?
棘手的要求:
- 我希望每一個開發人員能夠測試自己的機器上的代碼(與CPU功率變化,OS(Linux和某些Windows)和外部配置 - 的Python版本,庫和模塊是相同的)。測試服務器雖然通常是個好主意,但並不能解決這個問題。
- 我想測試爲DETERMINISTIC - 無論運行測試的機器上發生了什麼,我都希望多次測試運行返回相同的結果。
我的初步想法:
- 使用timeit並做系統的基準我每次運行測試時間。將性能測試結果與基準進行比較。
- 使用cProfile來使解釋器無視「外部噪音」。我不確定我知道如何閱讀
pstats
結構,但我相信它是可行的。
其他想法?
謝謝!
Tal。
我希望他們叫它* codspeed *。 – 2016-04-18 14:30:04