基于mp300設備的智能卡協議自動測試系統和方法
【專利摘要】本發明提供一種基于MP300設備的智能卡協議自動測試系統及方法,所述方法包括,測試工具調用測試端軟件提供給用戶的API接口,由用戶在該API接口中用腳本語言編寫測試腳本,用戶編寫完成后,測試工具將在API接口中編寫好的測試腳本作為一條命令發送給測試軟件;測試端軟件將命令傳送給MP300連接模塊,MP300連接模塊通過操作MP300設備執行該命令,并將返回值信息傳送給測試端軟件,測試端軟件再將返回值信息返回給調用它的測試工具。本發明測試準確、方便快捷。
【專利說明】
基于MP300設備的智能卡協議自動測試系統和方法
技術領域
[0001]本發明屬于智能卡測試技術領域,涉及一種智能卡協議的自動測試系統和方法,特別是涉及一種基于MP300設備的智能卡協議自動測試系統和方法。
【背景技術】
[0002]智能卡的快速發展深刻的改變著人們的生活,為人們的生活帶來了便捷。智能卡在制造完成之后,投入應用之前,必須對其進行測試。一般都采用MICR0PR0SS公司提供了MPManager工具,或是Integri公司提供的EMV系列測試工具操作MP300設備,對卡片進行測試。MPManager雖然可以建立用戶自己的測試工程,但其中的很多測試結果都需要人工判斷,例如等待時間WT(waiting time)的范圍是否符合要求。而且由于MPManager并不向外給用戶提供API (Applicat1n Programming Interface),所以用于只能在MPManager工具中運行測試腳本,另外,MPManager工具提供的自定義格式的測試腳本功能簡單,無法滿足用戶多種個性化的需求。例如,如果運行一個要經過加載CAP包、鑒權等相對復雜一些操作的測試,MPManager工具就很難實現。雖然EMV系列測試工具與之相反,它雖然做到了全自動測試,但其隱藏了測試過程,只提供測試結果,且也不向用戶提供API接口,不能讓用戶任意在自己想測試的地方進行自己想要的測試。因此,在智能卡的測試技術領域中,急需發明一種既可以滿足用戶個性化需求,又可以提高測試自動化效率的測試系統和方法。
【發明內容】
[0003]一種基于MP300設備的智能卡協議自動測試方法,所述方法包括,SI:測試工具調用測試端軟件提供給用戶的API接口,由用戶在該API接口中用腳本語言編寫測試腳本,用戶編寫完成后,測試工具將在API接口中編寫好的測試腳本作為一條命令發送給測試軟件;S2:測試端軟件將命令傳送給MP300連接模塊,MP300連接模塊通過操作MP300設備執行該命令,并將返回值信息傳送給測試端軟件,測試端軟件再將返回值信息返回給調用它的測試工具。步驟SI還包括,所述測試端軟件包括用⑶M組件方法實現,利用COM組件向用戶提供API接口,所述腳本語言直接調用COM組件提供的API接口。其中,步驟S2還包括,測試端軟件將命令轉換成用戶自定義的數據格式,并通過Socket傳送給MP300連接模塊,MP300連接模塊通過所述命令中的的設備編號與命令編號,調用MICR0PR0SS公司提供的庫函數執行該命令,MP300連接模塊調用庫函數后將返回值信息轉換成用戶自定義的數據格式并通過Socket傳送給測試端軟件。其中用戶自定義的數據包括命令信息和返回值信息,且自定義的數據格式中的命令信息格式和返回值信息格式分別如下:命令的信息格式為:設備編號+命令編號+命令數據;返回值的信息格式為:設備編號+命令編號+響應數據,其中,設備編號用一個字節表示,代表執行此操作的設備對象,命令編號用一字節表示,代表執行的命令,設備編號與命令編號都是用戶自定義的,每個設備編號代表一種設備,而每個命令編號則代表操控MP300設備的一條指令。MP300連接模塊內置一個Socket服務器,在打開MP300連接模塊的時候同時開啟Socket服務,測試端則是一個Socket客戶端,Socket服務器與Socket客戶端通過所述自定義數據格式進行數據傳送,以實現測試端通過MP300連接模塊與MP300設備進行交互。
[0004]一種基于MP300設備的智能卡協議自動測試系統,所述系統包括,MP300設備,測試端,MP300連接模塊;測試端包括接口單元,測試工具調用測試端軟件提供給用戶的API接口,由用戶在該API接口中用腳本語言編寫測試腳本,用戶編寫完成后,測試工具將在API接口中編寫好的測試腳本作為一條命令發送給測試軟件;MP300連接模塊包括通信單元和執行單元,測試端軟件通信單元將命令傳送給MP300連接模塊,MP300連接模塊通過執行單元操作MP300設備執行該命令,并將返回值信息通信單元傳送給測試端軟件,測試端軟件再將返回值信息返回給調用它的測試工具。所述接口單元包括,測試端軟件包括用COM組件方法實現,利用COM組件向用戶提供API接口的接口提供組件,所述腳本語言直接調用COM組件提供的API接口的調用組件。所述通信單元還包括,測試端軟件將命令轉換成用戶自定義的數據格式的轉換組件,并通過Socket傳送給MP300連接模塊的傳送組件,MP300連接模塊通過所述命令中的的設備編號與命令編號,調用MICR0PR0SS公司提供的庫函數執行該命令的調用組件,MP300連接模塊調用庫函數后將返回值信息轉換成用戶自定義的數據格式并通過Socket傳送給測試端軟件的交互組件。其中,轉換組件中的用戶自定義的數據包括命令信息和返回值信息,且自定義的數據格式中的命令信息格式和返回值信息格式分別如下:命令的信息格式為:設備編號+命令編號+命令數據;返回值的信息格式為:設備編號+命令編號+響應數據,其中,設備編號用一個字節表示,代表執行此操作的設備對象,命令編號用一字節表示,代表執行的命令,設備編號與命令編號都是用戶自定義的,每個設備編號代表一種設備,而每個命令編號則代表操控MP300設備的一條指令。MP300連接模還包括,內置的一個Socket服務器,在打開MP300連接模塊的時候同時開啟Socket服務,測試端則包括一個Socket客戶端,Socket服務器與Socket客戶端通過所述自定義數據格式進行數據傳送,以實現測試端通過MP300連接模塊與MP300設備進行交互的交互組件。
[0005]本發明的智能卡測試系統和方法,通過MP300連接模塊連接測試端與MP300設備,為用戶提供了可以根據其需要個性化編寫測試腳本的API接口,而且使用Java直接調用MPmanager中的庫函數操作MP300設備,實現了自動化協議測試,節省了測試人工成本,提高了測試效率,滿足了用戶的個性化需求,實現了對智能卡片測試全過程的監控,而且可以隨意選擇測試內容,靈活性很高。
[0006]說明書附圖
[0007]圖1:本發明智能卡測試系統的原理結構圖。
具體實施例
[0008]現在結合說明書附圖以及具體實施例進一步闡述本發明中智能卡的測試系統和方法。如圖1所示,本發明的智能卡協議自動測試系統主要包括,MP300設備,測試端,MP300連接模塊。MP300連接模塊用于操作MP300設備以及用于與測試端通信的MP300連接模塊。其中MP300連接模塊調用MP300中自帶的庫函數,利用該調用的庫函數直接與MP300設備進行通信,而無需用戶另外編寫新的庫函數。另外,MP300連接模塊與測試端的通信包括進行數據與命令的分派。
[0009]MP300連接模塊是用Java的RCP(Rich Client Platform)方法制作的圖形化界面單元。MICROPROSS公司提供了一套與MP300設備匹配的庫函數,MP300連接模塊通過調用該庫函數即可對MP300設備進行操控。由于不論是MPManager還是EMV系列測試工具都是調用這一套庫函數接口實現測試的,因此,MP300連接模塊同樣可以用于EMV系列測試工具的操控上。另外,由于該操作單元是通過采用JNA(Java Native Access)方法調用該庫函數的,于是實現了可以讓采用拓似直接操控1^300設備。
[0010]MP300連接模塊選擇使用Socket方式與測試端進行通信。MP300連接模塊內置一個Socket服務器,在打開MP300連接模塊的時候同時開啟Socket服務。測試端則是一個Socket客戶端。Socket服務器與Socket客戶端通過以下自定義的一套數據格式進行數據傳送,以實現測試端通過MP300連接模塊與MP300設備進行交互的目的。
[0011]其中在一個實施例中,自定義的數據包括命令數據和返回值信息數據,且自定義的數據格式中的命令的信息格式和返回值的信息格式分別如下:
[0012]命令的信息格式為:設備編號+命令編號+命令數據;
[0013]返回值的信息格式為:設備編號+命令編號+響應數據;
[0014]其中,設備編號用一個字節表示,代表執行此操作的設備對象。命令編號用一字節表示,代表執行的命令。設備編號與命令編號都是用戶自定義的。每個設備編號代表一種設備,而每個命令編號則代表操控MP300設備的一條指令。在一個實施例中,MP300設備包括MP300TC3,則定義MP300TC3的設備號為01 ,SendAPDU的命令編號為0A,則向卡片發送一條APDU指令E0710000,此命令的信息格式為:010A04E0710000;若其返回值為9000,則返回值的信息格式為:010A029000。
[0015]本發明的測試方法包括,由測試端軟件向用戶提供API,測試端軟件對用戶命令中的數據進行了一次解析與封裝,將用戶命令發送給MP300連接模塊,由MP300連接模塊利用所述操作單元操控MP300設備;測試端利用所述通信單元接收來自MP300連接模塊的返回值數據,封裝后返回給用戶。
[0016]具體的,該測試方法包括,測試工具調用測試端軟件提供給用戶的API接口,由用戶在該API接口中用腳本語言編寫測試腳本,用戶編寫完成后,測試工具將在API接口中編寫好的測試腳本作為一條命令發送給測試軟件,測試端軟件將命令轉換成用戶自定義的數據格式,并通過Socket傳送給MP300連接模塊,MP300連接模塊通過命令的設備編號與命令編號,調用MICR0PR0SS公司提供的庫函數執行命令;同樣的,MP300連接模塊調用庫函數后將返回值信息轉換成用戶自定義的數據格式并通過Socket傳送給測試端軟件,測試端軟件再將返回值信息返回給調用它的測試工具。其中測試方法的測試端軟件用COM組件方法實現,利用COM組件向用戶提供API。測試腳本一般都用腳本語言編寫,而腳本語言可以直接調用COM組件提供的API。測試工具編寫測試腳本調用測試軟件提供的API進行自動化協議測試了。
[0017]本發明的測試系統和方法給用戶向外部提供了API,通過測試腳本調用API以達到控制MP300設備的目的。因此,只要測試工具的測試腳本可以調用COM組件提供的API,即可進行協議測試。另外,本發明的測試系統和方法還實現了自動化測試:相對過去的協議測試手段,本發明的測試系統和方法更靈活,更簡單。協議測試腳本可以由用戶自行編寫,這就給用戶很大的操作空間,加載什么包,運行什么應用,參數設置多少,用戶都可以依需要靈活設置。在編寫完測試腳本之后,只要運行測試腳本就可以完成協議測試,而測試COM組件提供的API可以實現結果的檢查,以減少人工比對的步驟。加上必要的人工核對檢查,本發明的測試系統個方法.至少可以減少協議測試六成的時間。
【主權項】
1.一種基于MP300設備的智能卡協議自動測試方法,其特征在于:所述方法包括: S1:測試工具調用測試端軟件提供給用戶的API接口,由用戶在該API接口中用腳本語言編寫測試腳本,用戶編寫完成后,測試工具將在API接口中編寫好的測試腳本作為一條命令發送給測試軟件; S2:測試端軟件將命令傳送給MP300連接模塊,MP300連接模塊通過操作MP300設備執行該命令,并將返回值信息傳送給測試端軟件,測試端軟件再將返回值信息返回給調用它的測試工具。2.根據權利要求1所述方法,其特征在于:步驟SI還包括,所述測試端軟件包括用COM組件方法實現,利用COM組件向用戶提供API接口,所述腳本語言直接調用COM組件提供的API接口。3.根據權利要求1所述方法,其特征在于:其中,步驟S2還包括,測試端軟件將命令轉換成用戶自定義的數據格式,并通過Socket傳送給MP300連接模塊,MP300連接模塊通過所述命令中的的設備編號與命令編號,調用MICR0PR0SS公司提供的庫函數執行該命令,MP300連接模塊調用庫函數后將返回值信息轉換成用戶自定義的數據格式并通過Socket傳送給測試端軟件。4.根據權利要求3所述方法,其特征在于:其中用戶自定義的數據包括命令信息和返回值信息,且自定義的數據格式中的命令信息格式和返回值信息格式分別如下:命令的信息格式為:設備編號+命令編號+命令數據;返回值的信息格式為:設備編號+命令編號+響應數據,其中,設備編號用一個字節表示,代表執行此操作的設備對象,命令編號用一字節表示,代表執行的命令,設備編號與命令編號都是用戶自定義的,每個設備編號代表一種設備,而每個命令編號則代表操控MP300設備的一條指令。5.根據權利要求4所述方法,其特征在于:MP300連接模塊內置一個Socket服務器,在打開MP300連接模塊的時候同時開啟Socket服務,測試端則是一個Socket客戶端,Socket服務器與Socket客戶端通過所述自定義數據格式進行數據傳送,以實現測試端通過MP300連接模塊與MP300設備進行交互。6.一種基于MP300設備的智能卡協議自動測試系統,其特征在于:所述系統包括,MP300設備,測試端,MP300連接模塊; 測試端包括接口單元,測試工具調用測試端軟件提供給用戶的API接口,由用戶在該API接口中用腳本語言編寫測試腳本,用戶編寫完成后,測試工具將在API接口中編寫好的測試腳本作為一條命令發送給測試軟件; MP300連接模塊包括通信單元和執行單元,測試端軟件通信單元將命令傳送給MP300連接模塊,MP300連接模塊通過執行單元操作MP300設備執行該命令,并將返回值信息通信單元傳送給測試端軟件,測試端軟件再將返回值信息返回給調用它的測試工具。7.根據權利要求6所述的系統,其特征在于,所述接口單元包括,測試端軟件包括用COM組件方法實現,利用COM組件向用戶提供API接口的接口提供組件,所述腳本語言直接調用COM組件提供的API接口的調用組件。8.根據權利要求6所述的系統,其特征在于,所述通信單元還包括,測試端軟件將命令轉換成用戶自定義的數據格式的轉換組件,并通過Socket傳送給MP300連接模塊的傳送組件,MP300連接模塊通過所述命令中的的設備編號與命令編號,調用MICR0PR0SS公司提供的庫函數執行該命令的調用組件,MP300連接模塊調用庫函數后將返回值信息轉換成用戶自定義的數據格式并通過Socket傳送給測試端軟件的交互組件。9.根據權利要求8所述的系統,其特征在于,其中,轉換組件中的用戶自定義的數據包括命令信息和返回值信息,且自定義的數據格式中的命令信息格式和返回值信息格式分別如下:命令的信息格式為:設備編號+命令編號+命令數據;返回值的信息格式為:設備編號+命令編號+響應數據,其中,設備編號用一個字節表示,代表執行此操作的設備對象,命令編號用一字節表示,代表執行的命令,設備編號與命令編號都是用戶自定義的,每個設備編號代表一種設備,而每個命令編號則代表操控MP300設備的一條指令。10.根據權利要求8所述的系統,其特征在于,MP300連接模還包括,內置的一個Socket服務器,在打開MP300連接模塊的時候同時開啟Socket服務,測試端則包括一個Socket客戶端,Socket服務器與Socket客戶端通過所述自定義數據格式進行數據傳送,以實現測試端通過MP300連接模塊與MP300設備進行交互的交互組件。
【文檔編號】G06F11/36GK105912463SQ201610206730
【公開日】2016年8月31日
【申請日】2016年5月20日
【發明人】黃志高, 劉明超
【申請人】東信和平科技股份有限公司