自2010年06月21日中國人民銀行公布《非金融機構(gòu)支付服務(wù)管理辦法》以來,針對非金融機構(gòu)“支付業(yè)務(wù)許可證”的申請及檢測認(rèn)證工作已經(jīng)逐步展開。下面,我們將結(jié)合央行檢測認(rèn)證的相關(guān)規(guī)定,對非金融機構(gòu)第三方支付系統(tǒng)性能檢測的要點進(jìn)行解讀和分析。
一、第三方支付系統(tǒng)性能檢測內(nèi)容
中國人民銀行于2011年1月17日發(fā)布了《非金融機構(gòu)支付服務(wù)業(yè)務(wù)系統(tǒng)檢測認(rèn)證管理規(guī)定》(征求意見稿)。其對第三方支付系統(tǒng)性能檢測的目的和內(nèi)容作了如下說明:“驗證業(yè)務(wù)系統(tǒng)是否滿足業(yè)務(wù)需求的多用戶并發(fā)操作,是否滿足業(yè)務(wù)性能需求,評估壓力解除后的自恢復(fù)能力,測試系統(tǒng)性能極限”。
通過這段說明我們不難看出,對支付服務(wù)業(yè)務(wù)系統(tǒng)性能的檢測主要包括以下三方面內(nèi)容:一是系統(tǒng)的并發(fā)能力驗證;二是壓力解除后系統(tǒng)自恢復(fù)能力;三是系統(tǒng)性能極限驗證。
系統(tǒng)的并發(fā)能力驗證應(yīng)包含兩方面檢測內(nèi)容:一是驗證系統(tǒng)是否支持業(yè)務(wù)的多用戶并發(fā)操作;二是結(jié)合典型交易檢驗各測試點在給定并發(fā)用戶數(shù)下,系統(tǒng)各項性能指標(biāo)是否滿足用戶性能需求。
系統(tǒng)自恢復(fù)能力驗證的內(nèi)容主要是在系統(tǒng)并發(fā)能力驗證和系統(tǒng)性能極限驗證的同時,記錄各測試點在加壓和壓力解除前后系統(tǒng)資源的使用情況及資源恢復(fù)所用的時間。
系統(tǒng)性能極限驗證的內(nèi)容主要是對典型交易采用極限測試策略,通過逐步增加系統(tǒng)負(fù)載的方式,測試系統(tǒng)性能的變化,并最終確定在什么負(fù)載條件下系統(tǒng)性能處于失效狀態(tài),同時記錄此時系統(tǒng)所能承受的最大并發(fā)用戶數(shù)。
二、第三方支付系統(tǒng)性能檢測要點分析
與其他應(yīng)用系統(tǒng)的性能測試一樣,規(guī)范的第三方支付系統(tǒng)性能測試同樣需要經(jīng)歷測試準(zhǔn)備、測試實施和測試總結(jié)等過程。
1) 性能需求分析
因各家非金融機構(gòu)支付服務(wù)系統(tǒng)的用戶規(guī)模不同,所以央行并未對第三方支付系統(tǒng)性能檢測環(huán)境和性能指標(biāo)進(jìn)行硬性規(guī)定,性能指標(biāo)的確認(rèn)依據(jù)主要來自于系統(tǒng)需求文檔中對性能的約定或用戶性能需求的調(diào)研。
性能需求的主要調(diào)查內(nèi)容包括:系統(tǒng)實際使用的用戶數(shù)量、正常情況下系統(tǒng)的平均使用用戶數(shù)、高峰時段的在線用戶量、可預(yù)期生命周期內(nèi)系統(tǒng)的用戶增長情況、一年的業(yè)務(wù)量及日交易量、壓力解除后系統(tǒng)自恢復(fù)時間要求等。
2) 測試策略分析
根據(jù)非金融機構(gòu)支付服務(wù)系統(tǒng)的業(yè)務(wù)特點,對其性能的測試大致可分為兩類:一類是包含數(shù)據(jù)插入操作和數(shù)據(jù)查詢操作的并發(fā)測試性能(如:支付、交易明細(xì)查詢等);另一類是大數(shù)據(jù)量處理性能(如:日終批處理等)。
并發(fā)測試策略的主要內(nèi)容應(yīng)包括:并發(fā)用戶數(shù)、性能指標(biāo)要求(包括響應(yīng)時間、系統(tǒng)資源占用)等;對大數(shù)據(jù)量計算性能測試策略的制定過程中,需要關(guān)注的是對批處理交易數(shù)據(jù)量的要求。
3) 性能測試點選取分析
按照央行的定義,第三方支付服務(wù)包含網(wǎng)絡(luò)支付、預(yù)付卡和銀行卡收單等,而無論采用哪種支付方式,三種支付平臺實質(zhì)上都是買賣雙方交易過程中的“中間件”,它的核心功能就是通過提供的支付網(wǎng)關(guān)為交易雙方提供支付、充值等交易服務(wù),并記錄雙方的交易數(shù)據(jù)。對其測試點的選擇可以典型交易、復(fù)雜業(yè)務(wù)流程、頻繁的用戶操作、大數(shù)據(jù)量處理等為總體指導(dǎo)原則,圍繞支付、交易管理、資金結(jié)算、對賬處理等核心業(yè)務(wù)進(jìn)行選取。
在網(wǎng)絡(luò)支付系統(tǒng)中,我們將重點選取支付、預(yù)存、交易明細(xì)查詢、日終批處理等操作進(jìn)行測試;預(yù)付卡部分重點選取聯(lián)機消費、聯(lián)機余額查詢、交易明細(xì)查詢、批量充值、日終批處理等操作進(jìn)行測試;銀行卡收單部分重點選取消費、預(yù)授權(quán)、日終批處理等操作進(jìn)行測試。
三、第三方支付系統(tǒng)測試方法簡析
第三方支付系統(tǒng)性能測試可以選擇常見的商用性能測試軟件進(jìn)行,但需要注意的是由于交易過程通常需要調(diào)用銀行接口與協(xié)約銀行進(jìn)行數(shù)據(jù)交換,因此在測試腳本編輯過程中需要用模擬接口來替換真實的銀行接口來測試支付平臺的真實性能。預(yù)付卡和銀行卡收單其交易數(shù)據(jù)的來源均為Pos機,性能測試中只能用開發(fā)的工具或編制的腳本來模擬發(fā)送報文到Pos前置服務(wù)器進(jìn)行并發(fā)測試,具體可通過Socket協(xié)議編寫報文發(fā)送腳本的過程進(jìn)行實現(xiàn)。