銀行線上信貸系統如何做好介面測試?手把手教你介面工具Postman

近年來,伴隨著金融科技、網際網路金融業務的浪潮,依託大資料、人工智慧、雲計算等技術的進步,線上信貸產品在銀行信貸業務中佔據越來越多的比重,承載這些業務的銀行系統通常具有關聯絡統眾多、介面呼叫關係複雜等特點,測試難度較大。於是,我們以介面自動化測試為切入點,對線上信貸業務的測試工具及其應用開展探索和研究。

銀行線上信貸系統如何做好介面測試?手把手教你介面工具Postman

一、工具選擇

工欲善其事,必先利其器。我們調研了 Postman 、Poster 、Jmeter 等幾款開源的自動化測試工具:

JMeter:一款開源的效能測試工具,操作簡單、方便,既有 JDBC request 操作資料庫資料,也有 Http request 和 Soap request 應對測試。它通常可以用於測試靜態或者動態資源的效能(檔案、Servlets、Perl 指令碼、java 物件、資料庫和查詢、ftp 伺服器或者其他的資源),使用 JMeter 提供的圖形化介面分析效能指標或者在高負載情況下測試伺服器/指令碼/物件的行為。

Poster:火狐瀏覽器自帶的介面測試工具,外掛中安裝即可,介面簡單明瞭,容易上手。

Postman :原為谷歌瀏覽器的擴充套件工具,目前已成為獨立軟體,介面簡潔,與Poster 差別不大,功能較 Poster 更為強大,可儲存執行場景並分類管理。支援透過Newman 等外掛進行命令列提示符排程執行。

Cucumber:與以上幾種特定工具不同,更像是一個以場景編輯器,需與其他測試工具結合使用。功能齊全,需要一定程式設計技術基礎,學習成本較高。

經過調研,我們發現,Postman 是一款功能較為強大的 Http 除錯與模擬外掛,可以傳送幾乎所有型別的 Http 請求。同時,它介面功能較為友好,使用方便,應用較為廣泛。

銀行線上信貸系統如何做好介面測試?手把手教你介面工具Postman

銀行線上信貸系統如何做好介面測試?手把手教你介面工具Postman

二、線上信貸業務介面測試的實際應用

完成工具調研之後,我們結合線上場景貸款的典型業務流程,對 Postman 工具進行了應用。

線上貸款產品,通常由客戶自助發起,從透過各種渠道入口(例如:掌上銀行、網上銀行、網點櫃面)進行申請和辦理。針對我們關注的線上貸款運算邏輯,我們使用Postman 工具來模擬從各個渠道系統傳送過來的請求報文,實現對信貸系統的測試,透過調整不同的輸入資訊,驗證系統處理邏輯。

在貸款申請、審批、放款三個環節,使用 Postman 編制三支介面功能測試指令碼;在線上貸款的申請、審批和發放三個環節中,透過在 pre-request script 設定序列號進行引數配置,從返回值中抓取變數的返回結果進行變數儲存關聯,實現了不同環節的報文串聯;透過在 Collections 集合中統一管理和排程指令碼,使指令碼集合能夠支援業務從頭到尾的全流程自動化測試和驗證。

銀行線上信貸系統如何做好介面測試?手把手教你介面工具Postman

線上信貸業務系統除了關注業務處理邏輯之外,對於客戶資訊,如:姓名、身份證號、手機號等需要做重點的校驗,包括唯一性校驗、資訊欄位本身的合法性校驗等。這無疑給我們的介面自動化測試帶來了很大困難,對於這種多樣性問題,Postman 有什麼好的解決辦法嗎? 透過探索實踐發現,我們可以編寫 JS 指令碼去解決這個問題。 例如:

1、客戶姓名自動生成

銀行線上信貸系統如何做好介面測試?手把手教你介面工具Postman

2、客戶手機號碼自動生成

銀行線上信貸系統如何做好介面測試?手把手教你介面工具Postman

經過實際使用,Postman工具可以較好地支援上述場景的介面測試,支援測試資料和測試引數的配置,統一管理和排程測試執行,透過指令碼的匯入匯出實現指令碼備份和共享。另外還可以透過使用環境變數配置實現同一測試集合指令碼在不同測試環境中的執行,使用 Newman外掛實現指令碼的命令列執行,大大提高了指令碼實際應用的便利性和可擴充套件性。