一种个人数字助理手机功能的自动测试系统及其方法

文档序号:7612355阅读:180来源:国知局
专利名称:一种个人数字助理手机功能的自动测试系统及其方法
技术领域
本发明涉及手机的测试领域,特别是涉及个人数字助理手机(PDA手机)的自动测试系统和方法,该系统主要用于PDA手机的软件测试。
背景技术
目前,手机功能的测试主要还停留在手工测试阶段。软件测试工程师根据给定的设计需求说明,对照手机功能实现的情况作相应的测试并给出测试结论。而一般情况下,手机软件在进入系统测试阶段之后,其功能和处理流程已经相对稳定,很多操作都可以回归,测试工程师在实际测试过程中也只是根据测试用例按部就班地进行操作,这样将极大地降低测试工程师的工作效率。现在虽然也有一些自动测试的软件工具可以对手机进行自动测试,但是这些工具很多都是针对手机的某些特定的模块或部件进行,其测试的对象被局限于特定的模块或者部件,而很难扩展为对整部手机进行综合性的自动测试。
由于手机产业的迅猛发展,现在手机的研发周期也越来越短,手机软件的版本更新也越来越快,所以非常需要一些自动化的测试工具来辅助测试工程师完成手机软件的测试。

发明内容
本发明所要解决的技术问题在于提供一种个人数字助理手机功能的自动测试系统及其方法,用于解决现有技术只能对手机的某些特定的模块或部件进行测试,而无法对整部手机进行功能的综合性自动测试的问题。
为了实现上述目的,本发明提供了一种个人数字助理手机功能的自动测试系统,包括个人数字助理手机、PC机,其特征在于,还包括所述个人数字助理手机端上的服务器模块、运行于所述PC机上的图形化控制模块及通信接口,所述服务器模块与所述图形化控制模块通过所述通信接口建立连接、通信,其中,所述服务器模块又包括
第一通信子模块,用于接收来自所述PC机端的测试指令和控制内容;及调用接口,用于执行所述测试指令,并把所得测试结果通过所述第一通信子模块传送给所述PC机;所述图形化控制模块又包括第二通信子模块,用于向所述个人数字助理手机发送测试指令和控制内容,并接收所述测试结果;脚本解析子模块,用于读取、解析所述PC机端上的测试用脚本,获取所述测试指令和控制内容;测试控制子模块,分别连接所述第二通信子模块、脚本解析子模块,用于统一调度和控制所述测试指令和控制内容;及结果分析子模块,连接所述第二通信子模块,用于对测试结果进行分析处理判断。
上述的个人数字助理手机功能的自动测试系统,其中,还包括一与所述结果分析子模块连接的故障恢复子模块,用于在所述结果分析子模块表明测试失败并需恢复时进行测试恢复。
上述的个人数字助理手机功能的自动测试系统,其中,以JAVA程序语言的Swing控件编写所述图形化控制模块的用户界面;以Socket编写所述服务器模块与所述图形化控制模块之间的通信程序。
上述的个人数字助理手机功能的自动测试系统,其中,所述通信接口为由通用串行总线接口模拟的网络接口,并采用TCP/IP通信协议。
上述的个人数字助理手机功能的自动测试系统,其中,所述测试用脚本为以可扩展标记语言方式编辑的所述个人数字助理手机用户的按键序列。
为了实现上述目的,本发明提供了一种用于上述系统的个人数字助理手机功能的自动测试方法,其特征在于,包括如下步骤步骤a,通过运行于所述PC机端上的图形化控制程序读取、分析预定的测试用脚本;步骤b,按照所述测试用脚本的安排顺序,所述图形化控制程序向所述个人数字助理手机端发送相应的事件;步骤c,所述个人数字助理手机上的服务器测试程序根据接收到事件的不同类型,执行其相应的操作;
步骤d,所述服务器测试程序将该次执行的结果返回到所述PC机端;及步骤e,所述图形化控制程序根据返回的结果和脚本的规则分析判断下一步动作。
上述的个人数字助理手机功能的自动测试方法,其中,所述测试用脚本为以可扩展标记语言方式编辑的所述个人数字助理手机用户的按键序列。
上述的个人数字助理手机功能的自动测试方法,其中,所述调用接口将测试所得的所述个人数字助理手机的键盘和/或触摸屏消息通过所述第一通信子模块传送给所述PC机。
上述的个人数字助理手机功能的自动测试方法,其中,所述步骤e中,所述分析判断方式包括第一种方式,通过所述个人数字助理手机能否将所得测试结果直接返回到所述PC机;或者第二种方式,通过所述个人数字助理手机的显示屏当前所显示的内容与预期画面的一致性。
上述的个人数字助理手机功能的自动测试方法,其中,在所述第二种方式下,所述个人数字助理手机中存储有BMP格式的显示屏画面。
上述的个人数字助理手机功能的自动测试方法,其中,对应用于所述服务器模块的函数调用参数、返回值格式与返回值含义采用统一定义方式,并对其分别生成的相应测试程序以动态库方式编译。
本系统通过自动化的方法来实现手机部分功能的回归测试,使测试工程师从这些烦冗的操作中解放出来,将其精力更多地放在手机软件的完备性和稳定性方面的测试。本发明实现了统一安排各种测试,使之有机配合;成功实现了难复现故障的复现工作;极大地节省了测试人员的测试工作量,提高了测试的速度。
以下结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的限定。


图1为本发明自动测试系统结构图;图2是本发明处理流程图。
具体实施例方式
图1所示为本发明自动测试系统结构图。本发明为一个PDA手机的自动测试系统及对PDA手机进行自动测试的方法。本发明PDA手机自动测试系统采用Client/Server方式,在手机上运行一个测试服务器程序,然后通过个人计算机(PC机)上的客户端程序与手机进行通讯并对手机进行控制和测试。
该PDA手机自动测试系统由两个主要模块和一组通信协议组成。
一个模块是手机端的服务器模块11。该模块11包含两个子模块,一个是通信子模块111,主要负责与PC端通信,从PC端接收控制指令和控制内容,并把手机端的测试结果传送给PC端;另一个子模块是本地调用接口112,负责执行通信子模块从PC客户端接收到的测试指令,执行的结果需要通过通信子模块111传送给PC端。
另一个模块是运行于PC机上的客户端图形化控制模块12,即PC端控制模块。该模块12包括通信子模块121、脚本解析子模块122、测试控制子模块123、结果分析子模块124和故障恢复子模块125等。脚本解析子模块122读取测试脚本,并将脚本内容解析为本系统可以理解的数据形式,并把这些测试任务传递给测试控制子模块123,由测试控制子模块123负责对这些测试进行统一调度和控制。PC端的通信子模块121是与手机端的通信子模块111对等工作的一个模块,其作用是与手机进行通信,发送测试控制指令和控制内容并且接收从手机发送过来的测试结果。结果分析子模块124根据通信子模块121中接收到的信息进行结果判断,并作相应的记录。如果结果分析子模块124分析得到的结果表明测试失败,并且需要作相应的测试恢复时,则启动故障恢复子模块125。故障恢复子模块125的作用是对测试中出现问题的测试过程进行恢复性操作使得后续的测试任务可以继续,而不受该失败测试的影响。
通信接口13采用的通信协议是协调手机端的服务器模块11和PC机的客户端图形化控制模块12之间的通信。定义两个模块11、12能够相互理解和工作的测试指令和数据格式,使其能够进行稳定的处理交互。
通信协议内容如下(1)、PC与手机端的控制采用激励、响应机制,即PC端向手机发送激励,然后等待手机返回处理结果或者超时;(2)、PC端向手机发送的命令格式第一字节为命令类型代表该命令是按键消息还是触摸屏消息或其他自定义命令;第二字节为命令长度该长度为命令帧数据的总长度,作校验用;从第三个字节开始是命令内容不同的命令类型对内容的分析方式不同。按键消息就是一个整数表示键值;而触摸屏消息包含触摸点的位置(X,Y)和事件标志(按下还是抬起)。
(3)、返回的字串以“fail”打头的为失败,返回的字串中以“success”打头的成功,fail冒号后面跟一个数字代表出错原因。
本发明的自动测试的工作过程包括第一步通过PC端软件读取设定好的测试用例脚本,并对其进行分析;第二步按照脚本的安排顺序,往手机端发送相应的事件;第三步手机根据接收到的事件类型,进行相应的操作;第四步手机将该次执行的结果返回到PC端;第五步PC根据返回的结果和脚本的规则判断下一步动作。
下面说明以Linux操作系统为基础的PDA手机的自动测试。图2所示为本发明处理流程图。
首先,手机端的服务器模块。本发明采用Linux下的多进程技术实现测试系统的服务器程序及各模块间的相互通信和控制。通信模块利用USB(Universal Serial Bus,通用串行总线)模拟的网络接口,通过TCP/IP与PC端程序进行通信。
PC端图形化控制程序。为了提高自动测试系统的可移植性,使得在不同的开发环境下都可以方便地使用,本发明采用JAVA作为软件的实现的语言基础。利用JAVA的Swing控件生成用户界面,并用成熟的Socket套件与手机进行通信。
服务器模块的统一调用接口。定义统一的服务器模块所接受的函数调用参数和返回值格式及各种返回值的含义,并根据这些预定格式生成相应的单项测试程序,以动态库的方式进行编译,以此来实现特定模块测试程序的插件方式的执行。
测试脚本。为了提高测试脚本的通用性,使得测试内容的表示不会因为测试软件的修改而改变,所以本发明采用XML的方式来记录测试用例。脚本生成可以有各自的定义方式。
结果分析判断。本发明的结果分析判断采用两种方式,一种方式是根据测试程序的运行结果直接返回是否成功;另一种方式是判断手机LCD当前所显示的内容是否与预期的画面一致。如果测试用例采用的是第二种方式则需要预先存储手机LCD显示的画面,该画面保存为BMP格式。
本发明的硬件部分手机与PC机通过USB线相连接,USB线作为通讯的物理媒介。通过相应的驱动程序,PC机上将该USB接口模拟为通信网络接口,以实现PC机与手机的TCP/IP通信。
本发明的软件处理过程包括步骤S200,分析测试脚本,通过PC端软件读取预先设定的测试用例脚本,并对其进行分析,此处将用户的按键序列采用XML的方式编辑为测试脚本;步骤S210,测试控制子模块负责对测试进行统一调度和控制;步骤S220,PC端软件解析测试脚本,并把记录的按键内容通过通信网络接口发送到手机端;步骤S230,手机通过通信网络接口接收按键内容,手机服务程序通过键盘驱动产生相应的按键消息,手机上的应用程序接收按键消息,执行相应的测试功能;步骤S240,手机服务程序将该测试结果通过通信网络接口返回给PC端;步骤S250,PC端通过通信网络接口接收测试结果,结果分析模块对返回的测试结果进行分析处理;步骤S260,进行测试结果判断,若成功,返回到步骤S210,若失败,执行步骤S270;步骤S270,PC端根据分析的结果以测试脚本为规则安排下一步测试动作,并作相应的记录。其中,将USB接口模拟为通信网络接口,PC与手机之间通过TCP/IP协议进行通信。
本发明的系统通过自动化的方法来实现手机部分功能的回归测试,而使测试工程师从这些烦冗的操作中解放出来,将其精力更多地放在手机软件的完备性和稳定性方面的测试。本系统可用于目前比较流行的几种PDA手机的操作系统如Linux、WinCE、Symbian等,并且支持采用这些系统的PDA手机的自动测试。本发明把复杂的测试控制转移到具有强大计算功能的PC端,通过在手机上运行的测试服务器,PC可以对向手机发送各种控制指令和控制内容。这样可以极大地丰富手机的自动测试项目和内容。而且可以通过插件的方式实现手机各种特定功能的测试。本发明能够统一安排各种测试,使之有机配合;可以实现难复现故障的复现工作;极大地节省测试人员的测试工作量。
当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
权利要求
1.一种个人数字助理手机功能的自动测试系统,包括个人数字助理手机、PC机,其特征在于,还包括所述个人数字助理手机端上的服务器模块、运行于所述PC机上的图形化控制模块及通信接口,所述服务器模块与所述图形化控制模块通过所述通信接口建立连接、通信,其中,所述服务器模块又包括第一通信子模块,用于接收来自所述PC机端的测试指令和控制内容;及调用接口,用于执行所述测试指令,并把所得测试结果通过所述第一通信子模块传送给所述PC机;所述图形化控制模块又包括第二通信子模块,用于向所述个人数字助理手机发送测试指令和控制内容,并接收所述测试结果;脚本解析子模块,用于读取、解析所述PC机端上的测试用脚本,获取所述测试指令和控制内容;测试控制子模块,分别连接所述第二通信子模块、脚本解析子模块,用于统一调度和控制所述测试指令和控制内容;及结果分析子模块,连接所述第二通信子模块,用于对测试结果进行分析处理判断。
2.根据权利要求1所述的个人数字助理手机功能的自动测试系统,其特征在于,还包括一与所述结果分析子模块连接的故障恢复子模块,用于在所述结果分析子模块表明测试失败并需恢复时进行测试恢复。
3.根据权利要求1所述的个人数字助理手机功能的自动测试系统,其特征在于,以JAVA程序语言的Swing控件编写所述图形化控制模块的用户界面;以Socket编写所述服务器模块与所述图形化控制模块之间的通信程序。
4.根据权利要求1所述的个人数字助理手机功能的自动测试系统,其特征在于,所述通信接口为由通用串行总线接口模拟的网络接口,并采用TCP/IP通信协议。
5.根据权利要求1所述的个人数字助理手机功能的自动测试系统,其特征在于,所述测试用脚本为以可扩展标记语言方式编辑的所述个人数字助理手机用户的按键序列。
6.一种用于权利要求1所述系统的个人数字助理手机功能的自动测试方法,其特征在于,包括如下步骤步骤a,通过运行于所述PC机端上的图形化控制程序读取、分析预定的测试用脚本;步骤b,按照所述测试用脚本的安排顺序,所述图形化控制程序向所述个人数字助理手机端发送相应的事件;步骤c,所述个人数字助理手机上的服务器测试程序根据接收到事件的不同类型,执行其相应的操作;步骤d,所述服务器测试程序将该次执行的结果返回到所述PC机端;及步骤e,所述图形化控制程序根据返回的结果和脚本的规则分析判断下一步动作。
7.根据权利要求6所述的个人数字助理手机功能的自动测试方法,其特征在于,所述测试用脚本为以可扩展标记语言方式编辑的所述个人数字助理手机用户的按键序列。
8.根据权利要求6所述的个人数字助理手机功能的自动测试方法,其特征在于,所述调用接口将测试所得的所述个人数字助理手机的键盘和/或触摸屏消息通过所述第一通信子模块传送给所述PC机。
9.根据权利要求6所述的个人数字助理手机功能的自动测试系统,其特征在于,所述步骤e中,所述分析判断方式包括通过所述个人数字助理手机能否将所得测试结果直接返回到所述PC机;或者,通过所述个人数字助理手机的显示屏当前所显示的内容与预期画面的一致性。
10.根据权利要求9所述的个人数字助理手机功能的自动测试系统,其特征在于,所述个人数字助理手机中存储有BMP格式的显示屏画面。
11.根据权利要求6所述的个人数字助理手机功能的自动测试系统,其特征在于,对应用于所述服务器模块的函数调用参数、返回值格式与返回值含义采用统一定义方式,并对其分别生成的相应测试程序以动态库方式编译。
全文摘要
本发明公开了一种个人数字助理手机功能的自动测试系统及其方法,该自动测试系统包括个人数字助理手机、PC机,还包括个人数字助理手机端上的服务器模块、运行于PC机上的图形化控制模块及通信接口;其中,服务器模块与图形化控制模块通过通信接口建立连接、通信。服务器模块又包括第一通信子模块及调用接口。图形化控制模块又包括第二通信子模块、脚本解析子模块、测试控制子模块、结果分析子模块。本发明实现了统一安排各种测试,使之有机配合;成功实现了难复现故障的复现工作;极大地节省了测试人员的测试工作量,提高了测试的速度。
文档编号H04Q7/32GK1862508SQ200510011719
公开日2006年11月15日 申请日期2005年5月13日 优先权日2005年5月13日
发明者肖永钦, 葛东岳, 陈建江, 柴峻 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1