一种cdma手机软件自动测试的方法及装置的制作方法

文档序号:7589423阅读:161来源:国知局
专利名称:一种cdma手机软件自动测试的方法及装置的制作方法
技术领域
本发明属于移动通信领域,尤其是涉及一种对CDMA手机软件进行自动测试的方法及装置。
背景技术
目前,各CDMA手机生产厂商对CDMA手机进行软件测试的方法均是通过软件测试工程师的手工操作对各款手机的不同软件版本进行测试。由于不同系列的手机以及同一系列手机软件的不断升级改版,导致了需要大量的软件测试工程师对手机软件进行测试跟踪,从而使各生产厂商对研发过程中的软件测试投入了大量的人力物力。为此,许多生产厂商迫切希望能够找到一种高效通用的手机软件测试方法,能够自动或者半自动地进行手机软件测试,提高手机软件测试的效率,以降低手机软件的研发测试费用。特别是对于许多测试过程中的小概率事件的复现以及大量重复而又繁琐的手工操作的有效代替,通用的手机自动化测试软件工具是比较理想的解决方案。然而,目前大部分手机自动化软件的实现都是利用AT命令的方式,通过串口发送AT命令来控制手机的按键动作,这种方式不能模拟手机的按键操作进行键盘的测试和人机界面软件的测试,AT命令的方法避开了手机软件的MMI层,不能系统全面地对整个手机软件进行测试。

发明内容
本发明所要解决的技术问题是提供一种通用的CDMA手机自动化测试方法及装置,以代替大量重复繁琐的人工操作,并有效地实现对手机软件测试过程中小概率事件的复现,以便准确定位软件的故障点,对整个手机软件从MMI层到协议层进行系统全面的测试,从而提高CDMA手机软件测试效率,缩短手机软件的研发周期降低研发成本。
为了实现上述目的,本发明提供了一种CDMA手机软件自动测试的方法,其特点在于,包括如下步骤步骤一,根据各项测试用例通过电脑模拟CDMA手机按键,同时在电脑中生成相应的测试脚本文件;步骤二,对所述脚本文件进行解释,将其翻译成CDMA手机的各条控制命令;步骤三,利用计算机串口将所述控制命令传递给CDMA手机,所述手机响应相应的按键动作;步骤四,所述手机向所述电脑反馈相应的响应消息;步骤五,根据所述响应消息判断是否出现故障。
上述的手机软件自动测试的方法,其特点在于,在步骤五中进一步包括故障处理步骤,如果出现故障,则暂停执行下条脚本命令,等待测试人员定位手机软件故障点。
上述的手机软件自动测试的方法,其特点在于,在步骤五中还包括进一步判断是否执行完测试任务的步骤。
上述的手机软件自动测试的方法,其特点在于,在步骤一中还包括利用所述测试脚本文件生成脚本测试用例库的步骤。
上述的手机软件自动测试的方法,其特点在于,在步骤四中,还进一步包括将所述响应消息记录入日志库的步骤。
上述的手机软件自动测试的方法,其特点在于,进一步包括将所述控制命令封装成一异步HDLC命令帧的步骤或者将响应消息封装成一响应帧的步骤;所述异步HDLC命令帧或响应帧又包括信息域、帧校验域和结束域,所述信息域中又包括命令代码、按键模式和键值;当所述命令帧与所述响应帧不相同时,则认为出现故障。
为了更好地实现上述目的,本发明还提供了一种CDMA手机软件自动测试装置,包括带有软件平台的电脑和CDMA手机,所述电脑通过计算机串口和手机数据线与所述CDMA手机连接,其特点在于,所述软件平台又包括电脑一端的脚本生成模块、脚本解释模块、串口通讯模块、脚本运行监控模块和手机一端的脚本运行模块;所述脚本生成模块,用于根据各项测试用例通过电脑模拟CDMA手机按键,同时在电脑中生成相应的测试脚本文件;
所述脚本解释模块,用于对所述脚本生成模块产生的脚本文件进行解释,将其翻译成CDMA手机的各条控制命令;所述串口通讯模块,用于利用计算机串口实现电脑与手机之间的通讯,其将所述脚本解释模块翻译的控制命令传递给CDMA手机,或者将所述脚本运行模块的响应消息传递给所述电脑反馈;所述脚本运行模块,用于在手机端执行来自所述串口通讯模块的控制命令,响应相应的按键动作,并将所述响应消息的结果反馈给所述电脑;所述脚本运行监控模块,用于根据所述响应消息判断是否出现故障。
上述的CDMA手机软件自动测试装置,其特点在于,所述脚本生成模块还包括一编写测试脚本的接口和模拟手机键盘的用户界面,用户通过单击所述用户界面上的按键来模拟手机的按键动作。
上述的CDMA手机软件自动测试装置,其特点在于,所述串口通讯模块执行RS-232通讯协议。
上述的CDMA手机软件自动测试装置,其特点在于,所述手机与电脑之间的通讯遵从主-从方式,电脑发送的异步HDLC命令帧到手机,手机处理后返回一个异步HDLC响应帧或错误包。
本方法通过RS-232串口,利用异步HDLC数据帧对基于高通(QUALCOMM)公司芯片组生产的CDMA手机的按键命令代码(CMD_CODE)进行封装,控制手机的MMI软件层,模拟手机的按键动作,进而实现CDMA手机软件的自动化测试,克服了AT命令不能对手机进行键盘测试和人机界面测试的缺点。可以完成整个手机软件从高层(MMI)到底层(Protocol)所有软件层面的测试。同时,对测试过程中进行了日志跟踪处理,出现异常会立即通知测试人员,及时有效地定位软件故障点,有利于对软件故障的查找分析。该方法为CDMA手机软件的自动化测试提供了一种高效通用的自动化测试方法,代替了大量重复繁琐的人工操作,有效地复现CDMA手机软件测试过程中的小概率事件,提高CDMA手机软件测试效率和研发周期,降低了成本。
下面结合附图进一步详细说明本发明的具体实施例。


图1是本发明所示的自动测试流程图;
图2是实施自动测试方法的硬件示意图;图3是本发明软件系统结构示意图;图4是本发明采用的异步HDLC帧结构示意图;图5是本发明脚本解释模块示意图;图6是本发明脚本运行模块示意图;图7是本发明测试监控模块示意图。
具体实施例方式
在图1中,揭示了本发明的一种CDMA手机的自动测试。该通用CDMA手机软件自动测试方法的处理步骤如下步骤S100,脚本生成,主要是测试人员根据软件测试的测试用例,通过电脑模拟手机按键,按键的消息作用于手机,同时在电脑利用该测试软件生成测试脚本文件(.scr)。
步骤S110,该脚本文件构成相应脚本测试用例库。
步骤S120,运行脚本,根据不同的测试用例,选择该脚本测试库中的脚本,该测试软件解释各条脚本语句,将其翻译成CDMA手机的控制命令,利用计算机串口传递给手机,手机响应相应的按键动作。该步骤的功能主要是对测试工程师所编写的脚本语言的解释,将其翻译成CDMA手机所能够理解执行的按键命令。该步骤由脚本解释模块(器)完成。通过串口(RS-232)利用异步高速链路(Async HDLC protocol)协议,完成PC与手机之间的通讯。该步骤由串口通讯模块完成。
在利用手机数据线通过RS-232串口通讯,将按键命令的异步HDLC数据包传递给手机以后,手机通过MMI(人机接口)将命令传递给相应的软件模块,执行相应的按键操作。该步骤主要由手机自身的软件功能模块完成。
步骤S130,手机在响应按键命令的时候,会向电脑反馈相应的消息,同时会将该响应消息记录入日志库(步骤S150),然后通过对该响应消息的判断是否出现故障(步骤S160)。如果出现故障则软件会暂停执行下一条脚本命令(步骤S170),等待测试人员定位软件故障。假如没有出现故障,则会先判断是否执行完测试任务(步骤S140),如果没有完成则会继续对下一条脚本进行解释执行,如果完成则会结束测试任务(步骤S180)。
执行脚本运行过程监控步骤,主要完成对脚本运行过程进行监控,并定位手机软件运行过程中的故障点,在脚本运行过程中,手机对每条按键命令的成功执行均会返回一个执行状态报告,利用该状态报告可以对按键响应做日志记录,同时,如果在响应过程中出现异常故障,将会返回错误的状态报告,记录进日志中,并暂停脚本的运行,从而定位故障。
在图2、3、4、5、6和图7中,揭示了本发明的自动测试装置。其硬件部分包括电脑1、手机数据线(串口线)3、CDMA手机2组成,如图2所示。其软件平台部分脚本生成模块11、脚本解释模块12、串口通讯模块13、脚本运行模块21以及脚本运行监控模块14构成,如图3所示。
下面分别对各个部分加以详细说明脚本生成模块11主要功能是为测试人员提供一种编写测试脚本的接口,它提供了一个用户界面,该界面提供了一个模拟的手机键盘,用户通过该界面可以模拟手机的按键,用户通过单击按钮来模拟手机的按键动作并发送给手机按键命令,手机则对该命令进行响应。程序记录用户的按键消息以及按键时间间隔,同时生成测试脚本(.scr)文件。
脚本语言格式的定义如下“key键值”表示按下手机键盘上的某个键;(例如key one)“hold键值”表示长钦住手机键盘上的某个键;(例如hold one)“wait n”表示暂停n秒;(例如wait 5)脚本解释模块12参见图4和图5,该模块的主要功能是完成对测试脚本语言的解释,并翻译成CDMA手机所能理解执行的按键命令,并将其封装为一个异步HDLC帧,该异步HDLC帧由信息域、帧校验域和结束标志三部份构成,如图4所示。
信息域--信息域包含控制手机操作的所有信息,这些信息既有由PC发送给手机的请求信息,也有手机发给PC的响应消息。(长度为可变字节)信息域中又分为命令代码(Command Code)、按键模式(key/hold)和键值(key word)这三个部分。
命令代码为固定值(0x20),表示模拟手机的按键动作,长度为1个字节。
按键模式取值为0x00和0x01,分别表示按键操作中的key和hold动作,(0x00代表key,0x01代表hold),长度为1个字节。
键值代码取值为0x00~0xFF中的任意一个,表示手机键盘所对应的按键,长度为1个字节。
帧校验--帧校验域校验信息域的错误,由CRC使用标准的CRC-CCITT-16生成多项式X16+X12+X5+1生成。(长度为2个字节)结束标志--结束标志指示帧的结束,它是一个8位二进制符0x7E。(长度为1个字节)脚本解释模块12在整个系统之中起到了“翻译”的作用,它对脚本语言进行解释,同时将其封装成异步HDLC命令帧,整个过程如图5所示。
脚本命令传递到脚本解释模块12,由脚本解释模块12将其翻译并封装成异步HDLC命令帧。
串口通讯模块13手机与PC之间的通讯严格地遵循串口通讯RS-232标准,通讯时端口必须被配置成115200bps(或19200bps),8-bit字符,1个停止bit,没有奇偶校验。它是以主从方式发起通讯,PC发送数据包(异步HDLC命令帧)到手机,手机处理之并返回一个响应或错误数据包。手机不异步地产生数据包,每一个命令数据包只能反馈一个响应。
串口通讯模块13主要完成手机和PC之间的通讯功能,该功能可利用VC中的串口通讯类完成。
脚本运行模块21当由脚本解释模块12对按键的脚本命令进行了解释并封装成手机能够识别的异步HDLC命令帧以后,通过串口通讯模块13传递到手机1端,该按键消息就会传递给手机软件的MMI(人机界面)层,这时就会由手机响应相应的按键动作,同时会将相应的响应消息的结果反馈给PC。如图6所示。
脚本运行模块21主要由手机侧的软件完成对异步HDLC命令帧的执行。
测试过程监控模块14如图6所示,由于异步HDLC命令帧驱动手机侧软件的MMI层完成相应的按键动作,MMI将各个按键命令消息逐层向下传递,从而驱动最底层的手机软件完成响应的按键动作,此时,动作的执行结果会以消息的方式逐层向上反馈到手机软件的MMI层,最后由MMI将其封装为同样的异步HDLC响应帧通过手机数据线反馈给PC侧,该异步HDLC响应帧的结构与异步HDLC命令帧的结构定义一致,其帧结构如图4。
由于手机和PC之间的通讯严格地遵从主-从方式,即PC发送数据包(异步HDLC命令帧)到手机,手机处理之并返回一个响应帧(异步HDLC响应帧)或错误数据包。手机不会异步地产生数据包,每一个数据只能反馈一个响应。根据这一个特点可以确定手机软件运行脚本的过程中是否出现故障,如死机、重起等现象。可以在一条按键命令执行完以后,将收到的响应消息与预期的响应结果进行比对(在这里就是将响应帧与命令帧相比较),如果相同则认为该条命令执行正确,如果不同则会暂停脚本的执行,并通知测试人员定位故障点。同时,在执行每一条按键命令的时候都会将执行的反馈消息记入日志文件中,从而方便了测试人员对整个测试过程的跟踪分析。整个流程参见图7。
本发明实现了CDMA手机软件的自动化测试,为CDMA手机软件的自动化测试提供了一种高效通用的自动化测试方法,它克服了利用AT命令实现手机软件自动测试不能对手机进行键盘测试和人机界面测试的缺点。达到了对整个手机软件从MMI层到协议层的系统全面地测试的目的,减少了手机软件测试人员的工作量,较好地实现了对各种小概率事件的复现。同时,方便地实现了对手机软件测试过程中所出现的软件故障的跟踪定位,大大提高了测试的效率,缩短了软件研发的周期,降低了研发成本。
上述内容仅为本发明的最佳实施方案,其并非用来限制本发明的具体实施方式
,凡根据本方法的主要发明构思而进行的修改和变动,均应属于本发明权利要求书所要求的保护范围。
权利要求
1.一种CDMA手机软件自动测试的方法,其特征在于,包括如下步骤步骤一,根据各项测试用例通过电脑模拟CDMA手机按键,同时在电脑中生成相应的测试脚本文件;步骤二,对所述脚本文件进行解释,将其翻译成CDMA手机的各条控制命令;步骤三,利用计算机串口将所述控制命令传递给CDMA手机,所述手机响应相应的按键动作;步骤四,所述手机向所述电脑反馈相应的响应消息;步骤五,根据所述响应消息判断是否出现故障。
2.根据权利要求1所述的手机软件自动测试的方法,其特征在于,在步骤五中进一步包括故障处理步骤,如果出现故障,则暂停执行下条脚本命令,等待测试人员定位手机软件故障点。
3.根据权利要求1或2所述的手机软件自动测试的方法,其特征在于,在步骤五中还包括进一步判断是否执行完测试任务的步骤。
4.根据权利要求3所述的手机软件自动测试的方法,其特征在于,在步骤一中还包括利用所述测试脚本文件生成脚本测试用例库的步骤。
5.根据权利要求1、2或4所述的手机软件自动测试的方法,其特征在于,在步骤四中,还进一步包括将所述响应消息记录入日志库的步骤。
6.根据权利要求5所述的手机软件自动测试的方法,其特征在于,进一步包括将所述控制命令封装成一异步HDLC命令帧的步骤或者将响应消息封装成一响应帧的步骤;所述异步HDLC命令帧或响应帧又包括信息域、帧校验域和结束域,所述信息域中又包括命令代码、按键模式和键值;当所述命令帧与所述响应帧不相同时,则认为出现故障。
7.一种CDMA手机软件自动测试装置,包括带有软件平台的电脑和CDMA手机,所述电脑通过计算机串口和手机数据线与所述CDMA手机连接,其特征在于,所述软件平台又包括电脑一端的脚本生成模块、脚本解释模块、串口通讯模块、脚本运行监控模块和手机一端的脚本运行模块;所述脚本生成模块,用于根据各项测试用例通过电脑模拟CDMA手机按键,同时在电脑中生成相应的测试脚本文件;所述脚本解释模块,用于对所述脚本生成模块产生的脚本文件进行解释,将其翻译成CDMA手机的各条控制命令;所述串口通讯模块,用于利用计算机串口实现电脑与手机之间的通讯,其将所述脚本解释模块翻译的控制命令传递给CDMA手机,或者将所述脚本运行模块的响应消息传递给所述电脑反馈;所述脚本运行模块,用于在手机端执行来自所述串口通讯模块的控制命令,响应相应的按键动作,并将所述响应消息的结果反馈给所述电脑;所述脚本运行监控模块,用于根据所述响应消息判断是否出现故障。
8.根据权利要求7所述的CDMA手机软件自动测试装置,其特征在于,所述脚本生成模块还包括一编写测试脚本的接口和模拟手机键盘的用户界面,用户通过单击所述用户界面上的按键来模拟手机的按键动作。
9.根据权利要求7或8所述的CDMA手机软件自动测试装置,其特征在于,所述串口通讯模块执行RS-232通讯协议。
10.根据权利要求9所述的CDMA手机软件自动测试装置,其特征在于,所述手机与电脑之间的通讯遵从主-从方式,电脑发送的异步HDLC命令帧到手机,手机处理后返回一个异步HDLC响应帧或错误包。
全文摘要
本发明公开了一种CDMA手机软件自动测试的方法及装置,其中该方法包括如下步骤根据各项测试用例通过电脑模拟CDMA手机按键,同时在电脑中生成相应的测试脚本文件;对所述脚本文件进行解释,将其翻译成CDMA手机的各条控制命令;利用计算机串口将所述控制命令传递给CDMA手机,所述手机响应相应的按键动作;所述手机向所述电脑反馈相应的响应消息;根据所述响应消息判断是否出现故障。该方法及其装置可能代替大量重复繁琐的人工操作,并有效地实现对手机软件测试过程中小概率事件的复现,以便准确定位软件的故障点,对整个手机软件从MMI层到协议层进行系统全面的测试,从而提高CDMA手机软件测试效率,缩短手机软件的研发周期降低研发成本。
文档编号H04W24/02GK1719925SQ200410009308
公开日2006年1月11日 申请日期2004年7月8日 优先权日2004年7月8日
发明者米援军, 柴忠燕, 李志虎 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1