本發(fā)明涉及金融交易終端領域,尤其是涉及一種對金融交易終端的測試方法以及實現這種方法的裝置,還涉及用于測試的測試卡、計算機可讀介質。
背景技術:
:隨著智能卡的廣泛應用,人們越來越多的使用智能卡進行消費,典型的智能包括借記卡、信用卡等。智能卡又稱為芯片、ic卡或者cpu卡,智能卡內通常集成一個芯片,芯片可以運行智能卡的操作系統(tǒng)cos,并且在智能卡的操作系統(tǒng)上可以運行各種各樣的應用模塊,如支付的應用模塊,從而使得智能卡具備支付功能。在使用智能卡進行交易時,往往需要使用能夠與智能卡進行通信的金融交易終端實現,例如pos機等。但是,由于金融交易終端因為故障等原因可能出現異常情況,往往會影響交易的進行,因此需要定期對金融交易終端進行檢測,以確定金融交易終端是否出現異常情況,一旦出現異常情況需要及時修復。目前檢測金融交易終端正確性的方法是使用符合中國金融行業(yè)智能卡規(guī)范的智能卡,按照不同的檢測案例來個人化生成對應的測試卡,并且使用該測試卡進行測試。因為所使用的測試卡是符合中國金融行業(yè)智能卡規(guī)范的智能卡,因此對智能卡的個人化具有局限性,無法對所有檢測案例都可以一一對應生成相應的智能卡,導致無法對金融交易終端遍歷所有的檢測案例,影響了金融交易終端的測試完整性,導致部分故障不能及時發(fā)現,影響金融交易終端的使用。技術實現要素:為了解決上述的問題,本發(fā)明的第一目的是提供一種可以有效檢測金融交易終端是否出現故障的測試方法。本發(fā)明的第二目的是提供一種能夠查找各種故障原因的金融交易終端測試裝置。本發(fā)明的第三目的是提供一種用于對金融交易終端進行測試的測試卡。本發(fā)明的第四目的是提供一種實現對金融交易終端進行測試的計算機可讀介質。為實現上述的第一目的,本發(fā)明提供的金融交易終端的測試方法包括向測試卡寫入測試案例;金融交易終端向測試卡發(fā)送交易指令;測試卡接收交易指令后,應用測試案例對交易指令進行分析,并且返回與交易指令相對應的個人化數據;判斷金融交易終端是否正確處理個人化數據,如是,確認金融交易終端的運行正確性。由上述方案可見,本發(fā)明的測試方法中,由于向測試卡加載的測試案例遵從pboc交易流程,也就是按照中國金融行業(yè)智能卡規(guī)范所規(guī)定的流程,并且可以通過個人化內容來控制智能卡向金融交易終端所返回的響應數據,這樣,就可以覆蓋所有檢測金融交易終端的測試案例,滿足測試的需求。一個優(yōu)選的方案是,向測試卡寫入測試案例包括:向測試卡加載測試案例,并且將金融交易終端測試使用的命令報文與命令報文所對應的個人化數據寫入到測試卡中,其中,命令報文與個人化數據是一一對應的。由此可見,向測試卡寫入的測試案例包括命令報文以及對應的個人化數據,由于寫入的個人化數據可以由于測試人員自行設定,這樣,在滿足中國金融行業(yè)智能卡規(guī)范所規(guī)定的流程的情況下,測試人員可以根據多種不同的情況寫入響應的個人化數據,以確保測試卡能夠完成各種情況下的測試。進一步的方案是,向測試卡寫入測試案例還包括:向測試卡加載測試案例前,對測試卡進行認證操作,在測試卡通過認證后寫入命令報文及個人化數據。可見,向測試卡寫入測試案例前先對測試卡進行認證,從而確保只有通過認證的測試卡才能用于對金融交易終端進行測試,保障測試的安全性,避免使用不合法的測試卡對金融交易終端進行測試,也確保測試結構的準確性。為實現上述的第二目的,本發(fā)明提供的金融交易終端測試裝置應用于金融交易終端使用的測試卡,該裝置包括測試案例寫入模塊,用于接收并寫入測試案例;還包括交易指令接收模塊,用于接收金融交易終端發(fā)送的交易指令;還包括個人化數據發(fā)送模塊,用于應用測試案例對交易指令進行分析,并且發(fā)送與交易指令相對應的個人化數據。由上述方案可見,由于向測試卡加載的測試案例遵從中國金融行業(yè)智能卡規(guī)范所規(guī)定的流程,并且可以通過個人化內容來控制智能卡向金融交易終端所返回的響應數據,這樣,就可以覆蓋所有檢測金融交易終端的測試案例,滿足測試的需求。一個優(yōu)選的方案是,測試案例寫入模塊還用于:接收所加載的測試案例,并且將金融交易終端測試使用的命令報文與命令報文所對應的個人化數據寫入到測試卡中,其中,命令報文與個人化數據是一一對應的。由此可見,向測試卡寫入的測試案例包括命令報文以及對應的個人化數據,由于寫入的個人化數據可以由于測試人員自行設定,這樣,在滿足中國金融行業(yè)智能卡規(guī)范所規(guī)定的流程的情況下,測試人員可以按照不同的情況寫入響應的個人化數據,以確保測試卡能夠完成各種情況下的測試。為實現上的第三目的,本發(fā)明提供的測試卡應用于對金融交易終端進行測試,包括ic芯片,該ic芯片用于執(zhí)行以下步驟:接收并寫入測試案例;接收金融交易終端發(fā)送的交易指令;應用測試案例對交易指令進行分析,并且發(fā)送與交易指令相對應的個人化數據。為實現上的第四目的,本發(fā)明提供的計算機可讀介質運行于測試卡上,該計算機可讀介質用于執(zhí)行以下步驟:接收并寫入測試案例;接收金融交易終端發(fā)送的交易指令;應用測試案例對交易指令進行分析,并且發(fā)送與交易指令相對應的個人化數據。由上述方案可見,通過測試卡加載的測試案例遵從中國金融行業(yè)智能卡規(guī)范所規(guī)定的流程,并且可以通過個人化內容來控制智能卡向金融交易終端所返回的響應數據,這樣,就可以覆蓋所有檢測金融交易終端的測試案例,滿足測試的需求。附圖說明圖1是本發(fā)明金融交易終端測試裝置實施例與金融交易終端的結構框圖。圖2是本金融交易終端測試方法實施例中測試卡個人化的流程圖。圖3是本金融交易終端測試方法實施例中金融交易終端測試的流程圖。以下結合附圖及實施例對本發(fā)明作進一步說明。具體實施方式本發(fā)明的金融交易終端的測試方法是應用一張寫入有測試案例的測試卡,通過金融交易終端與測試卡進行通信,由測試卡向金融交易終端發(fā)送預先寫入的個人化數據,通過判斷金融交易終端是否正確響應所接收的個人化數據來判斷金融交易終端是否出現異常情況。本發(fā)明的金融交易終端測試裝置是運行在測試卡上的計算機程序。本發(fā)明還提供一種測試卡,該測試卡包括卡基,卡基可以由塑料或者金屬制成,并且在卡基上設置有ic芯片,ic芯片上運行由計算機程序,用于實現上述的金融交易終端的測試方法。此外,本發(fā)明提供的計算機可讀介質運行在測試卡上,也是用于實現上述的金融交易終端的測試方法。下面結合圖1介紹本發(fā)明的金融交易終端測試裝置,具體的,金融交易終端測試裝置是運行在測試卡10上的應用程序,其中,測試卡10可以使用普通的智能卡制成,例如,測試卡包括由塑料或者金屬材料制成的卡基,并且在卡基上設置ic芯片。優(yōu)選的,測試卡可以是接觸式或者非接觸式智能卡,或者是雙界面智能卡,即集成有接觸式功能以及非接觸式功能的智能卡。由于測試卡需要對不同類型的金融交易終端進程測試,因此測試卡最優(yōu)的是選用雙界面卡,即在測試卡上集成有用于無線通信的天線,還設置有多個電觸點,用于與接觸式的金融交易終端的觸點進行電連接,從而實現與接觸式的金融交易終端進行數據交互。測試卡10上設置有測試案例寫入模塊11、交易指令接收模塊12以及個人化數據發(fā)送模塊13,上述模塊構成本實施例的金融交易終端測試裝置。并且,測試卡10上可以設置諸如flash的存儲器,這些存儲器均為計算機可讀的存儲介質,測試卡10的ic芯片上中央處理器可以讀取這些存儲介質上的計算機程序,從而執(zhí)行相應的測試步驟。本實施例中,測試案例寫入模塊11用于向測試卡10寫入測試案例,例如,通過讀寫器等向測試卡10加載預先設置的測試案例。為了確保所測試的金融交易終端是按照中國金融行業(yè)智能卡規(guī)范執(zhí)行的終端,因此寫入的測試案例應當滿足中國金融行業(yè)智能卡規(guī)范的要求。按照《中華人民共和國金融行業(yè)標準jr/t0025.5》中的中國金融集成電路(ic)卡規(guī)范的第5部分:借記/貸記應用卡片規(guī)范的要求,金融交易終端與借貸卡之間的交易流程包括以下的步驟:第一步,應用選擇,對應select命令;第二步,應用初始化,對應gpo命令;第三步,讀取應用數據,對應readrecord命令;第四步,脫機數據認證sda或dda,對應internalauthenticate命令;第五步,持卡人驗證、終端風險管理,對應getdata和verify命令;第六步,終端行為分析,對應generateac命令;第七步,發(fā)卡行認證,對應externalauthenticate命令;第八步,發(fā)卡行腳本處理,對應putdata、applicationblock等命令。對于以上交易過程中所有涉及到的命令,測試案例寫入模塊11均將相應的測試案例下載到測試卡10內,例如將測試案例寫入到存儲介質的指定存儲區(qū)域,以便于cpu從該存儲介質上讀取相應的測試案例,并且運行這些測試案例。優(yōu)選的,寫入測試案例時,還需要向與測試案例相對應的個人化數據一并寫入到測試卡10中。即將金融交易終端測試使用的命令報文與命令報文所對應的個人化數據寫入到測試卡中,并且,命令報文與個人化數據是一一對應的。例如,獲取處理選項,即應用初始化gpo的命令報文的編碼與相對應的值如下表所示。相應的,gpo命令的響應報文數據域格式如下表所示。模板=80長度應用交互特征應用文件定位器類似的,測試案例寫入模塊11還將其他的命令報文與該命令報文所對應的個人化數據寫入到測試卡10中。對金融交易終端20進行測試時,金融交易終端20將向測試卡10發(fā)送交易指令,因此,交易指令接收模塊12用于接收金融交易終端20所發(fā)送的交易指令。當測試卡10接收到交易指令后,由個人化數據發(fā)送模塊13向金融交易終端20發(fā)送相對應的個人化數據。例如,對測試卡10進行個人化時,需要將命令報文與該命令報文期望響應的數據進行一一對應設置。例如,命令報文是80a80000,則需要將該命令報文與期望返回的響應數據進行對應。這樣,在對金融交易終端10進行測試時,交易指令接收模塊12接收到命令為80a80000的命令報文時,個人化數據發(fā)送模塊13就會返回個人化時寫入的期望響應數據,即命令報文80a80000所對應的個人化數據。這樣,只需要檢測金融交易終端20是否如測試案例的要求正確處理,即可以判斷金融交易終端20是否正確響應該命令報文的個人化數據,從而判斷金融交易終端是否出現故障。下面結合圖2介紹金融交易終端的測試方法。首先,需要對測試卡進行認證,即執(zhí)行步驟s1,例如,確認測試卡是否為認可的用于對金融交易終端進行測試的智能卡。并且,執(zhí)行步驟s2,判斷測試卡是否通過認證,如果通過認證,則執(zhí)行步驟s3,否則結束流程。這樣,可以確保只向通過認證的測試卡寫入測試案例,不會使用未通過認證的測試卡進行測試。如果測試卡通過認證,則執(zhí)行步驟s3,加載測試案例到測試卡。例如,使用讀寫器將預先設置的測試案例寫入到測試卡,并且執(zhí)行步驟s4,將命令報文以及與命令報文相對應的個人化數據寫入到測試卡。優(yōu)選的,可以模擬金融交易終端在進行交易過程中可能出現的各種情況設置測試案例,并且設置相應的命令報文以及相對應的個人化數據,從而滿足測試的需要。本實施例中,向測試卡寫入的命令報文是用于作為判斷的基礎,即對金融交易終端進行測試時,由金融交易終端向測試卡發(fā)送命令報文,測試卡接收到金融交易終端發(fā)送的命令報文后,使用已經存儲測試案例中查找相對應的命令報文,從而確定需要返回的個人化數據。本實施例中的個人化數據是與命令報文一一對應的數據,且個人化數據是由測試卡向金融交易終端發(fā)送的數據。這樣,測試人員可以根據不同的場景需要,設定每一命令報文所對應的個人化數據,從而可以模擬出各種不同的場景以測試金融交易終端是否正確的響應測試卡所發(fā)送的個人化數據。下面結合圖3介紹測試卡與金融交易終端的測試過程。首先,執(zhí)行步驟s11,金融交易終端安裝交易流程發(fā)送交易指令至測試卡,并且該交易指令包含有按照《中華人民共和國金融行業(yè)標準jr/t0025.5》中規(guī)定的命令報文。測試卡接收到交易指令后,執(zhí)行步驟s12,測試卡對所接收的交易指令進行分析,例如對交易指令中的命令報文進行分析,獲取與該命令報文相對應的個人化數據。例如,交易指令中包含的命令報文是80a80000,則測試卡從所存儲的測試案例中查找出與命令報文相對應個人化數據,這些個人化數據即是該命令報文相對應的期望返回的響應數據。由于本實施例中,命令報文與個人化數據是一一對應的關系,因此測試卡可以快速的查找出相對應的個人化數據。測試卡查找到相對應的個人化數據后,將該個人化數據發(fā)送至金融交易終端。金融交易終端接收到個人化數據后,將響應所接收到個人化數據。此時,可以執(zhí)行步驟s13,判斷金融交易終端是否正確響應所接收到的個人化數據。例如,查看金融交易終端的運行狀態(tài)或者查看金融交易終端向后臺服務器發(fā)送的數據,均能夠檢測金融交易終端是否正確處理所接收的個人化數據。如果金融交易終端正確響應所接收到的個人化數據,例如正確的向后臺服務器發(fā)送數據,或者正確的發(fā)出測試卡有異常的提示信息等,則執(zhí)行步驟s14,確定金融交易終端正確響應個人化數據,滿足測試案例的要求,也就是確定金融交易終端沒有出現異常情況,滿足金融交易的需求。如果金融交易終端未能正確響應所接收的個人化數據,例如金融交易終端向后臺服務器返回的交易數據錯誤,則執(zhí)行步驟s15,確定金融交易終端未能正確響應測試卡發(fā)送的個人化數據,不能滿足測試案例的要求。可見,本發(fā)明所采用的測試方法是向測試卡寫入預先設置的測試案例,且測試案例中包含預先設置的命令報文以及與該命令報文相對應的個人化數據,也就是測試人員可以根據不同的場景選擇不同的測試案例,且不同的測試案例中包含有不同的個人化數據,從而滿足不同場景下對金融交易終端的測試要求。當然,上述實施例僅僅是本發(fā)明優(yōu)選的實施方式,實際應用時,本發(fā)明還有更多的改變,例如,測試所使用的命令報文以及對應的個人化數據可以根據不同的場景而發(fā)生改變,這樣的改變也能實現本發(fā)明的目的。當前第1頁12