智能卡测试装置和测试方法

文档序号:6439302阅读:371来源:国知局
专利名称:智能卡测试装置和测试方法
技术领域
本发明涉及智能卡技术领域,尤其涉及一种智能卡测试装置和应用智能卡测试装置进行的智能卡测试方法。
背景技术
随着技术的不断发展,出现了各种类型的功能强大的智能卡,为了更好地发挥智能卡的作用,需要对智能卡进行测试。
当前智能卡测试平台种类繁多,然而却存在着很多问题。首先,当前智能卡测试平台以单接口单服务器为主,在应用同时有多方面需求时,运行效率比较低下;其次,当前测试脚本语言以JAVA等高级语言设计脚本,由于该高级语言具有很强的封闭性和独立性,所编写的脚本需要编译,并且不能边运行,边开发,使得开发成本非常高;另外,不能兼容与智能卡应用相关的常用功能,使得测试效率比较低下。发明内容
本发明实施例提供了一种智能卡测试装置和应用智能卡测试装置进行飞智能卡测试方法,以解决当前智能卡测试平台以单接口单服务器为主,在应用同时有多方面需求时,运行效率比较低下的问题。
本发明实施例提供了一种智能卡测试装置,该装置包括主控模块、并行处理模块、 智能卡应用模块和服务器应用模块,其中
所述智能卡应用模块,与所述并行处理模块相连,用于为多智能卡的读卡器提供接入接口和为所述多智能卡提供智能卡应用库;
所述服务器应用模块,与所述并行处理模块相连,用于为多服务器提供接入接口和为所述多服务器提供服务器应用库;
所述并行处理模块,与所述主控模块相连,用于并行处理多智能卡和多服务器的操作;
所述主控模块,用于接入所述智能卡应用库和所述服务器应用库。
优选地,所述装置还包括
智能卡工具箱,与所述主控模块相连,用于为接入的多智能卡提供测试。
优选地,
所述智能卡工具箱包括脚本运行模块;
所述脚本运行模块,用于确定智能卡连接成功后,载入使用专用脚本语言编写的测试用例,利用应用函数库将所述测试用例转换成应用协议数据单元(APDU)指令;向该智能卡发送APDU指令,并接收所述智能卡返回的最终执行结果,若该最终执行结果与期望值相同,则该智能卡通过脚本运行测试,若该最终执行结果与期望值不同,则该智能卡未通过脚本运行测试。
优选地,所述专用脚本语言为支持所述APDU指令、函数和业务流程的三级脚本语曰ο优选地,所述智能卡工具箱还包括文件系统模块、采集数据模块、码制转换模块、 数据解析模块和鉴权工具模块,其中所述文件系统模块,用于在所述脚本运行模块进行测试过程中文件系统出现异常时,对该智能卡中文件中的数据和各种文件操作权限进行读取,并向所述脚本运行模块返回读取结果;所述鉴权工具模块,用于在所述脚本运行模块进行测试过程中需要对该智能卡进行鉴权时,对该智能卡进行鉴权计算,并向所述脚本运行模块返回计算后的鉴权数据;所述采集数据模块,用于在所述脚本运行模块进行测试过程中需要采集该智能卡中的数据时,对该智能卡中的数据进行采集,并向所述脚本运行模块返回采集后的数据;所述码制转换模块,用于在所述脚本运行模块进行测试过程中需要对该智能卡中的数据进行转换时,对该智能卡中的数据进行码制转换,并向所述脚本运行模块返回转换后的数据;所述数据解析模块,用于在所述脚本运行模块进行测试过程中需要对该智能卡中的数据进行解析时,对该智能卡中的数据进行解析,并向所述脚本运行模块返回解析后的数据。本发明实施例还提供了一种应用上述智能卡测试装置进行的智能卡测试方法,该方法包括所述智能卡测试装置自动连接智能卡应用库和服务器应用库;所述智能卡测试装置使用所述智能卡工具箱并行对多智能卡进行测试。优选地,所述智能卡测试装置使用所述智能卡工具箱并行对多智能卡进行测试包括所述智能卡测试装置使用所述智能卡工具箱对所述多智能卡中的任一智能卡进行脚本运行测试。优选地,所述智能卡测试装置使用所述智能卡工具箱对所述多智能卡中的任一智能卡进行脚本运行测试包括所述智能卡测试装置确定该智能卡连接成功后,载入使用专用脚本语言编写的测试用例,利用应用函数库将所述测试用例转换成应用协议数据单元(APDU)指令;所述智能卡测试装置向该智能卡发送APDU指令,并接收所述智能卡返回的最终执行结果,若该最终执行结果与期望值相同,则该智能卡通过脚本运行测试,若该最终执行结果与期望值不同,则该智能卡未通过脚本运行测试。优选地,所述专用脚本语言为支持所述APDU指令、函数和业务流程的三级脚本语 、
曰ο优选地,所述方法还包括所述智能卡测试装置在进行脚本运行测试的过程中,如果文件系统出现异常,则对该智能卡中文件中的数据和各种文件操作权限进行读取,并向所述脚本运行模块返回读取结果;如果需要对该智能卡进行鉴权时,对该智能卡进行鉴权计算,并向所述脚本运行模块返回计算后的鉴权数据;如果需要采集该智能卡中的数据时,对该智能卡中的数据进行采集,并向所述脚本运行模块返回采集后的数据;如果需要对该智能卡中的数据进行转换时,对该智能卡中的数据进行码制转换,并向所述脚本运行模块返回转换后的数据;如果需要对该智能卡中的数据进行解析时,对该智能卡中的数据进行解析,并向所述脚本运行模块返回解析后的数据。
上述智能卡测试装置和方法,支持多接口多服务器并行处理,支持同时进行多应用的智能卡,提高了测试效率;采用创新型专用脚本语言,不必编译,可以边运行边开发,降低了开发成本,更加人性化和贴近应用;另外,还可以支持对智能卡的全方位测试。


图1为本发明智能卡测试装置实施例的结构示意图2为智能卡和智能卡测试装置的连接示意图3为本发明脚本运行的流程图4为本发明采用的专用脚本语言的逻辑示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
如图1所示,为本发明智能卡测试装置实施例的结构示意图,该装置包括主控模块11、并行处理模块12、智能卡应用模块13和服务器应用模块14,其中
所述智能卡应用模块,与所述并行处理模块相连,用于为多智能卡提供接入接口和为所述多智能卡提供智能卡应用库;
所述服务器应用模块,与所述并行处理模块相连,用于为多服务器提供接入接口和为所述多服务器提供服务器应用库;
所述并行处理模块,与所述主控模块相连,用于并行处理多智能卡和多服务器的操作;
所述主控模块,用于接入所述智能卡应用库和所述服务器应用库
其中,上述智能卡应用库为满足个人电脑(Personal Computer,PC)/智能卡 (Smart Card, SC)协议的常用读卡器和常用非接触式读卡器的智能卡应用库,因而,多智能卡可以通过读卡器与智能卡应用模块相连;同时,多服务器可以与服务器应用模块相连; 因而该装置可以支持同时连接触式和非接式智能卡,并同时连接手机模拟器、天气预报服务器、短信服务器和号码服务器等;也可以同时对多个服务器进行相关操作如查找号码,短信接收,天气查询等;较好地解决了当前智能卡测试平台由于单接口单服务器设计而不能同时进行多方位应用的问题。
进一步地,所述并行处理模块采用多线程并行处理器(GPU)进行操作,可以同时支持对多接口和多服务器的访问,大大提高了访问效率。
上述智能卡应用模块和服务器应用模块运用socket网络编程,这样便于支持对各个接口和服务器的独立访问,互不干扰。
另外,上述装置还可以包括智能卡工具箱,与所述主控模块相连,用于为接入的多智能卡提供测试。
其中,所述智能卡工具箱包括脚本运行模块;所述脚本运行模块,用于确定智能卡连接成功后,载入使用专用脚本语言编写的测试用例,利用应用函数库将所述测试用例转换成应用协议数据单元(APDU)指令;向该智能卡发送APDU指令,并接收所述智能卡返回的最终执行结果,若该最终执行结果与期望值相同,则该智能卡通过脚本运行测试,若该最终执行结果与期望值不同,则该智能卡未通过脚本运行测试。所述专用脚本语言为支持所述 APDU指令、函数和业务流程的三级脚本语言。另外,所述智能卡工具箱还可以包括文件系统模块、采集数据模块、码制转换模块、数据解析模块和鉴权工具模块,他们可以辅助脚本运行模块更好地完成测试,具体地所述文件系统模块,用于在所述脚本运行模块进行测试过程中文件系统出现异常时,对该智能卡中文件中的数据和各种文件操作权限进行读取,并向所述脚本运行模块返回读取结果;所述鉴权工具模块,用于在所述脚本运行模块进行测试过程中需要对该智能卡进行鉴权时,对该智能卡进行鉴权计算,并向所述脚本运行模块返回计算后的鉴权数据;所述采集数据模块,用于在所述脚本运行模块进行测试过程中需要采集该智能卡中的数据时,对该智能卡中的数据进行采集,并向所述脚本运行模块返回采集后的数据;所述码制转换模块,用于在所述脚本运行模块进行测试过程中需要对该智能卡中的数据进行转换时,对该智能卡中的数据进行码制转换,并向所述脚本运行模块返回转换后的数据;所述数据解析模块,用于在所述脚本运行模块进行测试过程中需要对该智能卡中的数据进行解析时,对该智能卡中的数据进行解析,并向所述脚本运行模块返回解析后的数据。应用上述智能卡测试装置可以对多智能卡进行测试,测试方法包括步骤一、所述智能卡测试装置自动连接智能卡应用库和服务器应用库;步骤二、所述智能卡测试装置使用所述智能卡工具箱并行对多智能卡进行测试。具体地,所述智能卡测试装置使用所述智能卡工具箱对所述多智能卡中的任一智能卡进行测试;该智能卡工具箱包括脚本运行,文件系统、采集数据、码制转换、数据解析和鉴权工具六种功能模块;以脚本运行功能为主,其余五种功能为辅共同完成对智能卡的多方位测试。下面以实施例的形式对上述六种功能模块进行描述实施例一该实施例用于描述使用脚本运行模块进行测试的过程智能卡脚本运行测试包含支持满足PC/SC协议的所有读卡器和常用非接触式读卡器的操作,操作各种卡类功能包括(U)SIM卡、非接卡等,脚本连续运行、单步运行、中端等功能,以及输出分析报告功能等。以上功能的具体实现需要调用VC 6.0所提供的库函数,由于库函数比较分散,因此编写了应用函数库,通过对VC 6. 0所提供的库函数的集成以提高测试效率,其中,智能卡和智能卡测试装置的连接关系如图2所示,脚本运行测试流程如图3所示,该过程包括步骤101、选择相应读卡器,连接智能卡;步骤102、载入测试用例,根据企业标准测试本规范,并利用应用函数库将测试用例转换成应用协议数据单元(APDU)指令;
上述测试用例是使用专用脚本语言编写的,该专用脚本语言是一套3级测试脚本语言,既可以支持APDU指令级的基础测试,又可以支持对业务级的逻辑流程测试;既可以支持条件预置的静态测试,又可以支持变量未知的动态测试。对空中下载技术(OTA)等流程较复杂的业务测试,力求用最清晰的脚本语言描述可抽象的业务过程,用最简单的脚本函数实现可统一的业务流程,用最小工作量的脚本实现最大覆盖率的测试。该脚本语言在语法上是统一的,在逻辑上分为APDU指令、函数和业务流程三级脚本,具体结构可参见图 4。
上述脚本语言是高级程序语言,具体设计方案如下
根据拟人化流程设计如下基本单元
发送指令- >接受数据- >与期望数据比较
整个流程易于操作,并且可以用一条语句实现三个过程,节省了代码开发空间和时间。
另外,根据人类自然语言的特点设计了顺序执行指令、跳转指令、条件指令、循环指令等,整个脚本语言便于理解、吸收和应用。并且,设计了按条执行APDU指令的规则,如果出现错误可以立即修正,并且无需编译,直接运行,即可以边运行、边开发,极大地提高了执行效率。
综上所述,该创新型专用脚本语言更加贴近测试规范,更加人性化;并且模拟人工智能,无需编译,直接执行,可以边运行边开发,开发成本非常廉价;解决了多年来由于智能卡测试平台依赖高级语言编写脚本而造成的高开发成本的问题。
步骤103、将APDU指令发送至智能卡;
可选择连续执行或者单步执行;
步骤104、接收并保存执行结果,输出与期望值比较结果;
步骤105、测试用例执行完毕。
实施例二
该实施例用于描述文件系统功能模块
文件系统模块,用于在所述脚本运行模块进行测试过程中文件系统出现异常时, 对智能卡中的相关文件进行读、写、修改以及其它操作,智能卡中文件以文件树结构存储, 具体实现过程如下
步骤201、连接智能卡,单击文件树上文件名;
智能卡测试装置通过发送相关APDU指令读取智能卡中该文件的FCP模板,以得到文件读写的相关权限以及其它信息,并显示。
步骤202、在满足校验权限的情况下,可以对该文件进行读写操作,读写内容显示在显示栏中;
步骤203、也可以直接输入文件路径,并按回车键,智能卡测试装置操作流程同实施例一。
实施例三
该实施例用于描述采集数据功能模块
采集数据模块,用于在所述脚本运行模块进行测试过程中需要采集该智能卡中的数据时,采集智能卡中数据,并解析,具体可分为循环采集、非循环采集、断点采集,实现过程如下
步骤301、连接采集器和智能卡,进行采集器的相关参数配置,采集数据;
步骤302、调用数据解析函数库分析采集到的数据,将数据解析成APDU的形式。
实施例四
该实施例用于描述码制转换功能模块
码制转换模块,用于在所述脚本运行模块进行测试过程中需要对该智能卡中的数据进行转换时,将与智能卡相关的各种数据格式进行相互转换。该功能不需连接智能卡,只需输入相关数据,选择转换模式,即可转换成所需数据。该模块支持以下功能
1.支持二进制、八进制、十进制、十六进制相互转换,支持字符与16进制HEX值转换,支持GSM 7bit和GSM 8bit相互转换,支持UCS2与GB2312相互转换。
2.支持二进制文件、十六进制文件相互转换。
3.支持DES/3DES各种模式加解密,并支持以文件为单位进行操作。
实施例五
该实施例用于描述数据解析功能模块
该数据解析模块,用于在所述脚本运行模块进行测试过程中需要对该智能卡中的数据进行解析时,对该智能卡中的数据进行解析,并向所述脚本运行模块返回解析后的数据。
该数据解析模块支持根据输入数据内容生成GSM03. 38规范规定的普通短信和数据短信;也支持中国电信级联PRL的解析。
实施例六
该实施例用于描述鉴权功能模块
鉴权工具模块,用于在所述脚本运行模块进行测试过程中需要对该智能卡进行鉴权时,对该智能卡进行鉴权计算,它支持2G鉴权、3G鉴权、CDMA鉴权以及HRPD接入鉴权的鉴权计算,实现了所涉及到的A3/A8,Milenage, MD5、CAVE等鉴权算法的动态链接库,具体实现过程如下
步骤601、打开智能卡测试装置,选择鉴权测试项目,此时出现包含2G鉴权、3G鉴权、CDMA鉴权以及HRPD接入鉴权四个属性页的属性表单,单击所需鉴权模式;
步骤602、输入相关数据,选择计算功能;此时平台自动载入包含鉴权算法的动态链接库,调用相关函数进行计算,并输出鉴权数据;
步骤603、对智能卡进行鉴权时,需连接智能卡;选择计算功能后,测试装置自动向智能卡发送相关APDU鉴权指令,并接收返回数据。
综上所述,智能卡工具箱,包括脚本测试、卡内数据采样、不同编码之间的转换、 OTA短信数据解析、以及常用的2G鉴权、3G鉴权、CDMA鉴权以及HRPD接入鉴权的鉴权计算等功能模块,可以同时对智能卡进行多方位的测试。解决了由于当前的智能卡测试设备大多是针对某些种智能卡或者智能卡的某些项目进行测试,并且采用的测试方法比较传统和单一,智能卡的测试效率低下的问题。
上述智能卡测试装置和方法,支持多接口多服务器并行处理,支持同时进行多应用的智能卡,提高了测试效率;采用创新型专用脚本语言,不必编译,可以边运行边开发,降低了开发成本,更加人性化和贴近应用;另外,还可以支持对智能卡的全方位测试。本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,上述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。以上实施例仅用以说明本发明的技术方案而非限制,仅仅参照较佳实施例对本发明进行了详细说明。本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,均应涵盖在本发明的权利要求范围当中。
权利要求
1.一种智能卡测试装置,其特征在于,该装置包括主控模块、并行处理模块、智能卡应用模块和服务器应用模块,其中所述智能卡应用模块,与所述并行处理模块相连,用于为多智能卡的读卡器提供接入接口和为所述多智能卡提供智能卡应用库;所述服务器应用模块,与所述并行处理模块相连,用于为多服务器提供接入接口和为所述多服务器提供服务器应用库;所述并行处理模块,与所述主控模块相连,用于并行处理多智能卡和多服务器的操作;所述主控模块,用于接入所述智能卡应用库和所述服务器应用库。
2.根据权利要求1所述的装置,其特征在于,所述装置还包括智能卡工具箱,与所述主控模块相连,用于为接入的多智能卡提供测试。
3.根据权利要求2所述的装置,其特征在于 所述智能卡工具箱包括脚本运行模块;所述脚本运行模块,用于确定智能卡连接成功后,载入使用专用脚本语言编写的测试用例,利用应用函数库将所述测试用例转换成应用协议数据单元(APDU)指令;向该智能卡发送APDU指令,并接收所述智能卡返回的最终执行结果,若该最终执行结果与期望值相同,则该智能卡通过脚本运行测试,若该最终执行结果与期望值不同,则该智能卡未通过脚本运行测试。
4.根据权利要求3所述的装置,其特征在于所述专用脚本语言为支持所述APDU指令、函数和业务流程的三级脚本语言。
5.根据权利要求3或4所述的装置,其特征在于所述智能卡工具箱还包括文件系统模块、采集数据模块、码制转换模块、数据解析模块和鉴权工具模块,其中所述文件系统模块,用于在所述脚本运行模块进行测试过程中文件系统出现异常时, 对该智能卡中文件中的数据和各种文件操作权限进行读取,并向所述脚本运行模块返回读取结果;所述鉴权工具模块,用于在所述脚本运行模块进行测试过程中需要对该智能卡进行鉴权时,对该智能卡进行鉴权计算,并向所述脚本运行模块返回计算后的鉴权数据;所述采集数据模块,用于在所述脚本运行模块进行测试过程中需要采集该智能卡中的数据时,对该智能卡中的数据进行采集,并向所述脚本运行模块返回采集后的数据;所述码制转换模块,用于在所述脚本运行模块进行测试过程中需要对该智能卡中的数据进行转换时,对该智能卡中的数据进行码制转换,并向所述脚本运行模块返回转换后的数据;所述数据解析模块,用于在所述脚本运行模块进行测试过程中需要对该智能卡中的数据进行解析时,对该智能卡中的数据进行解析,并向所述脚本运行模块返回解析后的数据。
6.一种应用权利要求2所述的智能卡测试装置进行的智能卡测试方法,其特征在于, 该方法包括所述智能卡测试装置自动连接智能卡应用库和服务器应用库; 所述智能卡测试装置使用所述智能卡工具箱并行对多智能卡进行测试。
7.根据权利要求6所述的方法,其特征在于所述智能卡测试装置使用所述智能卡工具箱并行对多智能卡进行测试包括所述智能卡测试装置使用所述智能卡工具箱对所述多智能卡中的任一智能卡进行脚本运行测试。
8.根据权利要求7所述的方法,其特征在于所述智能卡测试装置使用所述智能卡工具箱对所述多智能卡中的任一智能卡进行脚本运行测试包括所述智能卡测试装置确定该智能卡连接成功后,载入使用专用脚本语言编写的测试用例,利用应用函数库将所述测试用例转换成应用协议数据单元(APDU)指令;所述智能卡测试装置向该智能卡发送APDU指令,并接收所述智能卡返回的最终执行结果,若该最终执行结果与期望值相同,则该智能卡通过脚本运行测试,若该最终执行结果与期望值不同,则该智能卡未通过脚本运行测试。
9.根据权利要求8所述的方法,其特征在于所述专用脚本语言为支持所述APDU指令、函数和业务流程的三级脚本语言。
10.根据权利要求8或9所述的方法,其特征在于,所述方法还包括所述智能卡测试装置在进行脚本运行测试的过程中,如果文件系统出现异常,则对该智能卡中文件中的数据和各种文件操作权限进行读取,并向所述脚本运行模块返回读取结果;如果需要对该智能卡进行鉴权时,对该智能卡进行鉴权计算,并向所述脚本运行模块返回计算后的鉴权数据;如果需要采集该智能卡中的数据时,对该智能卡中的数据进行采集, 并向所述脚本运行模块返回采集后的数据;如果需要对该智能卡中的数据进行转换时,对该智能卡中的数据进行码制转换,并向所述脚本运行模块返回转换后的数据;如果需要对该智能卡中的数据进行解析时,对该智能卡中的数据进行解析,并向所述脚本运行模块返回解析后的数据。
全文摘要
本发明提供了一种智能卡测试装置和应用智能卡测试装置进行的智能卡测试方法,该装置包括主控模块、并行处理模块、智能卡应用模块和服务器应用模块,其中所述智能卡应用模块,与所述并行处理模块相连,用于为多智能卡的读卡器提供接入接口和为所述多智能卡提供智能卡应用库;所述服务器应用模块,与所述并行处理模块相连,用于为多服务器提供接入接口和为所述多服务器提供服务器应用库;所述并行处理模块,与所述主控模块相连,用于并行处理多智能卡和多服务器的操作;所述主控模块,用于接入所述智能卡应用库和所述服务器应用库。上述智能卡测试装置和方法,支持多接口多服务器并行处理,支持同时进行多应用的智能卡,提高了测试效率。
文档编号G06F11/36GK102495797SQ20111038204
公开日2012年6月13日 申请日期2011年11月25日 优先权日2011年11月25日
发明者刘俊, 刘洋, 宁振虎, 徐兴亮, 金银军, 闫永斌 申请人:大唐微电子技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1