一种基于TTCN-3的多卡移动终端测试系统及其方法
技术领域
本申请涉及一种基于TTCN-3的移动终端测试系统,特别适用于对多卡移动终端的多卡业务冲突场景的协议软件。
背景技术
TTCN-3(Testing and Test Control Notation version 3,测试及测试控制表达法第3版)是一种用于测试的编程语言,可用于符合性测试(Conformance Testing)、互操作性测试(Interoperability Testing)、健全性测试(Robustness Testing)、回归测试(Regression Testing)、系统和整合测试(System and Integration Testing)、负载测试(Load/Stress Testing)等。
TTCN-3主要用于通讯系统的一致性测试(Conformance testing),即检查实现某项协议的系统是否符合该协议的规范。TTCN-3的典型应用包括移动通讯协议测试(例如GSM、LTE)、互联网协议测试(例如IPv6、SIP、H.323、OSP、SIGTRAN)、宽带技术测试(例如ATM、B-ISDN)、服务测试、模块测试、CORBA(Common Object Request Broker Architecture,通用对象请求代理架构)平台及API(Application Programming Interface,应用程序接口)等的测试。
在移动通信领域,TTCN-3用于对终端产品的全面测试,是终端产品走入市场前验证其是否具备商用水平的重要环节。基于TTCN-3的测试系统具有良好的可移植性,不只局限硬件的黑盒测试,还适用于软件系统测试。
TTCN-3测试系统对移动终端(UE,User Equipment,用户设备)的测试大多局限于单SIM卡的测试。对于支持两张以上SIM卡的移动终端,TTCN-3测试系统缺少对多SIM卡之间业务冲突流程的测试。所述多SIM卡之间业务冲突例如是一张SIM卡在执行位置更新时,另一张SIM卡要发起语音业务的场景。目前双卡及多卡移动终端手机逐渐成为市场主流,在每张SIM卡都支持2G、3G、4G等多种网络模式的情况下,多卡之间的业务冲突流程更加复杂,如何协调好多卡之间在各种网络模式下的业务冲突成为一个重要问题。移动终端的标准协议中并未对多卡的业务冲突有明确的实现规范,不同厂商对待多卡业务冲突的处理也不尽相同,需要找到一种测试方案及测试流程来验证多卡移动终端的协议层代码的正确性和可靠性。
为便于描述,本申请文件中,以SIM(subscriber identity module,用户身份模块)卡来表示移动终端所使用的智能卡,其中存储有用户身份识别数据、鉴权算法及相应密钥等,用来对移动终端接入移动通讯网络进行识别和鉴权。所述SIM卡应做广义理解,包含在不同的移动通讯网络中具有同样功能的R-UIM(Removable User Identity Module)卡、UIM(User Identity Module)卡、UICC(Universal Integrated Circuit Card,通用集成电路卡)内置的SIM应用、USIM(UMTS subscriber identity module)应用、CSIM(CDMAsubscriber identity module)等。
发明内容
本申请所要解决的技术问题是提供一种基于TTCN-3的多卡移动终端的测试方法,能够对多卡移动终端的多卡业务冲突场景进行一致性测试。为此,本申请还要提供一种相应的基于TTCN-3的多卡移动终端的测试系统。
为解决上述技术问题,本申请提供的基于TTCN-3的多卡移动终端的测试方法包括如下步骤。步骤S110:编写多卡业务冲突场景下的测试用例;所述测试用例使用TTCN-3语法根据测试流程编写,并且每张SIM卡所支持的每种网络模式采用一个独立的PTC实现。步骤S120:根据测试用例中的信息对整个测试系统进行配置。步骤S130:根据测试用例中的测试流程编码成命令发给系统模拟器或被测移动终端,并根据需要接收系统模拟器或被测移动终端的响应或反馈信息,进而控制整个测试流程的进行;所述多卡业务冲突场景下的测试用例通过在对应于不同SIM卡的不同网络模式的各PTC之间互相传送一些具有拥塞作用的协调消息,控制各PTC的测试流程的停止或前进,进而控制整个测试流程的时序,重现多卡移动终端的多卡业务冲突场景。步骤S150:当测试用例上的测试流程执行完毕后,测试自动停止,根据测试结果生成日志。
上述基于TTCN-3的多卡移动终端的测试方法中,通过为每张SIM卡所支持的每种网络模式采用一个独立的PTC实现的方式来编写测试用例,从而编写出多卡业务冲突场景下的测试用例;还通过在对应于不同SIM卡的不同网络模式的各PTC之间互相传送一些具有拥塞作用的协调消息,来重现多卡移动终端的多卡业务冲突场景,从而实现了对多卡业务冲突场景的测试。
进一步地,所述步骤S110中,所述测试用例中涉及到哪张SIM卡的哪个网络模式,就在对应的PTC中编写测试流程。这是一种优选的实现方式。
进一步地,所述多卡业务冲突场景是任一SIM卡在任一网络模式下执行低优先级业务期间,另一SIM卡在任一网络模式下发起高优先级业务。这是一种最常见的多卡业务冲突场景。
进一步地,所述多卡业务冲突场景是SIM卡一在4G模式下执行数据业务期间,SIM卡二在4G模式下发起语音主叫业务。这是“多卡业务冲突场景”的一个示例,对应于本申请的实施例一。
进一步地,所述步骤S110中,所述测试用例由两个独立的PTC分别实现SIM卡一的4G模式、SIM卡二的4G模式。这是一种优选的实现方式。
进一步地,所述步骤S120中,根据测试用例中的信息配置各PTC、系统模拟器及被测移动终端;包括在系统模拟器中配置各个网络侧小区的协议层、配置要广播的系统信息;还包括在被测移动终端中配置相应SIM卡的开机命令、注册流程、各SIM卡要执行的业务、关机流程。这是一种优选的实现方式。
进一步地,所述步骤S130进一步包括如下步骤。步骤S232:TTCN-3测试模块向被测移动终端发送一条开机命令,控制被测移动终端开机。步骤S234:TTCN-3测试模块向被测移动终端发送一个命令,控制被测移动终端中的SIM卡一发起数据传输业务;被测移动终端中的SIM卡一发起并与系统模拟器的网络侧协议栈一之间建立一个RRC连接后,开始发送上行数据;系统模拟器将网络侧协议栈一收到的上行数据转发到TTCN-3测试模块中的用来实现SIM卡一的4G模式的PTC上。步骤S236:在被测移动终端中的SIM卡一进行数据传输的过程中,TTCN-3测试模块向被测移动终端发送一个命令,控制被测移动终端中的SIM卡二发起语音主叫业务;被测移动终端中的SIM卡二向系统模拟器中的网络侧协议栈二发送的主叫业务信令被转发到TTCN-3测试模块中的用来实现SIM卡二的4G模式的PTC上。步骤S238:如果在被测移动终端中的SIM卡二发起语音主叫业务后,TTCN-3测试模块无法检测到被测移动终端中的SIM卡一的数据业务,则表明被测移动终端中的SIM卡一的数据业务被打断,进入步骤S240。如果在被测移动终端中的SIM卡二发起语音主叫业务后,TTCN-3测试模块仍然检测到被测移动终端中的SIM卡一的数据业务,则表明被测移动终端中的SIM卡一的数据业务未被打断,则判定测试失败,结束测试。步骤S240:TTCN-3测试模块向被测移动终端发送一个命令,控制被测移动终端中的SIM卡二结束语音主叫业务。步骤S242:如果在被测移动终端中的SIM卡二结束语音主叫业务后,TTCN-3测试模块重新检测到被测移动终端中的SIM卡一的数据业务,则表明被测移动终端中的SIM卡一的数据业务恢复,则判定测试通过,结束测试。如果在被测移动终端中的SIM卡二结束语音主叫业务后,TTCN-3测试模块未检测到被测移动终端中的SIM卡一的数据业务,则表明被测移动终端中的SIM卡一的数据业务未被恢复,则判定测试失败,结束测试。步骤S244:当测试结束后,TTCN-3测试模块向被测移动终端发送一条关机命令,控制被测移动终端关机。这是本申请的实施例一的测试流程的详细介绍,展现了对“多卡业务冲突场景”的一个示例的测试过程。
进一步地,所述步骤S232、步骤S234、步骤S236、步骤S240、步骤S244中,所述命令采用AT命令或MMI命令。这是一种优选的实现方式。
进一步地,所述多卡业务冲突场景下的测试用例是让被测移动终端在一段时间内维持在其中一张SIM卡的小区重选的状态中,以便另一张SIM卡发起业务与前述SIM卡的小区重选流程产生业务冲突;则由TTCN-3测试模块向系统模拟器发送命令,控制系统模拟器的小区系统信息广播周期,以此来延长被测移动终端接收新小区系统信息的时间,进而延长被测移动终端的小区重选时间。这是本申请针对一类特殊的“多卡业务冲突场景”提出的解决方案,用来重现这一类特殊的“多卡业务冲突场景”。
本申请还提供了一种基于TTCN-3的多卡移动终端的测试系统,包括TTCN-3测试模块、系统模拟器、被测移动终端。所述TTCN-3测试模块搭载使用TTCN-3语法根据测试流程编写的多卡业务冲突场景下的测试用例;所述TTCN-3测试模块为每张SIM卡所支持的每种网络模式采用一个独立的PTC实现;所述多卡业务冲突场景下的测试用例通过在对应于不同SIM卡的不同网络模式的各PTC之间互相传送一些具有拥塞作用的协调消息,控制各PTC的测试流程的停止或前进,进而控制整个测试流程的时序,从而重现多卡移动终端的多卡业务冲突场景;所述TTCN-3测试模块还根据测试用例中的信息配置所述测试系统;所述TTCN-3测试模块还在选择测试用例并启动测试后,将所述测试用例中的测试流程编码成命令发给系统模拟器或被测移动终端,并根据需要接收系统模拟器或被测移动终端的响应或反馈信息,进而控制整个测试流程的进行;所述TTCN-3测试模块还在测试用例上的测试流程执行完毕后,根据测试结果生成日志。所述系统模拟器与TTCN-3测试模块相连,模拟网络侧协议层的实现;所述系统模拟器中包含n套网络侧协议层实现单元,用来与被测移动终端中的n张SIM卡分别进行信令交互。所述被测移动终端与系统模拟器相连,实现移动终端与网络侧之间协议层的信令交互;所述被测移动终端中具有n张SIM卡,n为大于或等于2的自然数,每张SIM卡都是多模SIM卡。
上述基于TTCN-3的多卡移动终端的测试系统中,通过为每张SIM卡所支持的每种网络模式采用一个独立的PTC实现的方式来编写测试用例,从而编写出多卡业务冲突场景下的测试用例;还通过在对应于不同SIM卡的不同网络模式的各PTC之间互相传送一些具有拥塞作用的协调消息,来重现多卡移动终端的多卡业务冲突场景,从而实现了对多卡业务冲突场景的测试。
进一步地,所述TTCN-3测试模块中还包括一个MTC作为控制器,用来描述和实现各个PTC,还用来向系统模拟器或被测移动终端发送测试命令。这是一种优选的实现方式。
进一步地,所述系统模拟器的工作分为两种情况;一种情况下,系统模拟器根据TTCN-3测试模块发出的测试命令执行网络侧的协议流程,再将信令发给被测移动终端;另一种情况下,系统模拟器收到被测移动终端的信令消息,编码成响应命令返回给TTCN-3测试模块。这是对系统模拟器在进行测试时的两种工作情况的说明。
进一步地,所述被测移动终端的工作分为两种情况;一种情况下,被测移动终端根据TTCN-3测试模块发出的测试命令执行终端侧的协议流程,再将信令发给系统模拟器;另一种情况下,被测移动终端收到系统模拟器的信令消息,处理后生成新的响应信令,编码后返回给系统模拟器。这是对被测移动终端在进行测试时的两种工作情况的说明。
本申请取得的技术效果是能够编写出多卡业务冲突场景下的测试用例、还能够在测试过程中重现多卡移动终端的多卡业务冲突场景,从而实现了对多卡移动终端的多卡业务冲突场景的测试。
附图说明
图1是本申请提供的基于TTCN-3的多卡移动终端的测试方法的流程图。
图2是本申请提供的基于TTCN-3的多卡移动终端的测试方法的实施例一的流程图。
图3是本申请提供的基于TTCN-3的多卡移动终端的测试系统的结构意图。
图中附图标记说明:300为测试系统;310为TTCN-3测试模块;312为MTC;315为PTC;320为系统模拟器;325为网络侧协议层实现单元;330为被测移动终端;335为SIM卡。
具体实施方式
请参阅图1,本申请提供了一种基于TTCN-3的多卡移动终端的测试方法。所述多卡移动终端是指移动终端中具有两张以上的SIM卡。每张SIM卡都是多模(multi mode)SIM卡,即都支持2G、3G、4G等移动通讯网络。所述测试方法包括如下步骤。
步骤S110:编写多卡业务冲突场景下的测试用例。所述测试用例使用TTCN-3语法根据测试流程编写,并且每张SIM卡所支持的每种网络模式采用一个独立的PTC(ParallelTest Component,并行测试组件)实现。在编写的测试用例中,涉及到哪张SIM卡的哪个网络模式,就在对应的PTC中编写测试流程。
步骤S120:根据测试用例中的信息对整个测试系统进行配置。
步骤S130:根据测试用例中的测试流程编码成命令发给系统模拟器或被测移动终端,并根据需要接收系统模拟器或被测移动终端的响应或反馈信息,进而控制整个测试流程的进行。所述多卡业务冲突场景下的测试用例通过在对应于不同SIM卡的不同网络模式的各PTC之间互相传送一些具有拥塞作用的协调消息,控制各PTC的测试流程的停止或前进,进而控制整个测试流程的时序,从而重现多卡移动终端的多卡业务冲突场景。
步骤S150:当测试用例上的测试流程执行完毕后,测试自动停止,根据测试结果生成日志,供相关人员参考。
多卡业务冲突场景是指任一SIM卡在任一网络模式下执行低优先级业务期间,另一SIM卡在任一网络模式下发起高优先级业务。下面将列举一个多卡业务冲突场景的具体实施例,所述多卡业务冲突场景例如是SIM卡一在4G模式下执行数据业务期间,SIM卡二在4G模式下发起语音主叫业务。请参阅图2,所述基于TTCN-3的多卡移动终端的测试方法的实施例一包括如下步骤。
步骤S210:TTCN-3测试模块编写上述多卡业务冲突场景下的测试用例。所述测试用例使用TTCN-3语法根据测试流程编写,并且由两个独立的PTC分别用来实现SIM卡一的4G模式、SIM卡二的4G模式。所述测试用例遵循的原则是CS(Circuit Switch,电路交换)域业务会打断PS(Packet Switch,分组交换)域业务,那么SIM卡二的语音主叫业务发起后会打断SIM卡一的数据业务。
步骤S220:TTCN-3测试模块根据测试用例中的信息对整个测试系统进行配置,包括配置各PTC、系统模拟器及被测移动终端。例如在系统模拟器中配置各个网络侧小区的协议层、配置要广播的系统信息等。又如在被测移动终端中配置相应SIM卡的开机命令、注册流程、要执行的业务(SIM卡一是数据业务,SIM卡二是语音主叫业务)、关机流程。
步骤S232:TTCN-3测试模块向被测移动终端发送一条开机命令,控制被测移动终端开机。被测移动终端中的SIM卡一和SIM卡二都会自主尝试找到一个合适的小区驻留,并向网络侧发起注册流程。注册成功后被测移动终端中的SIM卡一和SIM卡二进入空闲状态,等待下一步动作的指令。
步骤S234:测试进入多卡业务冲突流程,根据测试用例上的测试流程,TTCN-3测试模块首先向被测移动终端发送一个命令,控制被测移动终端中的SIM卡一发起数据传输业务。被测移动终端中的SIM卡一发起并与系统模拟器的网络侧协议栈一之间建立一个RRC(Radio Resource Control,无线资源控制)连接后,开始发送上行数据。系统模拟器会将网络侧协议栈一收到的上行数据转发到TTCN-3测试模块中的用来实现SIM卡一的4G模式的PTC上,这样TTCN-3测试模块就检测到了被测移动终端中的SIM卡一的数据业务。
步骤S236:在被测移动终端中的SIM卡一进行数据传输的过程中,TTCN-3测试模块向被测移动终端发送一个命令,控制被测移动终端中的SIM卡二发起语音主叫业务。被测移动终端中的SIM卡二向系统模拟器中的网络侧协议栈二发送的主叫业务信令同样会被转发到TTCN-3测试模块中的用来实现SIM卡二的4G模式的PTC上,这样TTCN-3测试模块就检测到了被测移动终端中的SIM卡二发起了主叫业务。通过步骤S234和步骤S236,实现了上述多卡业务冲突场景。
步骤S238:如果在被测移动终端中的SIM卡二发起语音主叫业务后,TTCN-3测试模块无法检测到被测移动终端中的SIM卡一的数据业务,则表明被测移动终端中的SIM卡一的数据业务被打断,进入步骤S240。
如果在被测移动终端中的SIM卡二发起语音主叫业务后,TTCN-3测试模块仍然检测到被测移动终端中的SIM卡一的数据业务,则表明被测移动终端中的SIM卡一的数据业务未被打断,则判定测试失败,结束测试。
步骤S240:TTCN-3测试模块向被测移动终端发送一个命令,控制被测移动终端中的SIM卡二结束语音主叫业务。
步骤S242:如果在被测移动终端中的SIM卡二结束语音主叫业务后,TTCN-3测试模块重新检测到被测移动终端中的SIM卡一的数据业务,则表明被测移动终端中的SIM卡一的数据业务恢复,则判定测试通过,结束测试。
如果在被测移动终端中的SIM卡二结束语音主叫业务后,TTCN-3测试模块未检测到被测移动终端中的SIM卡一的数据业务,则表明被测移动终端中的SIM卡一的数据业务未被恢复,则判定测试失败,结束测试。
步骤S244:当多卡业务冲突流程测试结束后,TTCN-3测试模块向被测移动终端发送一条关机命令,控制被测移动终端关机。
步骤S250:当测试用例上的测试流程执行完毕后,测试自动停止,根据测试结果生成日志,供相关人员参考。
上述基于TTCN-3的多卡移动终端的测试方法的实施例一中,步骤S232至步骤S244对应于图1中的步骤S130,是对步骤S130中所述测试流程的详细描述。
优选地,所述步骤S232、步骤S234、步骤S236、步骤S240、步骤S244中,所述命令采用AT(Attension)命令或MMI(Man Machine Interface,人机界面)命令。
优选地,在测试用例中实现被测移动终端的多卡业务冲突的场景时,被测移动终端的小区重选流程发生的时机和持续时间不可控。在某些多卡业务冲突场景中,期望让被测移动终端在一段时间内维持在其中一张SIM卡(例如称为SIM卡一)的小区重选的状态中,以便另一张SIM卡(例如称为SIM卡二)发起业务与SIM卡一的小区重选流程产生业务冲突。为此本申请可使TTCN-3测试模块在需要的时候向系统模拟器发送一个特殊命令,控制系统模拟器的小区系统信息广播周期,以此来延长被测移动终端接收新小区系统信息的时间,进而达到延长被测移动终端的小区重选时间的目的,从而可以更方便地实现与小区重选有关的多卡业务冲突场景。
请参阅图3,与图1所示的基于TTCN-3的多卡移动终端的测试方法相对应地,本申请提供了一种基于TTCN-3的多卡移动终端的测试系统。所述测试系统300包括TTCN-3测试模块310、系统模拟器320、被测移动终端330。
所述TTCN-3测试模块310搭载使用TTCN-3语法根据测试流程编写的测试用例,特别是多卡业务冲突场景下的测试用例。所述TTCN-3测试模块310为每张SIM卡所支持的每种网络模式采用一个独立的PTC 315实现。在编写的测试用例中,涉及到哪张SIM卡的哪个网络模式,就在对应的PTC中编写测试流程。所述多卡业务冲突场景下的测试用例通过在对应于不同SIM卡的不同网络模式的各PTC之间互相传送一些具有拥塞作用的协调消息,可以控制各PTC的测试流程的停止或前进,进而控制整个测试流程的时序,从而重现多卡移动终端的多卡业务冲突场景。
所述TTCN-3测试模块310还根据测试用例中的信息配置所述测试系统300。例如,测试流程包括对网络侧协议层的配置,网络侧向移动终端发出的协议信令流程(例如寻呼终端、连接状态下的链路切换、信令连接的释放等)。又如,测试流程包括对被测移动终端330操作的控制(例如移动终端开机、拨号、接听寻呼、关机)等。
所述TTCN-3测试模块310还在选择测试用例并启动测试后,将所述测试用例中的测试流程编码成命令发给系统模拟器320或被测移动终端330,并根据需要接收系统模拟器320或被测移动终端330的响应或反馈信息,进而控制整个测试流程的进行。
所述TTCN-3测试模块310还在测试用例上的测试流程执行完毕后,根据测试结果生成日志,供相关人员参考。
进一步地,所述TTCN-3测试模块310中还包括一个MTC(Main Test Component,主测组件)312作为控制器,用来描述和实现各个PTC,还用来向系统模拟器320或被测移动终端330发送测试命令。
所述系统模拟器320与TTCN-3测试模块310相连,模拟网络侧协议层的实现。所述系统模拟器320中包含n套网络侧协议层实现单元325,用来与被测移动终端330中的n张SIM卡分别进行信令交互。
进一步地,系统模拟器320的工作分为两种情况。一种情况下,系统模拟器320根据TTCN-3测试模块310发出的测试命令执行网络侧的协议流程,再将信令发给被测移动终端330。另一种情况下,系统模拟器320收到被测移动终端330的信令消息,编码成响应命令返回给TTCN-3测试模块310。
所述被测移动终端330与系统模拟器320相连,实现移动终端330与网络侧之间协议层的信令交互。所述被测移动终端330中具有n张SIM卡335,n为大于或等于2的自然数,每张SIM卡335都是多模SIM卡。仿真测试时,被测移动终端330与系统模拟器320之间的连接方式有多种,例如将二者的物理层融合。
进一步地,被测移动终端330的工作分为两种情况。一种情况下,被测移动终端330根据TTCN-3测试模块310发出的测试命令执行终端侧的协议流程,再将信令发给系统模拟器320。另一种情况下,被测移动终端330收到系统模拟器320的信令消息,处理后生成新的响应信令,编码后返回给系统模拟器320。
上述测试系统基于TTCN-3可以设计和描述并行行为的特点,在多个PTC分别实现需要支持的多种网络模式下的测试流程。例如在一个PTC上实现第一张SIM卡在4G模式的测试流程,在另一个PTC上实现第二张SIM卡在4G模式的测试流程,从而构建出多卡移动终端测试所需要的多卡、多网络并行运行环境。
本申请提供的基于TTCN-3的多卡移动终端测试系统及其方法具有以下有益效果。
第一,本申请基于现有TTCN-3仿真测试系统进行改造,有充足的协议资料供参考,改造方法易于掌握;测试用例易于增加,测试流程扩展方便。整个测试方案支持自动化回归测试,在协议软件版本有升级和迭代时,可以快速实现相关测试用例的遍历测试,保证协议软件交付质量,保证软件版本升级后的稳定性。
第二,本申请保留原有的针对移动终端的单卡协议测试功能,新增了针对多卡移动终端的多卡冲突场景的协议测试功能,可支持移动终端中的多张SIM卡同时在相同或不同网络模式下执行业务,再通过TTCN-3测试代码对多卡业务执行时机的控制,可在仿真环境下复现多卡移动终端的多卡业务冲突场景。整个测试方案的定位操作方便,易于调试,可显著提高问题调试效率,缩短产品开发周期。
第三,本申请可以利用软件仿真方式建立多卡移动终端的协议软件测试平台,使移动终端的协议软件的测试不依赖于物理层硬件,降低开发成本。
以上仅为本申请的优选实施例,并不用于限定本申请。对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。