CN100384286C - 智能卡的测试方法 - Google Patents

智能卡的测试方法 Download PDF

Info

Publication number
CN100384286C
CN100384286C CNB2005101351805A CN200510135180A CN100384286C CN 100384286 C CN100384286 C CN 100384286C CN B2005101351805 A CNB2005101351805 A CN B2005101351805A CN 200510135180 A CN200510135180 A CN 200510135180A CN 100384286 C CN100384286 C CN 100384286C
Authority
CN
China
Prior art keywords
smart card
test
card
data
instruction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CNB2005101351805A
Other languages
English (en)
Other versions
CN1791258A (zh
Inventor
景涛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Yicheng Xintong Smart Card Co., Ltd.
Original Assignee
Beijing WatchData System Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing WatchData System Co Ltd filed Critical Beijing WatchData System Co Ltd
Priority to CNB2005101351805A priority Critical patent/CN100384286C/zh
Publication of CN1791258A publication Critical patent/CN1791258A/zh
Application granted granted Critical
Publication of CN100384286C publication Critical patent/CN100384286C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种智能卡的测试方法,针对现有智能卡测试方法中会出现产品由于测试不足而产生故障提出一种方法,包括:(1)生成测试卡;(2)使用已有的智能卡与终端设备进行通信,获得发送给智能卡的指令和智能卡的返回数据;(3)根据所述步骤(2)得到的指令和返回数据,生成测试例;(4)将所述输入发送到测试卡,并监测测试卡的返回数据,如果所述测试卡的返回数据与所述的预期输出相同,则测试成功,如果不相同则测试失败。本发明提出的智能卡的测试方法,使测试更符合最终用户的使用习惯,同时能够避免由于测试覆盖度不够而造成测试通过的升级产品在用户使用中出现问题。

Description

智能卡的测试方法
技术领域
本发明涉及一种数据处理方法,尤其涉及一种智能卡的测试方法。
背景技术
随着计算机技术的发展,软件的应用越来越广泛,大到金融业、工商业,小到家用电器、手机SIM卡,软件的影响无处不在。软件的功能也日益增加,造成软件的复杂度越来越高,由软件故障引发的故障也越来越多。美国空军统计F/A-18飞控***在20,000小时的实验中,软件故障为309次,硬件故障为271次,因此可见对于软件的测试已成为一项非常重要的工作。
现有的软件功能测试方法很多是通过捕获回放机制生成脚本并执行测试。捕获的对象通常是GUI用户界面上的元素。换言之就是测试人员手工操作被测软件,完成一定的应用流程,测试工具记录这一过程,生成测试脚本,可以自动回放脚本并检查操作完成的情况。测试人员也可以编辑修改脚本来开发新的测试用例。代表性的测试工具如InterActive公司的WinRunner,以及IBM Rational的Robot。
具体到智能卡行业,当厂商生产出用户所需的智能卡后需要对智能卡进行测试,以保证智能卡能够满足用户的需求。目前的测试模式通常是测试人员根据测试需求编写测试脚本,对智能卡进行测试,但由于测试的覆盖度不够或测试人员与开发人员的习惯不同,测试通过的智能卡仍有可能在最终用户的使用现场出现问题,这无疑给厂商和用户都造成损失。特别是智能卡升级换代的时候,由于缺少有效的回归测试方法,上述问题时有发生。
发明内容
针对上述现有技术中的问题和不足,本发明的目的是提出一种智能卡的测试方法,能够提高测试的覆盖度,避免产品由于测试不足而产生故障。
为了解决上述问题,本发明提出一种智能卡的测试方法,包括:
(1)生成测试卡;
(2)使用已有的智能卡与终端设备进行通信时,获得发送给智能卡的指令和智能卡的返回数据;
(3)根据所述步骤(2)得到的指令和返回数据,生成测试例,所述测试例包括测试时发送到测试卡的输入以及测试卡的预期输出;
(4)将所述输入发送到测试卡,并监测测试卡的返回数据,如果所述测试卡的返回数据与所述的预期输出相同,则测试成功,如果不相同则测试失败。
作为优选,为了扩大测试范围以确保测试的可靠性,所述测试例为多个输入及输入对应的预期输出组成的序列。
作为优选,所述步骤(1)具体为根据用户所需的智能卡的文件结构、数据结构和相关密钥,建立卡片结构,生成智能卡。
作为优选,所述步骤(2)具体为:使用已有的智能卡与终端设备进行通讯,并监测智能卡与终端设备之间通信的数据流,并将数据流中的数据信号还原为发送到智能卡的指令和智能卡的返回数据,这样可以使测试更符合用户的使用习惯,使测试的可靠性更强。
作为优选,所述步骤(2)具体为:使用已有的智能卡与终端设备进行通讯,并监测智能卡的I/O端口获得智能卡与终端设备之间通信的数据流,并将数据流中的数据信号还原为发送到智能卡的指令和智能卡的返回数据。由于智能卡的I/O端口数据流必须符合ISO7816规范,因此能够将数据还原为发送到智能卡的指令和智能卡返回的数据。
作为优选,步骤(2)具体为:使用已有的智能卡与终端设备进行通讯,并监测智能卡的I/O端口,进行周期采样获得智能卡与终端设备之间通信的数据流,并将数据流中的数据信号还原为发送到智能卡的指令和智能卡的返回数据。
作为优选,当步骤(2)中所述的指令是需要另一步骤的输出进行计算才能获得时,所述步骤(3)中所述的输入包含一变量,该变量代替需要对另一步骤的输出计算后获得的数据;步骤(3)中所述的预期输出用一个变量代替。
作为优选,代替预期输出的变量根据测试过程中前一条指令的执行结果确定的输入变量的值确定预期输出。
作为优选,当步骤(2)中所述的指令与其前后的指令都没有关联时,步骤(3)中所述的输入为步骤(2)中所述的指令;步骤(3)中所述的预期输出为步骤(2)中所述的返回数据。
本发明提出的智能卡的测试方法,使测试更符合最终用户的使用习惯,同时能够快速生成大量测试用例,并依据测试例序列对测试卡进行测试,避免由于测试覆盖度不够而造成测试通过的升级产品在用户使用中出现问题。
附图说明
图1是智能卡I/O端口传输的数据帧的格式;
图2是本发明提出的智能卡的测试方法优选实施例流程图。
具体实施方式
下面结合附图对本发明作进一步的详细描述。
本发明优选实施例流程如图所示,包括以下步骤:
(1)生成测试卡;
(2)使用已有的智能卡与终端设备进行通信时,获得发送给智能卡的指令和智能卡的返回数据;
(3)根据所述步骤(2)得到的指令和返回数据,生成测试例,所述测试例包括测试时发送到测试卡的输入以及测试卡的预期输出;
(4)将所述输入发送到测试卡,并监测测试卡的返回数据,如果所述测试卡的返回数据与所述的预期输出相同,则测试成功,如果不相同则测试失败。
作为优选,所述的步骤(3)中的实施例为多个输入及输入对应的预期输出组成的序列,这样能够保证测试的覆盖范围更广,避免经过测试的卡在用户的实际使用中出现故障。
作为优选,所述步骤(1)具体为根据用户所需的智能卡的文件结构、数据结构和相关密钥,建立卡片结构,生成智能卡,这样生成的智能卡结构更符合用户的需求,生成测试卡的方式有很多种,在此不一一说明。
作为优选,所述步骤(2)具体为使用已有的智能卡与终端设备通信(例如可以到用户的使用现场),并监测智能卡与终端设备之间通信的数据流,将数据流中的数据信号还原为发送到智能卡的指令和智能卡的返回码或返回值。
作为优选,所述步骤(2)中可以通过监测智能卡的I/O端口,并进行周期采样,以获得智能卡与终端设备之间通信的数据流,并将数据流中的数据信号还原为发送到智能卡的指令和智能卡的返回数据。智能卡对每条输入的指令都应有返回码,有些还具有返回值。接触式智能卡通常有VCC、GND、CLK、I/O、RST等触点,数据通过I/O(输入/输出端口)在终端和智能卡之间以异步半双工方式进行双向传送,I/O管脚的数据传输符合ISO7816规范的要求,因此可以对I/O管脚进行信号采集,并将信号还原,就可以得到指令和相应数据,包括从设备发送到卡片的指令、数据以及卡片的应答。按照ISO7816规范,终端向智能卡提供一个用作数据交换的时序控制时钟信号,数据在I/O上传输的字符帧的格式如图1所示,是由一个字符由10个连续位组成,其中包括:
·1个低电平状态的起始位;
·组成数据字节的8个数据位;
·一个奇偶校验位。
在I/O上使用的位持续时间被定义为一个基本时间单元,称为etu。起始位由接收端通过对I/O周期采样测得,采样时间应小于0.2etu。校验位的用途:一个字符中的逻辑‘1’位的数目必须是偶数,8个数据位和奇偶校验位自身均作为校验计算位,但起始位不作校验计算。校验不通过,则该数据帧是错误数据,直接丢弃此数据。
作为优选,所述步骤(2)中可以监测智能卡I/O端口的数据流,通过周期采样获得智能卡与终端设备之间通信的数据流,将数据流中的数据信号还原为发送到智能卡的指令和智能卡的返回数据。
通过上述方法获得的发送到智能卡的指令和智能卡的返回数据,是用户在实际使用中的指令和返回数据,将指令和返回数据作为测试例对测试卡进行测试,相比较现有技术中完全有测试人员编写测试脚本对测试卡进行的方式,可以确保测试过程更加接近用户的使用习惯,测试的可靠性更强。在此需要说明,除监测智能卡I/O端口外,获得智能卡与终端设备间数据流的方法有很多种,在此不一一说明。
其中,发送到智能卡的指令两类,一类是指令与其前后的指令都没有关联,另一类指令需要把上一条指令的返回值或部分返回值加以计算,把计算结果作为这次指令要发送的数据或部分数据。
对于第一类指令可以直接作为测试用例中的输入,返回码、返回值作为期望输出。因此,步骤(3)中所述的输入为步骤(2)中所述的指令;步骤(3)中所述的期望输出为步骤(2)中所述的返回数据。
对于第二类指令,转化为测试用例时输入和期望输出需要用变量代替。因此,步骤(3)中所述的输入包含一变量,所述的预期输出为一变量;只有在测试过程中才能依据前一条指令的执行结果确定变量的值,进而判断卡片返回值是否正确。
我们以外部认证为例说明第二类指令的处理过程,包括以下步骤:
(A)设备发送取随机数指令到卡片,取得8字节随机数rnd1;
(B)设备用相应的密钥对rnd1进行des加密运算,产生鉴别数据d1;
(C)设备向卡片发出外部认证命令,送d1到卡内;
(D)卡片收到d1后,用卡内相应密钥对d1进行des解密运算,产生8字节鉴别数据d2。卡片比较rnd1和d2,若一致则表示认证通过,否则认证失败。其中,设备发送取随机数指令:0084000008
卡片返回值:de3b0cf15367c503
卡片返回码:9000
进行加密运算后,设备发送外部认证指令:00820000080f7d7fe835e6370c
卡片返回值:无
卡片返回码:9000
转化为测试用例的过程为:
将0084000008作为期望输入;
de3b0cf15367c503是随机数,不能用作期望输出,用变量rnd1代替;
9000表示取随机数执行成功,作为期望输出;
00820000080f7d7fe835e6370c中的0f7d7fe835e6370c是对rnd1进行des加密计算的结果,用变量d1代替,把0082000008+d1作为期望输入;
9000表示外部认证执行成功,作为期望输出。
以上对本发明的具体实施方式进行了详细的解说。对于本技术领域的一般技术人员来说,在不背离本发明所述方法的精神和权利要求范围的情况下对它进行的各种显而易见的改变都在本发明的保护范围之内。

Claims (9)

1.一种智能卡的测试方法,其特征在于,所述方法包括以下步骤:
(1)生成测试卡;
(2)使用已有的智能卡与终端设备进行通信,获得发送给智能卡的指令和智能卡的返回数据;
(3)根据所述步骤(2)得到的指令和返回数据,生成测试例,所述测试例包括测试时发送到测试卡的输入以及测试卡的预期输出;
(4)将所述输入发送到测试卡,并监测测试卡的返回数据,如果所述测试卡的返回数据与所述的预期输出相同,则测试成功,如果不相同则测试失败。
2.根据权利要求1所述的智能卡的测试方法,所述测试例为多个输入及输入对应的预期输出组成的序列。
3.根据权利要求1或2所述的智能卡的测试方法,其特征在于,所述步骤(1)具体为根据用户所需的智能卡的文件结构、数据结构和相关密钥,建立卡片结构,生成智能卡。
4.根据权利要求1或2所述的智能卡的测试方法,其特征在于,所述步骤(2)具体为:使用已有的智能卡与终端设备进行通讯,并监测智能卡与终端设备之间通信的数据流,并将数据流中的数据信号还原为发送到智能卡的指令和智能卡的返回数据。
5.根据权利要求1或2所述的智能卡的测试方法,其特征在于,所述步骤(2)具体为:使用已有的智能卡与终端设备进行通讯,并监测智能卡的I/O端口获得智能卡与终端设备之间通信的数据流,并将数据流中的数据信号还原为发送到智能卡的指令和智能卡的返回数据。
6.根据权利要求1或2所述的智能卡的测试方法,其特征在于,所述步骤(2)具体为:使用已有的智能卡与终端设备进行通讯,并监测智能卡的I/O端口,进行周期采样获得智能卡与终端设备之间通信的数据流,将数据流中的数据信号还原为发送到智能卡的指令和智能卡的返回数据。
7.根据权利要求1或2所述的智能卡的测试方法,其特征在于,当步骤(2)中所述的指令与其前后的指令都没有关联时,步骤(3)中所述的输入为步骤(2)中所述的指令;步骤(3)中所述的期望输出为步骤(2)中所述的返回数据。
8.根据权利要求1或2所述的智能卡的测试方法,其特征在于,当步骤(2)中所述的指令是需要另一步骤的输出进行计算才能获得时,所述步骤(3)中所述的输入包含一变量,该变量代替需要对另一步骤的输出计算后获得的数据;步骤(3)中所述的预期输出用一个变量代替。
9.根据权利要求8所述的智能卡的测试方法,其特征在于,所述代替预期输出的变量根据测试过程中前一条指令的执行结果确定的输入变量的值确定预期输出。
CNB2005101351805A 2005-12-29 2005-12-29 智能卡的测试方法 Active CN100384286C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2005101351805A CN100384286C (zh) 2005-12-29 2005-12-29 智能卡的测试方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2005101351805A CN100384286C (zh) 2005-12-29 2005-12-29 智能卡的测试方法

Publications (2)

Publication Number Publication Date
CN1791258A CN1791258A (zh) 2006-06-21
CN100384286C true CN100384286C (zh) 2008-04-23

Family

ID=36788680

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005101351805A Active CN100384286C (zh) 2005-12-29 2005-12-29 智能卡的测试方法

Country Status (1)

Country Link
CN (1) CN100384286C (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101126793B (zh) * 2007-09-18 2010-05-19 东信和平智能卡股份有限公司 智能卡测试***及方法
CN102045191B (zh) * 2009-10-22 2013-03-20 华为技术有限公司 一种***升级后兼容性测试方法及设备
CN102866312B (zh) * 2012-08-30 2014-08-20 东信和平科技股份有限公司 基于电流突变的智能卡读写器断电测试捕获方法及读写器
CN104794036A (zh) * 2014-01-17 2015-07-22 神讯电脑(昆山)有限公司 电脑读取智能卡功能的测试方法
CN108197019A (zh) * 2017-12-20 2018-06-22 大唐微电子技术有限公司 智能卡的测试***、测试设备、测试方法
CN110188011A (zh) * 2019-05-28 2019-08-30 东信和平科技股份有限公司 一种智能卡国密算法测试方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN2611989Y (zh) * 2003-04-04 2004-04-14 上海华园微电子技术有限公司 可自测试的带微处理器的智能卡芯片
CN1503168A (zh) * 2002-11-22 2004-06-09 深圳市中兴通讯股份有限公司 一种***产品的自动化测试方法
US20050034028A1 (en) * 2003-08-05 2005-02-10 Won-Woo Son Device for testing smart card and method of testing the smart card
CN1632759A (zh) * 2003-12-24 2005-06-29 上海华虹集成电路有限责任公司 可灵活实现片内eeprom仿真功能的方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1503168A (zh) * 2002-11-22 2004-06-09 深圳市中兴通讯股份有限公司 一种***产品的自动化测试方法
CN2611989Y (zh) * 2003-04-04 2004-04-14 上海华园微电子技术有限公司 可自测试的带微处理器的智能卡芯片
US20050034028A1 (en) * 2003-08-05 2005-02-10 Won-Woo Son Device for testing smart card and method of testing the smart card
CN1632759A (zh) * 2003-12-24 2005-06-29 上海华虹集成电路有限责任公司 可灵活实现片内eeprom仿真功能的方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
智能卡操作***开发中的测试技术. 张利华.计算机工程与设计,第25卷第6期. 2004 *
智能卡研发技术与工程实践. 李翔,16,19,26,求是科技. 2003 *

Also Published As

Publication number Publication date
CN1791258A (zh) 2006-06-21

Similar Documents

Publication Publication Date Title
US6843423B2 (en) Smart card that can be configured for debugging and software development using secondary communication port
CN100384286C (zh) 智能卡的测试方法
US6769622B1 (en) System and method for simulating universal serial bus smart card device connected to USB host
EP2105892B1 (en) Apparatus and method for initializing an IC card
EP1777535A2 (en) System and method for glitch detection in a secure microcontroller
CN112269120A (zh) 接口信号回环测试方法、装置、计算机设备和存储介质
CN108334372A (zh) 固件升级处理方法、装置和***
CN201015047Y (zh) 分体式射频cpu卡表控制器
CN106126465B (zh) 一种数据传输方法及装置
CN106528158A (zh) 挂载存储卡的方法、装置及移动终端
US6641045B1 (en) Portable electronic device with self-diagnostic function
CN107078806A (zh) 光收发机设备和方法
CN105068910A (zh) 一种智能卡的测试方法和装置
CN102413247A (zh) 终端死机现场的恢复方法及装置
CN101136756B (zh) 网络远程控制主机上电自检的方法、***和bmc芯片
CN103838699A (zh) 一种可插拔的多功能移动金融终端及其端口号固定方法
CN101707652A (zh) 能够实现数字证书应用的手机
CN107122138A (zh) 一种配置磁盘阵列的设备及方法
CN112860606A (zh) 一种接口转换装置及设备
CN102568602B (zh) 闪速存储器发展***
CN114116337A (zh) 基于pcie链路配置的硬盘测试方法、***、终端及存储介质
JP2023523787A (ja) 取引カードによる取引の試行のためのデータを保存し処理する技術
KR20000076351A (ko) 집적 회로 및 상기 회로의 테스트 방법
CN109508272B (zh) 可信赖模块的功能验证方法
CN112445659B (zh) 一种多协议高速serdes测试实现方法及***

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: BEIJING YICHENG XINTONG INTELLIGENT CARD SCIENCE

Free format text: FORMER OWNER: BEIJING WATCH DATA SYSTEM CO., LTD.

Effective date: 20081114

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20081114

Address after: Room 4, building 5, No. 706 Bridge Road, Beijing, Haidian District, Changchun

Patentee after: Beijing Yicheng Xintong intelligent card technology Co. Ltd.

Address before: Beijing City, Chaoyang District Dongzhimen room eight West Street No. 2 East Yan Wanhong Business Garden

Patentee before: Beijing Woqi Data System Co., Ltd.

C56 Change in the name or address of the patentee
CP01 Change in the name or title of a patent holder

Address after: Room 4, building 5, No. 706 Bridge Road, Beijing, Haidian District, Changchun

Patentee after: Beijing Yicheng Xintong Smart Card Co., Ltd.

Address before: Room 4, building 5, No. 706 Bridge Road, Beijing, Haidian District, Changchun

Patentee before: Beijing Yicheng Xintong intelligent card technology Co. Ltd.

C56 Change in the name or address of the patentee

Owner name: BEIJING YICHENGXINTONG INTELLIGENT CARD CO., LTD.

Free format text: FORMER NAME: BEIJING YICHENG XINTONG INTELLIGENT CARD SCIENCE CO., LTD.