測試工具鏈——Python實現文件的兩兩比對校驗

測試工具鏈——Python實現文件的兩兩比對校驗

在測試過程中,經常會遇到比對實際結果文件與期望結果文件一致性的測試場景,比如在Hadoop集群的MR(map/reduce)功能測試中,實際運行結果文件與期望結果文件的比對。

測試工具鏈——Python實現文件的兩兩比對校驗

接下來我們就分享如何利用Python實現結果文件的兩兩校驗。

程序設計

首先校驗內容包含數據一致性校驗、數量一致性校驗。其次還需考慮一些特殊情況:

  • 支持多值列,某列包含多個值,且值順序不固定
  • 支持多文件的比對,如,程序每次運行產生的實際結果文件數量不固定,需要先進行文件合併在校驗
  • 支持過濾指定列不進行校驗,如某些列是變值,如時間,則不校驗
  • 支持選擇指定列校驗,如只需要校驗某一列

整體實現設計劃分為三個層次,基礎設施層、中間件層、服務層。

  • 基礎設施層:文件讀取、文件預處理
  • 中間件層:List選擇過濾器、List比對
  • 服務層:完全性校驗、過濾性校驗、選擇性校驗
測試工具鏈——Python實現文件的兩兩比對校驗

開發實現

基礎設施層-文件讀取

測試工具鏈——Python實現文件的兩兩比對校驗

基礎設施層-文件預處理

測試工具鏈——Python實現文件的兩兩比對校驗

中間件層-List比對

測試工具鏈——Python實現文件的兩兩比對校驗

中間件層-List選擇過濾器

測試工具鏈——Python實現文件的兩兩比對校驗

服務層-完全性校驗

測試工具鏈——Python實現文件的兩兩比對校驗

服務層-選擇性校驗

測試工具鏈——Python實現文件的兩兩比對校驗

服務層-過濾性校驗

測試工具鏈——Python實現文件的兩兩比對校驗

若對你有所幫助,歡迎大家評論、留言。


分享到:


相關文章: