一种智能卡断电测试的方法以及装置与流程

文档序号:11690409阅读:234来源:国知局
一种智能卡断电测试的方法以及装置与流程

本发明涉及智能卡技术领域,特别是涉及一种智能卡断电测试的方法以及装置。



背景技术:

随着智能卡技术的发展进步,智能卡的需求量也在日益增加。

为了满足日益增加的需求量,需要不断地进行智能卡的开发。而在智能卡的开发过程中,智能卡的断电保护测试是必不可少的。现有的断电测试方法可以分为硬件读卡器断电测试方法以及软件模拟仿真断电测试方法,软件模拟仿真断电测试方法的过程一般是通过编写代码来模拟场景,手动设置测试的断电点,代码运行到断电点返回主函数重新执行,对比测试数据和预设数据。

但是,由于软件模拟仿真断电测试方法需要通过代码模拟场景,而场景的模拟需要构造大量的数据包,使得初始代码十分庞大。更进一步地,每次进行测试时,都需要将测试代码和cos编译工具进行结合,使得代码的可移植性不高。综上所述,由于软件模拟仿真断电测试方法的初始代码量庞大,实现起来较复杂,且代码可移植性较低,使得智能卡的断电测试的周期较长,进而导致测试效率较低,故如何提高智能卡断电测试的测试效率是本领域亟待解决的问题。



技术实现要素:

本发明的目的是提供一种智能卡断电测试的方法以及装置,目的在于解决现有技术中智能卡断电测试的测试效率较低的问题。

为解决上述技术问题,本发明提供一种智能卡断电测试的方法,该方法包括:

获取待测用例;

根据所述待测用例,从预设存储位置读取所需待测场景的预设编号;

将所述预设编号发送至测试数据生成脚本,以使所述测试数据生成脚本根据所述预设编号生成测试数据;

接收所述测试数据生成脚本返回的所述测试数据;

根据所述测试数据,对所述待测用例进行断电测试。

可选地,所述根据所述测试数据,对所述待测用例进行断电测试包括:

根据所述测试数据,运行测试程序;

当运行到预设断电点时,执行相应的断电操作;

其中,所述预设断电点为对所述测试程序进行自动打桩操作得到的断电点。

可选地,所述将所述预设编号发送至测试数据生成脚本,以使所述测试数据生成脚本根据所述预设编号生成测试数据包括:

将所述预设编号发送至所述测试数据生成脚本,以使所述测试数据生成脚本根据所述预设编号,解析所述待测场景,基于预设格式生成所述测试数据;

其中,所述测试数据生成脚本为使用javascript脚本语言编写的脚本。

可选地,所述根据所述待测用例,从预设存储位置读取所需待测场景的预设编号包括:

根据所述待测用例,从excel表格中寻找出与所述待测用例对应的待测场景,读取与所述待测场景对应的所述预设编号。

可选地,在所述获取待测用例之前还包括:

启动测试程序,并初始化测试参数。

此外,本发明还提供了一种智能卡断电测试的装置,该装置包括:

获取模块,用于获取待测用例;

读取模块,用于根据所述待测用例,从预设存储位置读取所需待测场景的预设编号;

发送模块,用于将所述预设编号发送至测试数据生成脚本,以使所述测试数据生成脚本根据所述预设编号生成测试数据;

接收模块,用于接收所述测试数据生成脚本返回的所述测试数据;

执行模块,用于根据所述测试数据,对所述待测用例进行断电测试。

可选地,所述执行模块包括:

运行单元,用于根据所述测试数据,运行测试程序;

断电单元,用于当运行到预设断电点时,执行相应的断电操作;

其中,所述预设断电点为对所述测试程序进行自动打桩操作得到的断电点。

可选地,所述发送模块包括:

发送单元,用于将所述预设编号发送至所述测试数据生成脚本,以使所述测试数据生成脚本根据所述预设编号,解析所述待测场景,基于预设格式生成所述测试数据;

其中,所述测试数据生成脚本为使用javascript脚本语言编写的脚本。

可选地,所述读取模块包括:

寻找读取单元,用于根据所述待测用例,从excel表格中寻找出与所述待测用例对应的待测场景,读取与所述待测场景对应的所述预设编号。

可选地,还包括:

启动模块,用于启动测试程序,并初始化测试参数。

本发明所提供的一种智能卡断电测试的方法以及装置,通过获取待测用例;根据上述待测用例,从预设存储位置读取所需待测场景的预设编号;将上述预设编号发送至测试数据生成脚本,以使上述测试数据生成脚本根据上述预设编号生成测试数据;接收上述测试数据生成脚本返回的上述测试数据;根据上述测试数据,对上述待测用例进行断电测试。单独利用测试数据生成脚本来生成测试数据,使得测试框架和测试数据之间相互独立,两者不会相互影响,可以使得测试代码的可移植性得到提高,进而使得断电测试从代码开发至测试结束的周期较短,提高了断电测试的测试效率。可见,本申请有利于提高智能卡断电测试的测试效率。

附图说明

为了更清楚的说明本发明实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例所提供的智能卡断电测试方法的一种具体实施方式的流程示意图;

图2为本发明实施例所提供的智能卡断电测试装置的结构框图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参见图1,图1为本发明实施例所提供的智能卡断电测试方法的一种具体实施方式的流程示意图,该方法包括以下步骤:

步骤101:获取待测用例。

需要说明的是,本发明实施例所提供的智能卡断电测试方法均是基于junit单元测试框架,而用于断电测试的junit单元测试框架是经过必要修改后的测试框架。

具体地,junit单元测试框架获取到所需测试的用例,即junit单元测试框架接收到需要进行断电测试的代码。

而待测用例可以是用户主动上传至junit单元测试框架的,也可以是junit单元测试框架主动去获取的。

在junit单元测试框架获取待测用例之前,需要进行测试参数的初始化。故在本发明的一些实施例中,在上述获取待测用例之前还可以包括:启动测试程序,并初始化测试参数。

具体地,启动junit主函数,初始化cos中的某些全局变量,并初始化ram和nym的地址,以及apdu指令。

步骤102:根据所述待测用例,从预设存储位置读取所需待测场景的预设编号。

需要说明的是,上述待测场景可以是指预先实现的模拟场景。而上述预设编号可以是指待测场景的编号,即预先对待测场景进行编号。预设编号可以是任意设定,例如,可以利用a、b、c…等英文字母来为各个待测场景编号,此时的预设编号则为a、b、c…等英文字母中的任一个。

上述预设存储位置可以是指用于存储待测场景编号的存储位置,其可以为数据库,可以为excel表格,也可以为其它存储位置,在此不作限定。

在本发明的一些实施例中,上述根据上述待测用例,从预设存储位置读取所需待测场景的预设编号的过程具体可以为:根据所述待测用例,从excel表格中寻找出与所述待测用例对应的待测场景,读取与所述待测场景对应的所述预设编号。

具体地,junit单元测试框架可以根据待测用例,从存储有预设编号的excel表格中寻找到对应的待测场景,读取对应的预设编号。

步骤103:将所述预设编号发送至测试数据生成脚本,以使所述测试数据生成脚本根据所述预设编号生成测试数据。

具体地,junit单元测试框架将读取到的预设编号,发送给测试数据生成脚本,而测试数据生成脚本在接收到预设编号之后,可以根据该预设编号,可以从生成相应的测试数据,并将所生成的测试数据返回给junit单元测试框架。

测试数据生成脚本生成测试数据的过程可以具体为:根据预设编号,获取到待测场景;从预设存储位置(例如excel表格)获取数据类型值;根据数据类型值,以及预先设置的数据参数和预设测试数据格式生成测试数据,而上述数据参数可以是指测试数据的长度以及测试数据存放的地址等参数;将生成的测试数据返回给junit单元测试框架。

故在本发明的一些实施例中,上述将所述预设编号发送至测试数据生成脚本,以使所述测试数据生成脚本根据所述预设编号生成测试数据的过程可以具体为:将所述预设编号发送至所述测试数据生成脚本,以使所述测试数据生成脚本根据所述预设编号,解析所述待测场景,基于预设格式生成所述测试数据;其中,所述测试数据生成脚本为使用javascript脚本语言编写的脚本。

需要说明的是,上述预设格式可以是指预先设定的测试数据的格式。

上述测试数据生成脚本为javascript脚本语言编写的脚本,此时,junit单元测试框架和javascript脚本联调,进行断电测试。当然,测试数据生成脚本还可以为其它类型的脚本语言编写的脚本,在此不作限定。

步骤104:接收所述测试数据生成脚本返回的所述测试数据。

具体地,junit单元测试框架接收测试数据生成脚本生成的测试数据,即junit单元测试框架可以调用测试数据生成脚本所生成的测试数据。

为了更好地说明junit单元测试框架调用测试数据的过程,下面将以测试数据生成脚本为javascript脚本为例进行介绍。

junit单元测试框架调用javascript测试数据生成脚本所生成的测试数据的过程可以具体为:创建新的scriptenginemanager;调用javascript函数;设置javascript函数的参数;运行javascript函数,使得javascript测试数据生成脚本生成测试数据,接收该测试数据生成脚本返回的测试数据。

可以理解的是,junit单元测试框架和测试数据之间是相互独立的,而相互隔离的junit单元测试框架和测试数据可以通过相应的编译其来建立联系,例如junit单元测试框架可以通过java编译其eclips中的组件scriptenginemanager来建立联系。

步骤105:根据所述测试数据,对所述待测用例进行断电测试。

需要说明的是,对待测用例进行断电测试时的断电点可以是手动设置的,也可以是自动设置的。但相较于手动设置断电点,自动设置断电点可以使得断电点的覆盖度较强,即自动设置断电点可以使测试不留死角。

在本发明的一些实施例中,上述根据所述测试数据,对所述待测用例进行断电测试的过程可以具体为:根据所述测试数据,运行测试程序;当运行到预设断电点时,执行相应的断电操作;其中,所述预设断电点为对所述测试程序进行自动打桩操作得到的断电点。

可以理解的是,上述预设断电点是自动设置的,其具体的实现方式可以是对代码的自动打桩,也可以由其它方式来自动设置断电点,在此不作限定。

本发明实施例所提供的智能卡断电测试的方法,通过获取待测用例;根据上述待测用例,从预设存储位置读取所需待测场景的预设编号;将上述预设编号发送至测试数据生成脚本,以使上述测试数据生成脚本根据上述预设编号生成测试数据;接收上述测试数据生成脚本返回的上述测试数据;根据上述测试数据,对上述待测用例进行断电测试。单独利用测试数据生成脚本来生成测试数据,使得测试框架和测试数据之间相互独立,两者不会相互影响,可以使得测试代码的可移植性得到提高,进而使得断电测试从代码开发至测试结束的周期较短,提高了断电测试的测试效率。可见,该方法有利于提高智能卡断电测试的测试效率。

下面对本发明实施例提供的智能卡断电测试装置进行介绍,下文描述的智能卡断电测试装置与上文描述的智能卡断电测试方法可相互对应参照。

图2为本发明实施例所提供的智能卡断电测试装置的结构框图,参照图2智能卡断电测试装置可以包括:

获取模块201,用于获取待测用例;

读取模块202,用于根据所述待测用例,从预设存储位置读取所需待测场景的预设编号;

发送模块203,用于将所述预设编号发送至测试数据生成脚本,以使所述测试数据生成脚本根据所述预设编号生成测试数据;

接收模块204,用于接收所述测试数据生成脚本返回的所述测试数据;

执行模块205,用于根据所述测试数据,对所述待测用例进行断电测试。

可选地,所述执行模块包括:

运行单元,用于根据所述测试数据,运行测试程序;

断电单元,用于当运行到预设断电点时,执行相应的断电操作;

其中,所述预设断电点为对所述测试程序进行自动打桩操作得到的断电点。

可选地,所述发送模块包括:

发送单元,用于将所述预设编号发送至所述测试数据生成脚本,以使所述测试数据生成脚本根据所述预设编号,解析所述待测场景,基于预设格式生成所述测试数据;

其中,所述测试数据生成脚本为使用javascript脚本语言编写的脚本。

可选地,所述读取模块包括:

寻找读取单元,用于根据所述待测用例,从excel表格中寻找出与所述待测用例对应的待测场景,并读取与所述待测场景对应的所述预设编号。

可选地,还包括:

启动模块,用于启动测试程序,并初始化测试参数。

本发明实施例所提供的智能卡断电测试的装置,通过获取待测用例;根据上述待测用例,从预设存储位置读取所需待测场景的预设编号;将上述预设编号发送至测试数据生成脚本,以使上述测试数据生成脚本根据上述预设编号生成测试数据;接收上述测试数据生成脚本返回的上述测试数据;根据上述测试数据,对上述待测用例进行断电测试。单独利用测试数据生成脚本来生成测试数据,使得测试框架和测试数据之间相互独立,两者不会相互影响,可以使得测试代码的可移植性得到提高,进而使得断电测试从代码开发至测试结束的周期较短,提高了断电测试的测试效率。可见,该装置有利于提高智能卡断电测试的测试效率。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

以上对本发明所提供的智能卡断电测试的方法以及装置进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1