一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

测试USIM卡STK菜单的方法、系统、电子设备及存储介质与流程

2022-07-13 21:46:39 来源:中国专利 TAG:

测试usim卡stk菜单的方法、系统、电子设备及存储介质
技术领域
1.本发明涉及智能卡技术领域,特别涉及一种测试usim卡stk菜单的方法、系统、电子设备及存储介质。


背景技术:

2.stk全称sim application toolkit,是在原sim卡被动式的操作系统上,衍生出的sim卡主动交互式的操作系统。它提供的机制允许sim卡中的应用与支持该应用的移动设备me进行交互操作,即支持sim卡与me之间的主动式对话,运营商可以通过此功能实现增值业务的目的。
3.stk菜单功能实现包括以下:
4.1、terminal profile命令,开机初始化sim卡,由me发送至sim卡,me发送的terminal profile应该说明me支持的stk相关功能项。通过这个过程sim卡知道me的能力并根据情况限制它的命令范围。
5.2、主动式sim卡命令,可以使sim卡主动激活由me执行的操作,这些操作包括:显示由sim卡向me发送的文本;发送短消息;用sim卡中的号码建立语音呼叫;发送ss控制或ussd字符串;通过听筒放音;sim卡初始化请求和ef变化的通知;me向sim卡提供本地信息;
6.3、菜单选择,在sim卡用主动式sim卡命令(set up menu)提供一套菜单的基础上,用envelope(menu selection)命令向sim卡传送用户选择的sim卡应用菜单项。
7.usim卡是一种升级版sim卡,在提高sim卡安全性能的同时具备stk功能。
8.开发完成运营商定制化的需求要求后,需要对usim卡的stk菜单进行测试,现有技术中,测试人员通过手动发送主动式sim卡命令与usim卡进行交互,来获取stk菜单实现的功能,从而验证usim卡的stk菜单是否满足客户需求要求。但是,该测试验证是个极其耗时、过多占用人力成本的过程,比如:一、手动拼装主动式sim卡命令,数据量大并且以静态数据保存,拼装容易出现错误、并且不利于后续更新维护,往往更改一点,需要修正多处命令数据,从而提高维护成本;二、做成模拟手机需要人工点击测试的工具,当菜单层级复杂、数量庞大时,容易出现漏点菜单,关注的指令数据值不易呈现,字节错误难发现,人工审视疲劳测试效率低;三、自动遍历方法操作usim卡发送指令获取菜单,虽然比拼装指令和人工操作工具的效率高,但适用性非常有限,由于客户需求菜单要求不一,对需求要求完成执行指令后回退停留在某一层级的菜单时,则遍历方法无法完成此类需求菜单的自动化测试。


技术实现要素:

9.以下是对本文详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。
10.本发明实施例提供了一种测试usim卡stk菜单的方法、系统、电子设备及存储介质,可以提升stk菜单的测试效率、测试覆盖面和排查问题的效率。
11.本发明实施例提供的示例以及说明书附图中涉及到的名词解释,如下所示:
12.apdu(application protocol data unit)应用协议数据单元,是智能卡与智能卡读卡器之间传送的信息单元。
13.向智能卡发送的命令apdu由命令头和命令体组成,其中,命令头包括命令类别、命令代码(表示特定的命令)和命令参数,命令体包括命令数据的字节数、命令数据和预期响应数据的最大字节数。
14.由智能卡返回的响应apdu由数据和状态字组成,其中,数据包括响应数据,状态字包括执行命令的返回值。
15.以下为几种命令apdu的功能介绍:
16.menu selection:用来当移动设备me从sim卡发送的setup menu主动式sim卡命令定义的一个菜单项目中收到菜单选择时,或者用户需要对某一菜单项得到帮助信息时,me会通过envelope(menu selection)将所选菜单项的项目标识符传给sim卡;
17.fetch:用来接收sim卡传给me的主动式sim卡命令内容;
18.terminal response:把me执行完主动式sim卡命令后的信息返回给sim卡。
19.主动式sim卡命令为stk菜单功能之一,由sim卡发送至移动设备me,apdu结构为tltlv,其中,t为命令类型,l为命令总长度,后续的tlv为命令内容部分,包括各项目的标记、长度和属性数据。
20.项目标识符,是针对菜单中每一个项目对象配置的唯一id,可以用作目录路径查找某一项目对象。
21.产品需求配置文档,是技术支持负责人员把运营商针对stk菜单的全部需求,按照公司制定的规则写到该文档中。其中包括但不局限于stk菜单。
22.第一方面,本发明实施例提供了一种测试usim卡stk菜单的方法,包括:
23.从产品需求配置文档中获取stk菜单,生成stk菜单树;
24.基于所述stk菜单树中树节点的属性数据,拼装主动式sim卡命令的期望结果;
25.按照所述stk菜单树的树节点路径,存储树节点的项目标识符和所述期望结果于第一可迭代对象,其中,所述项目标识符与所述期望结果一一对应;
26.根据所述第一可迭代对象中节点的项目标识符,发送普通命令至usim卡,获取由所述usim卡反馈的所述主动式sim卡命令的实际结果,并对比所述期望结果和所述实际结果;
27.记录所述期望结果与所述实际结果的对比过程和对比结果,根据所述对比过程和所述对比结果,生成测试日志。
28.第二方面,本发明实施例提供了一种测试usim卡stk菜单的系统,包括:
29.第一处理模块,用于从产品需求配置文档中获取stk菜单,生成stk菜单树;
30.第二处理模块,用于基于所述stk菜单树中树节点的属性数据,拼装主动式sim卡命令的期望结果;
31.第三处理模块,用于按照所述stk菜单树的树节点路径,存储树节点的项目标识符和所述期望结果于第一可迭代对象,其中,所述项目标识符与所述期望结果一一对应;
32.第四处理模块,用于根据所述第一可迭代对象中节点的项目标识符,发送普通命令至usim卡,获取由所述usim卡反馈的所述主动式sim卡命令的实际结果,并对比所述期望结果和所述实际结果;
33.第五处理模块,用于记录所述期望结果与所述实际结果的对比过程和对比结果,根据所述对比过程和所述对比结果,生成测试日志。
34.第三方面,本发明实施例还提供了一种电子设备,所述电子设备包括处理器、存储器,以及一个或多个程序,所述一个或多个程序被存储在所述存储器中,并且被配置由所述处理器执行,所述程序被处理器执行实现上述第一方面的测试usim卡stk菜单的方法。
35.第四方面,本发明实施例还提供了一种计算机可读存储介质,其特征在于,存储有处理器可运行的程序指令,所述程序指令用于执行实现上述第一方面的测试usim卡stk菜单的方法。
36.本发明实施例至少包括以下有益效果:通过一系列自动获取stk菜单、生成stk菜单树、拼装主动式sim卡命令的期望结果、生成第一可迭代对象、发送普通命令主动式sim卡命令的实际结果,并进行对比等操作,实现了stk菜单的自动化测试,从而提升了stk菜单测试的效率;由程序自动生成符合标准规范的主动式sim卡命令,即能满足stk菜单的需求符合性测试,又能进行主动式sim卡命令标准规范符合性验证,从而提升了stk菜单测试的广度;将繁锁的任务自动化,可以提高stk菜单测试的准确度,从而可以提升usim卡的产品稳定性和健壮性;通过记录每一步测试过程,并输出格式化的测试日志,可以在出现问题时提升排查问题的效率,有利于后期产品质量审计。
附图说明
37.图1为本发明实施例的一种测试usim卡stk菜单的方法示意图。
38.图2为本发明实施例的一种stk菜单树的示意图。
39.图3为本发明实施例的一种数据存储结构的示例。
40.图4为本发明实施例的一种移动设备me与usim卡交互过程示例。
41.图5为本发明实施例的一种获取主动式sim卡命令的实际结果的流程图。
42.图6为本发明实施例的一种测试日志示例。
43.图7为本发明实施例的一种测试usim卡stk菜单的系统示意图。
44.图8为本发明实施例的一种电子设备的结构图。
具体实施方式
45.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
46.需要理解的是,如果在说明书和权利要求书及上述附图中涉及到方位描述,例如上、下、前、后、左、右等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
47.需要说明的是,至少一个的含义是一个或者多个,多个的含义是两个以上,大于、小于、超过等理解为不包括本数,以上、以下、以内等理解为包括本数。如果有描述道第一、第二只是用于区分技术特征为目的,而不能理解为指示或暗示相对重要性或者隐含指明所
指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。
48.在本发明的描述中,步骤标号仅是为了描述的方便或者引述的方便所作出的标识,而不能理解为对步骤的操作顺序的限定。
49.参照图1,本发明实施例提供了一种测试usim卡stk菜单的方法,包括但不限于以下步骤:
50.步骤s101:从产品需求配置文档中获取stk菜单,生成stk菜单树。
51.产品需求配置文档是技术支持负责人员把运营商针对usim卡stk菜单的全部需求,按照公司制定的规则写入该文档,其中包括但不局限于stk菜单。
52.在本实施例中,自动读取解析运营商产品需求配置文档中的stk菜单配置信息,获取stk菜单中所需测试验证的数据,其中包括主动式sim卡命令的属性数据。stk菜单为层级结构,可以根据各项目对象之间的包含或并列关系,提取各项目对象的项目标识符,生成stk菜单树,该树的节点路径由项目标识符组成。
53.作为一种示例,如下表格所示为一种stk菜单需求要求:
[0054][0055]
该表格中罗列了菜单中的各项目对象:item 1-item10,部分项目对象提供的功能,以及部分项目对象的回退层级属性,其中,菜单的根为“xh menu”,第一层有四项子菜单:item 1、item 2、item 4、item 7,第二层有从属于第一层的子菜单和子项目:item 3、item 5、item 6、item 8、item 9,第三层有从属于第二层的子项目:item 10。
[0056]
作为一种示例,以下提供了一种产品需求配置文档的示例,其中包括:
[0057][0058]
其中,根据stk菜单需求要求,配置了主动式sim卡命令的属性数据:项目标识符、命令限定符、alpha标识符、项目文本串、数据编码方案、文本串、alpha标识符、ussd字符串、响应长度和url等。对应于上述示例提供的stk菜单需求要求,产品需求配置文档中的“item 1-item 10”为项目文本串itemtextstring,针对每一个项目对象配置有同层级唯一的项目标识符itemid,部分项目对象还配置有回退层级属性backlevel,各个项目对象的功能通过usim卡发送主动式sim卡命令至移动设备me来实现。
[0059]
作为一种示例,图2提供了一种stk菜单树的示意图,其中,除根节点外,各树节点均由stk菜单中项目对象的项目标识符来表示。
[0060]
步骤s102:基于stk菜单树中树节点的属性数据,拼装主动式sim卡命令的期望结果。
[0061]
在一些实施例中,步骤s102可以包括:
[0062]
预置主动式sim卡命令函数,根据标准规范文档,拼装命令类型和属性数据,得到主动式sim卡命令的期望结果。
[0063]
主动式sim卡命令的编码结构分为两部分,分别为命令头和命令数据,其中,命令头由命令类型和命令总长度组成,命令数据由各项属性数据组成,不同的主动式sim卡命令用于执行不同的操作,因此用于描述其性质的属性数据也各不相同,主动式sim卡命令的命令类型统一用d0表示。
[0064]
在本实施例中,依次提取stk菜单树节点的项目标识符,在产品需求配置文档中提
取项目标识符所对应的属性数据,再通过预置的主动式sim卡命令函数,自动拼装命令类型和属性数据,得到各树节点中项目标识符所指向的主动式sim卡命令,由于这些属性数据是根据stk菜单需求要求配置的,因此拼装得到的是有待验证的命令数据,即主动式sim卡命令的期望结果。拼装标准依据标准规范文档3gpp ts 1114和etsi ts 102223的主动式sim卡命令结构。由函数脚本自动生成符合标准规范的主动式sim卡命令,即能满足stk菜单的需求符合性测试,又能进行主动式sim卡命令标准规范符合性验证。
[0065]
作为一种示例,以下提供了本实施例中拼装得到的主动式sim卡命令的期望结果,其中包括:
[0066]
set up menu:
[0067]
d03681030125008202818285075848204d656e758f07014974656d20318f07024974656d20328f07034974656d20348f07044974656d2037
[0068]
select item:
[0069]
d01a81030124008202818285064974656d20328f07014974656d2033
[0070]
d02381030124008202818285064974656d20348f07014974656d20358f07024974656d2036
[0071]
d02381030124008202818285064974656d20378f07014974656d20388f07024974656d2039
[0072]
d01b81030124008202818285064974656d20398f08014974656d2031 30
[0073]
display text:
[0074]
d0198103012181820281028d0e0457656c636f6d6520746f205848
[0075]
send short message:
[0076]
d01a8103011301820281830b12010004812143000406546573742031
[0077]
send ussd:
[0078]
d0118103011200820281830a060faa582c3602
[0079]
d0148103011200820281830a090faa986ca68ac56223
[0080]
set up call:
[0081]
d00f810301100082028183060481214365
[0082]
get input:
[0083]
d01b8103012300820281828d0c04456e74657220436f64653a91020108
[0084]
launch browser:
[0085]
d027810301150082028182311c687474703a2f2f7777772e6368696e612d78696e6768616e2e636f6d
[0086]
步骤s103:按照stk菜单树的树节点路径,存储树节点的项目标识符和期望结果于第一可迭代对象,其中,项目标识符与期望结果一一对应。
[0087]
其中,树节点路径可以根据stk菜单树的遍历顺序来定,第一可迭代对象可以为数组、列表和链表等用于存储数据且可迭代的数据结构。
[0088]
在一些实施例中,步骤s103可以包括:
[0089]
步骤s201:根据stk菜单树的节点路径,从根节点到叶子节点进行遍历,获取项目标识符。
browser的期望结果“d02381030124008202818285064974656d20378f07014974656d20388f07024974656d2039”、“d01b81030124008202818285064974656d20398f08 014974656d203130”和“d027810301150082028182311c687474703a2f2f7777772e6368696e612d78696e6768616e2e636f6d”被存储于a[0]、a[1]和a[2]中,a存储于b[5]中。
[0103]
步骤s104:根据第一可迭代对象中节点的项目标识符,发送普通命令至usim卡,获取由usim卡反馈的主动式sim卡命令的实际结果,并对比期望结果和实际结果。
[0104]
在存储了移动设备为实现stk菜单各项目功能,需要接收由usim卡发送的主动式sim卡命令的期望结果后,可以通过自动发送普通命令至usim卡,来获取usim卡反馈的主动式sim卡命令的实际结果,将实际结果与期望结果进行对比,从而实现对stk菜单中各项目功能的测试验证。
[0105]
在一些实施例中,步骤s104可以包括:
[0106]
步骤s301:遍历第一可迭代对象,依次读取各节点中的第二可迭代对象。
[0107]
步骤s302:遍历第二可迭代对象,依次根据各节点的项目标识符发送普通命令至usim卡,获取由usim卡反馈的主动式sim卡命令的实际结果,其中,普通命令包括menu selection命令、fetch命令和terminal response命令。
[0108]
步骤s303:依次将各节点的期望结果与获取到的实际结果进行对比。
[0109]
作为一种示例,图4为本实施例提供的一种移动设备me与usim卡交互过程示例,基于上述示例进行说明:
[0110]
遍历数组b,读取b[0]中的数组a,遍历数组a,获取a[0]中的项目标识符“0x01”,自动发送所选项目的标识符等于“0x01”的menu selection命令和自动发送fetch命令至usim卡,获取主动式sim卡命令的实际结果,与a[0]中display text的期望结果对比,再自动发送结果值等于0x00的terminal response命令至usim卡。
[0111]
继续遍历数组b,读取b[1]中的数组a,遍历数组a,获取a[0]中的项目标识符“0x02”,自动发送所选项目的标识符等于“0x02”的menu selection命令和自动发送fetch命令至usim卡,获取主动式sim卡命令的实际结果,与a[0]中select item的期望结果对比;获取a[1]中的项目标识符“0x01”,自动发送所选项目的标识符等于0x01的terminal response命令和自动发送fetch命令至usim卡,获取主动式sim卡命令的实际结果,与a[1]中send sms的期望结果对比,再自动发送结果值等于0x00的terminal response命令至usim卡。
[0112]
继续遍历数组b,读取b[2]中的数组a,遍历数组a,获取a[0]中的项目标识符“0x03”,自动发送所选项目的标识符等于“0x03”的menu selection命令和自动发送fetch命令至usim卡,获取主动式sim卡命令的实际结果,与a[0]中select item的期望结果对比;获取a[1]中的项目标识符“0x01”,自动发送所选项目的标识符等于0x01的terminal response命令和自动发送fetch命令至usim卡,获取主动式sim卡命令的实际结果,与a[1]中send ussd的期望结果对比,自动发送结果值等于0x00的terminal response命令和自动发送fetch命令至usim卡,获取主动式sim卡命令的实际结果,与a[0]中select item的期望结果对比,再自动发送结果值等于0x10的terminal response命令至usim卡。
[0113]
继续遍历数组b,读取b[3]中的数组a,遍历数组a,获取a[0]中的项目标识符“0x03”,自动发送所选项目的标识符等于“0x03”的menu selection命令和自动发送fetch
命令至usim卡,获取主动式sim卡命令的实际结果,与a[0]中select item的期望结果对比;获取a[1]中的项目标识符“0x02”,自动发送所选项目的标识符等于0x02的terminal response命令和自动发送fetch命令至usim卡,获取主动式sim卡命令的实际结果,与a[1]中set up call的期望结果对比,自动发送结果值等于0x00的terminal response命令和自动发送fetch命令至usim卡,获取主动式sim卡命令的实际结果,与a[0]中select item的期望结果对比,再自动发送结果值等于0x10的terminal response命令至usim卡。
[0114]
继续遍历数组b,读取b[4]中的数组a,遍历数组a,获取a[0]中的项目标识符“0x04”,自动发送所选项目的标识符等于“0x04”的menu selection命令和自动发送fetch命令至usim卡,获取主动式sim卡命令的实际结果,与a[0]中select item的期望结果对比;获取a[1]中的项目标识符“0x01”,自动发送所选项目的标识符等于0x01的terminal response命令和自动发送fetch命令至usim卡,获取主动式sim卡命令的实际结果,与a[1]中get input的期望结果对比,自动发送结果值等于0x00的terminal response命令和自动发送fetch命令至usim卡,获取主动式sim卡命令的实际结果,与a[2]中send ussd的期望结果对比,再自动发送结果值等于0x00的terminal response命令至usim卡。
[0115]
继续遍历数组b,读取b[5]中的数组a,遍历数组a,获取a[0]中的项目标识符“0x04”,自动发送所选项目的标识符等于“0x04”的menu selection命令和自动发送fetch命令至usim卡,获取主动式sim卡命令的实际结果,与a[0]中select item的期望结果对比;获取a[1]中的项目标识符“0x02”,自动发送所选项目的标识符等于0x02的terminal response命令和自动发送fetch命令至usim卡,获取主动式sim卡命令的实际结果,与a[1]中select item的期望结果对比;获取a[2]中的项目标识符“0x01”,自动发送所选项目的标识符等于0x01的terminal response命令和自动发送fetch命令至usim卡,获取主动式sim卡命令的实际结果,与a[2]中launch browser的期望结果对比;自动发送结果值等于0x00的terminal response命令和自动发送fetch命令至usim卡,获取主动式sim卡命令的实际结果,与a[1]中select item的期望结果对比,最后自动发送结果值等于0x10的terminal response命令至usim卡。
[0116]
在一些实施例中,步骤s104还可以包括:
[0117]
步骤s401:遍历第一可迭代对象,读取当前节点中的第二可迭代对象。
[0118]
步骤s402:在遍历第二可迭代对象的首节点时,发送fetch命令和项目标识符对应的menu selection命令至usim卡,获取由usim卡反馈的主动式sim卡命令的实际结果,并将实际结果与所述首节点中的期望结果进行对比。
[0119]
步骤s403:判断第二可迭代对象中当前节点的期望结果中是否包括回退层级属性值,若否,则发送结果值等于0x00的terminal response命令至usim卡,若是,则判断回退层级属性值是否等于0x01,并执行以下步骤:
[0120]
步骤s4031:若回退层级属性的值等于0x01,则更新当前节点为下一个节点,发送fetch命令和当前节点内项目标识符对应的terminal response命令至usim卡,获取由usim卡反馈的主动式sim卡命令的实际结果,并将实际结果与当前节点中的期望结果进行对比。
[0121]
步骤s4032:若回退层级属性的值不等于0x01,则发送结果值等于0x00的terminal response命令和fetch命令,获取由usim卡反馈的主动式sim卡命令的实际结果,根据回退层级属性的值作为索引获取当前节点所对应的期望结果,并与实际结果进行对比,再发送
结果值等于0x10的terminal response命令至usim卡。
[0122]
其中,回退层级属性为stk菜单中各项目对象的属性中的一种,相当于指明该层级的项目对象如果回退可以回退至哪一层,在本实施例中,访问拥有不同回退层级属性值的节点时,采用不同的步骤来获取主动式sim卡命令的实际结果。解决了stk菜单回退层级不一造成自动化测试适用性低的问题,提高测试的一致性和重复性,方便进行回归测试。需要注意的是,回退层级以0x01为起始层,但是本实施例提供的示例中,数组以0为起始索引,因此当回退层级属性的值等于0x01时,根据步骤s4032,应获取索引为0的节点a[0]中存储的期望结果,作为访问当前节点时,获取的实际结果的比对对象。
[0123]
作为一种示例,参照图5,为本实施例提供的一种获取主动式sim卡命令的实际结果的流程图,具体包括以下步骤:
[0124]
步骤s411:在待测stk菜单树根节点开始前序遍历整个菜单树,当遍历到叶子节点时,把从根节点按顺序到叶子节点的每个节点的项目标识符和对应拼装好的主动式sim卡命令的期望结果存入在可迭代的对象a中,并作为一个元素嵌套存入在一个可迭代的对象b中,执行下一步。
[0125]
步骤s412:发送terminal profile命令,响应状态字为91xx,自动发送fetch命令并解析抓取主动式sim卡命令和根据命令类型自动发送结果值等于0x00的terminal response命令,完成开机sim卡初始化过程,执行下一步。
[0126]
步骤s413:遍历对象b中所有元素b(0)...b(n),获取当前b(0)...b(n)元素再进行遍历,即遍历对象a(0)...a(n),获取第一个节点的项目标识符自动发送menu selection命令,响应状态字为91xx,自动发送fetch命令并解析抓取主动式sim卡命令,与对象a当前元素中的第一个节点存入的主动式sim卡命令进行比对,对象b是否遍历结束,如果否,执行下一步;如果是,结束程序。
[0127]
步骤s414:判断对象a当前元素当前节点中是否存在回退层级属性,如果是执行步骤s415;如果否执行步骤s416。
[0128]
步骤s415:获取回退层级属性的值并判断值是否等于0x01,如果是,执行步骤s417;如果否执行步骤s418。
[0129]
步骤s416:根据命令类型自动发送结果值等于0x00的terminal response命令,回退到步骤s413。
[0130]
步骤s417:继续遍历对象a当前元素的下一个节点,获取项目标识符自动发送select item命令,响应状态字为91xx,自动发送fetch命令并解析抓取主动式sim卡命令,与对象a当前元素中的当前节点存入的主动式sim卡命令进行比对,回退到步骤s414。
[0131]
步骤s418:根据命令类型自动发送结果值等于0x00的terminal response命令,响应状态字为91xx,自动发送fetch命令并解析抓取主动式sim卡命令,根据回退层级的值作为索引获取对象a当前元素的节点存入的主动式sim卡命令进行比对,然后此处有两个处理方案可选其一执行,若开机sim初始化要处理的指令多,可选择方案一执行步骤s419;若回退层级需求不明确或没有配置,可选择方案二回退到步骤s412。
[0132]
步骤s419:根据命令类型自动发送结果值等于0x10的terminal response命令,回退到步骤s413。
[0133]
步骤s105:记录期望结果与实际结果的对比过程和对比结果,根据对比过程和对
比结果,生成测试日志。
[0134]
在一些实施例中,预置数据对比函数和日志输出函数,在遍历第一迭代对象的过程中,依次将对比过程和对比结果记录于测试日志,并在遍历结束后输出测试日志。如此,可以使输出的测试日志格式化,并记录了每一步测试过程,一旦出现问题,提升了排查问题的效率,也利于后期产品质量审计。
[0135]
作为一种示例,如图6所示,为本实施例提供的一种测试日志示例,基于上述示例提供的stk菜单需求,从开机初始化开始,记录了移动设备me和usim卡的完整交互过程,包括me向usim卡发送的命令,usim卡的响应状态字和usim卡发送的主动式sim卡命令,并记录了主动式sim卡命令的实际结果和主动式sim卡命令的期望结果的对比结果。
[0136]
在一些实施例中,预置结构解析函数,用于解析主动式sim卡命令的实际结果得到与各项属性数据相对应的指令数据。
[0137]
其中,指令数据指实际结果所包括的项目标识符、命令限定符、alpha标识符、项目文本串、数据编码方案、文本串、alpha标识符、ussd字符串、响应长度、url等。
[0138]
本发明实施例至少包括以下有益效果:提升了stk菜单测试的效率,保证了产品的质量;提升了usim卡的产品稳定性和健壮性;满足stk菜单的需求符合性测试,且能进行主动式sim卡命令标准规范符合性验证;将繁锁的任务自动化,提高准确性,增加产品信任度;解决了stk菜单回退层级不一造成自动化测试适用性低的问题,提高测试的一致性和重复性,方便进行回归测试;输出的测试日志格式化,记录了每一步测试过程,一旦出现问题,提升了排查问题的效率,也利于后期产品质量审计。
[0139]
参照图7,本发明实施例提供了一种测试usim卡stk菜单的系统示意图,包括但不限于:
[0140]
第一处理模块101,用于从产品需求配置文档中获取stk菜单,生成stk菜单树;
[0141]
第二处理模块102,用于基于stk菜单树中树节点的属性数据,拼装主动式sim卡命令的期望结果;
[0142]
第三处理模块103,用于按照stk菜单树的树节点路径,存储树节点的项目标识符和期望结果于第一可迭代对象,其中,项目标识符与期望结果一一对应;
[0143]
第四处理模块104,用于根据第一可迭代对象中节点的项目标识符,发送普通命令至usim卡,获取由usim卡反馈的主动式sim卡命令的实际结果,并对比期望结果和实际结果;
[0144]
第五处理模块105,用于记录期望结果与实际结果的对比过程和对比结果,根据对比过程和对比结果,生成测试日志。
[0145]
本发明实施例提供了一种电子设备,如图8所示,该电子设备包括存储器201和处理器202;存储器201,用于存放一个或多个计算机程序;处理器202,用于执行存储器201上所存放的程序时,实现本发明实施例提供的测试usim卡stk菜单的方法。
[0146]
本发明实施例提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行本发明实施例提供的测试usim卡stk菜单的方法。
[0147]
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序
产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字调节人员线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solid state disk(ssd))等。
[0148]
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0149]
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于电子设备和计算机可读存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0150]
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献