2016-11-19 70 views
0

我有一些機器學習的代碼(但我的問題的目的,它可以是任何算法)Git版本控制之下用Python編寫的。我的同事剛剛完成了對功能分支的代碼庫的重要重構。現在我想寫一些驗收測試,以確保在生產中查詢機器學習過程的結果與代碼庫重構分支上的相同查詢相比,在合理的統計範圍內。代碼在一個Python的測試

這是一個在Docker容器中運行的有點複雜的應用程序。測試需要作爲更大系列測試的一部分來運行。

我是不是如何編寫測試的一部分,確定結果是否在合理的統計範圍內感到困惑。我很困惑如何將主分支代碼的結果與來自WIP分支的結果一起以自動方式在一次測試中進行比較

到目前爲止,我最好的(唯一的)想法是啓動生產docker容器,運行機器學習查詢,將查詢結果寫入csv文件,然後使用docker cp將此文件複製到本地計算機,在該計算機上可以根據功能分支上的等效csv對其進行測試。但是,這似乎不雅觀。

是否有更好/更聰明/最佳實踐的方式來做到這一點?理想的是讓事情保持記憶。

回答

0

我會考慮使用http://approvaltests.com/框架,您只需編寫測試代碼,它將在執行測試的Python代碼後產生一些輸出,輸出可以是任何東西(文本,JSON/CSV文件等)。

所以它記錄輸出作爲批准的基準線,您可以先運行在主分支這個測試,然後就可以切換到您的WIP分支並運行相同的測試,如果有不同的輸出批准測試將失敗。

檢查的詳細信息進行this podcast episode