作為公共網路資料供應商,擁有完善的自動化資料品質檢查機制是關鍵。那我們該怎麼做呢?首先,我們根據資料類型區分測試。測試命名可能看起來有些令人困惑,因為它最初是為內部使用而設計的,但它有助於我們了解我們正在測試的內容。
我們有兩種類型的數據:
靜態數據。靜態意味著我們不會即時抓取數據,而是使用靜態裝置。
動態數據。動態意味著我們即時從網路上抓取資料。
然後,我們根據數據品質檢查的類型進一步區分我們的測試:
夾具測試。這些測試使用裝置來檢查資料品質。
覆蓋率測試。這些測試使用一系列規則來檢 台灣數據 查資料品質。
讓我們更詳細地看一下每個測試。
靜態夾具測試
如前所述,這些測試屬於靜態資料類別,這意味著我們不會即時抓取資料。相反,我們使用之前儲存的靜態裝置。
靜態裝置是我們之前儲存的輸入資料。大多數情況下,我們想要抓取的是網頁的 HTML 檔案。對於每個靜態裝置,我們都有一個對應的預期輸出。這個預期輸出是我們期望從解析器取得的資料。
靜態夾具測試步驟
測試的工作原理如下:
解析器接收靜態裝置作為輸入。
解析器處理裝置並返回輸出。
測試檢查輸出是否與預期輸出相同。這不是一個簡單的 JSON 比較,因為某些欄位預計會發生變化(例如最後更新日期),但它仍然是一個簡單的過程。
我們在合併請求的 CI/CD 管道中執行此測試,以檢查對解析器所做的變更是否有效以及解析器是否按預期運作。如果測試失敗,我們就知道某些東西損壞了,需要修復它。
靜態裝置測試無論從製程複雜度或實作角度來說都是最基本的測試,因為它們只需要使用靜態裝置運行解析器,並使用相當簡單的 Python 腳本將輸出與預期輸出進行比較。
儘管如此,它們仍然非常重要,因為它們是抵禦重大變化的第一道防線。
然而,靜態裝置測試無法檢查抓取是否按預期工作或頁面佈局是否保持不變。這就是動態測試類別的用武之地。