周云梅

摘? ?要:隨著消費金融業務不斷增加,需要調用大量第三方服務來核查用戶資質,目前國內在這方面仍是短板。文章采用自動化測試平臺與第三方平臺之間搭建MOCK平臺,對第三方數據源進行模擬測試,解決了現有技術中存在的一些不足。
關鍵詞:MOCK平臺模擬數據源測試;第三方數據源;方法
隨著互聯網技術在消費金融領域中的應用,其高效、便捷、普惠的優勢,使得消費金融個貸業務呈現渠道多樣化、客戶群體覆蓋廣、審批快捷高效的新特征。在當前消費金融業務量不斷提升的背景下,迫切需要依托第三方服務來快速準確核查用戶資質,最大限度避免信息不對稱問題,客觀、準確地為客戶畫像,揭示隱性風險和潛在風險,實現對虛假信息、欺詐行為的準確識別和實時預警。
1? ? 國內第三方數據源測試存在問題
(1)第三方服務方提供的測試數據比較簡單且環境不穩定,經常出現超時等異常情況,同時提供的測試數據也不能完全滿足測試需求。
(2)部分第三方服務方無測試環境,只能提供生產環境,該環境只要調用成功,就會收取相應的費用。
(3)無法滿足前端測試人員需要配置特殊情況的測試數據,一筆申請請求覆蓋多個第三方服務。
(4)無法實現自動化測試的需求。
2? ? 第三方數據源測試方法探索
針對上述問題,可在自動化測試平臺與第三方平臺之間搭建MOCK平臺,對第三方數據源進行模擬測試,確保數據源穩定性,避免超時等異常情況,大幅提升測試效率和質量。
2.1? 主要優點
(1)統一維護和管理第三方數據源,可以保證數據源的穩定性,避免超時等異常情況,保證測試的快速高效;同時將第三方數據源的數據保存在MOCK平臺,只進行一次數據獲取,測試的時候直接在MOCK平臺讀取數據,不需要重復付出第三方測試費用。(2)可支持多線程、高并發,第三方數據源與自動化測試有機結合,解決了一筆申請請求覆蓋多個第三方服務的自動測試問題。(3)前端測試人員可以根據需要配置特殊情況的測試,拓展方便、可移植性高。
2.2? 具體方法
基于MOCK平臺的第三方數據源模擬測試流程主要有5個步驟,如圖1所示。
(1)在自動化測試平臺與第三方平臺之間搭建MOCK平臺。MOCK平臺包括用戶配置模塊、自定義服務配置模塊、管理數據源規則模塊、刪除數據源規則模塊、批量導入規則模塊和批量導出規則模塊。
用戶配置模塊用于配置系統用戶的賬號和密碼,便于管理登錄MOCK平臺系統的用戶。
自定義服務配置模塊用于管理和配置第三方服務ID和所屬系統名。
管理數據源規則模塊用于新增規則、修改規則以及第三方服務的響應結果。
刪除數據源規則模塊用于刪除指定的第三方服務下的所有規則。
批量導入規則模塊用于導入指定的規則到指定的第三方服務。
批量導出規則模塊用于導出指定的第三方服務下的規則。
(2)MOCK平臺獲取第三方平臺數據報文,并將第三方平臺數據報文存到REDIS服務器,MOCK平臺將用戶配置的服務信息及規則匹配信息存儲至REDIS服務器。
根據第三方數據源的接口文檔,解析接口文檔中表格,生成字段名加每個字段的枚舉值范圍;根據字段枚舉值范圍,生成第三方數據源所有報文;通過HTTP服務自動批量或單筆提交第三方數據源報文、配置數據源服務名、測試環境、匹配規則、閥值到MOCK平臺,并存儲第三方平臺數據等內容到REDIS服務器,以便測試過程中使用。
聯調測試中通過關鍵字分析自動抓取第三方數據源的日志文件,將日志中map格式報文轉成jsno格式;通過HTTP服務自動批量或單筆提交第三方數據源報文、配置數據源服務名、測試環境、匹配規則、閥值到MOCK平臺,并存儲第三方平臺數據等內容到REDIS服務器,以便測試過程中使用。
手工編輯第三方數據源異常報文,用于測試異常報文的情況;通過HTTP服務自動批量或單筆提交第三方數據源報文、配置數據源服務名、測試環境、匹配規則、閥值到MOCK平臺,并存儲第三方平臺數據等內容到REDIS服務器,以便測試過程中使用。
(3)自動化測試平臺測試時,根據規則匹配,匹配用戶配置的規則,直接調用MOCK平臺存儲的數據,返回調用結果給自動化測試平臺;規則支持模式匹配、精確匹配兩種;返回報文的消息體為json格式,其中的值支持$符變量引用,可引用輸入變量中的內容,也可以產生當前時間$timestamp或產生序列號$serialNo等。
用戶發起執行自動化腳本指令,調用自動化平臺根據第三方數據源的接口文檔自動生成MOCK平臺數據和期望結果。自動化平臺調用MOCK平臺,根據用戶指定的配置內容自動配置第三方的模擬報文到MOCK平臺,并生效。配置數據源服務名,服務包括反欺詐規則(同盾、白騎士、騰訊、百融)、運營商規則(安迅、集奧、天翼)以及綜合服務。配置測試環境、入參規則、出參規則、閥值等。
(4)自動化測試平臺根據MOCK平臺返回的第三方平臺數據報文,給出通過或拒絕的結果。
一筆請求調用多個第三方服務方,串行精確匹配上MOCK平臺的第一個服務方規則,直接返回MOCK平臺存儲的第一個數據源報文給測試系統;測試系統根據返回報文,決定通過或拒絕的結果;如果通過,再進行第二個服務方規則的匹配,如果匹配好,返回報文,測試系統根據返回報文,決定通過或拒絕的結果;如果拒絕,直接不調用第三方服務方;循環執行上述過程直至多個第三方服務方均得出結果。
(5)自動化測試平臺根據測試系統返回的結果比對測試結果的正確性。自動化平臺可以錄制并保存測試結果,也可以直接自動比對返回的報文內容和數據庫相應的字段。所有測試用例執行完畢后,發送測試報告到指定的郵箱,刪除MOCK平臺的測試規則。