![測試工具鏈——Python實現文件的兩兩比對校驗](http://p2.ttnews.xyz/loading.gif)
在測試過程中,經常會遇到比對實際結果文件與期望結果文件一致性的測試場景,比如在Hadoop集群的MR(map/reduce)功能測試中,實際運行結果文件與期望結果文件的比對。
![測試工具鏈——Python實現文件的兩兩比對校驗](http://p2.ttnews.xyz/loading.gif)
接下來我們就分享如何利用Python實現結果文件的兩兩校驗。
程序設計
首先校驗內容包含數據一致性校驗、數量一致性校驗。其次還需考慮一些特殊情況:
- 支持多值列,某列包含多個值,且值順序不固定
- 支持多文件的比對,如,程序每次運行產生的實際結果文件數量不固定,需要先進行文件合併在校驗
- 支持過濾指定列不進行校驗,如某些列是變值,如時間,則不校驗
- 支持選擇指定列校驗,如只需要校驗某一列
整體實現設計劃分為三個層次,基礎設施層、中間件層、服務層。
- 基礎設施層:文件讀取、文件預處理
- 中間件層:List選擇過濾器、List比對
- 服務層:完全性校驗、過濾性校驗、選擇性校驗
開發實現
基礎設施層-文件讀取
基礎設施層-文件預處理
中間件層-List比對
中間件層-List選擇過濾器
服務層-完全性校驗
服務層-選擇性校驗
服務層-過濾性校驗
若對你有所幫助,歡迎大家評論、留言。
閱讀更多 測試開發技術棧 的文章