一种自动测试方法、终端及系统的制作方法

文档序号:6489788阅读:115来源:国知局
一种自动测试方法、终端及系统的制作方法
【专利摘要】本发明实施例公开了一种自动测试方法,包括:客户终端同步显示服务终端的屏幕所显示的界面;客户终端接收用户输入的针对所述界面的操作信息,将操作信息转换为操作指令;客户终端录制所述操作指令;客户终端重复多次向服务终端发送录制的操作指令,以使服务终端根据接收的操作指令启动该操作指令对应的应用程序执行该操作指令所指示的操作,当应用程序对应的进程结束时,由服务终端记录当前时间,并选择出在所述当前时间之前的预设时间段内执行的操作指令对应的操作路径,和/或选择出在所述当前时间之前的预设时间段内所述应用程序调用的函数。相应地,本发明实施例还公开另一种自动测试方法、终端及系统。本发明实施例可以提高自动测试的效率。
【专利说明】一种自动测试方法、终端及系统
【技术领域】
[0001]本发明涉及测试领域,尤其涉及一种自动测试方法、终端及系统。
【背景技术】
[0002]目前两大移动终端平台(Android和iOS平台)都可以实现随机事件的自动测试,如在Android平台上提供一个Monkey工具,该工具可以运行在模拟器或终端设备中,该工具向系统发送伪随机的用户事件流(如:按键输入、触摸输入或手势输入等),实现对应用程序进行随机事件的测试。而在iOS平台中也可以通过将测试框架植入到工程代码中,再基于测试框架编写模拟的用户事件,实现对终端设备的压力测试。其中,上述Android平台在自动测试过程中,由于测试是完全随机的,所以很多无法进行操作的像素点也会随机到,这样导致自动测试的效率比较低;上述iOS平台在自动测试过程中,需要在工程代码中植入测试框架以及编写模拟事件,而在植入测试框架以及编写模拟事件极有可能造成工程的许多问题,这样导致iOS平台中自动测试的效率也比较低。

【发明内容】

[0003]本发明实施例提供了一种自动测试方法、设备及系统,可以提高自动测试的效率。
[0004]为了解决上述技术问题,本发明实施例提供的一种自动测试方法,包括:
[0005]客户终端同步显示服务终端的屏幕所显示的界面;
[0006]所述客户终端接收用户输入的针对所述界面的操作信息,将所述操作信息转换为操作指令;
[0007]所述客户终端录制所述操作指令;
[0008]所述客户终端重复多次向所述服务终端发送录制的操作指令,以使所述服务终端根据接收到的操作指令启动所述操作指令对应的应用程序执行所述操作指令所指示的操作,当所述应用程序对应的进程结束时,由所述服务终端记录当前时间,并选择出在所述当前时间之前的预设时间段内执行的操作指令对应的操作路径,和/或选择出在所述当前时间之前的预设时间段内所述应用程序调用的函数。
[0009]本发明实施例还提供了另一种自动测试方法,包括:
[0010]服务终端接收客户终端重复多次发送的操作指令;
[0011]所述服务终端启动所述操作指令对应的应用程序执行所述操作指令所指示的操作;
[0012]当所述应用程序对应的进程结束时,所述服务终端记录当前时间;
[0013]所述服务终端选择出在所述当前时间之前的预设时间段内执行的操作指令对应的操作路径,和/或选择出在所述当前时间之前的预设时间段内所述应用程序调用的函数。
[0014]本发明实施例还提供了一种客户终端,包括:显示单元、指令转换单元、录制单元和发送单元,其中:[0015]所述显示单元,用于同步显示服务终端的屏幕所显示的界面;
[0016]所述指令转换单元,用于接收用户输入的针对所述界面的操作信息,将所述操作信息转换为操作指令;
[0017]所述录制单元,用于录制所述指令转换单元转换的操作指令;
[0018]发送单元,用于重复多次向所述服务终端发送所述录制单元录制的操作指令,以使所述服务终端根据接收到的操作指令启动所述操作指令对应的应用程序执行所述操作指令所指示的操作,当所述应用程序对应的进程结束时,由所述服务器记录当前时间,并选择出在所述当前时间之前的预设时间段内执行的操作指令对应的操作路径,和/或选择出在所述当前时间之前的预设时间段内所述应用程序调用的函数。
[0019]本发明实施例还提供了一种服务终端,包括:指令接收单元、执行单元、第一记录单元和选择单元,其中:
[0020]所述指令接收单元,用于接收客户终端重复多次发送的操作指令;
[0021]所述执行单元,用于启动所述操作指令对应的应用程序执行所述操作指令所指示的操作;
[0022]所述第一记录单元,用于当所述应用程序对应的进程结束时,记录当前时间;
[0023]所述选择单元,用于选择出在所述当前时间之前的预设时间段内执行的操作指令对应的操作路径,和/或选择出在所述当前时间之前的预设时间段内所述应用程序调用的函数。
[0024]本发明实施例还提供了一种自动测试系统,包括:上述客户终端和上述服务终端。
[0025]上述技术方案中,由于操作指令是用户输入的操作信息而转换的,同时,由于在自动测试过程中不需要对工程代码进行更改,因为,相比现有技术中的完全随机的自动测试,或在工程代码中植入测试框架以及编写模拟事件的自动测试,本发明可以提高自动测试的效率。
【专利附图】

【附图说明】
[0026]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0027]图1是本发明实施例提供的一种自动测试方法的流程示意图;
[0028]图2是本发明实施例提供的另一种自动测试方法的流程示意图;
[0029]图3是本发明实施例提供的另一种自动测试方法的流程示意图;
[0030]图4是本发明实施例提供的另一种自动测试方法的流程示意图;
[0031]图5是本发明实施例提供的一种客户终端的结构示意图;
[0032]图6是本发明实施例提供的另一种客户终端的结构示意图;
[0033]图7是本发明实施例提供的另一种客户终端的结构示意图;
[0034]图8是本发明实施例提供的一种服务终端的结构示意图;
[0035]图9是本发明实施例提供的另一种服务终端的结构示意图;
[0036]图10是本发明实施例提供的另一种服务终端的结构示意图;[0037]图11是本发明实施例提供的另一种服务终端的结构示意图;
[0038]图12是本发明实施例提供的一种自动测试系统的结构示意图。
【具体实施方式】
[0039]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0040]图1是本发明实施例提供的一种自动测试方法的流程示意图,如图1所示,包括:[0041 ] 101、客户终端同步显示服务终端的屏幕所显示的界面。
[0042]可以理解的是,这里的同步是指客户终端上显示的界面随服务终端的屏幕显示的界面变化而变化,两者保持一致。
[0043]102、所述客户终端接收用户输入的针对所述界面的操作信息,将所述操作信息转换为操作指令。
[0044]可选的,用户输入的操作信息具体可以是单击、双击、滑动或长按等操作信息。
[0045]103、所述客户终端录制所述操作指令。
[0046]可选的,步骤103具体可以是录制步骤102转换的所有操作指令,如步骤102转换的有100条操作指令,且这些操作指令的总时长为I小时时,那么步骤103录制的操作指令也就是100条,且这录制的操作指令的总时长为I小时。
[0047]需要说明的是,步骤102和103具体可以是同时执行。例如:用户输入的操作信息包含多个,那么步骤102接收到一个操作信息后,就将接收的操作信息转换为操作指令,再接收下一个,再将接收的转换成操作指令,依此重复。而步骤103就可以是在步骤102转换第一个操作指令时,就录制第一个操作指令,步骤102转成第二操作指令时,再录制第二个操作指令。
[0048]104、所述客户终端重复多次向所述服务终端发送录制的操作指令,以使所述服务终端根据接收到的操作指令启动所述操作指令对应的应用程序执行所述操作指令所指示的操作,当所述应用程序对应的进程结束时,由所述服务终端记录当前时间,并选择出在所述当前时间之前的预设时间段内执行的操作指令对应的操作路径,和/或选择出在所述当前时间之前的预设时间段内所述应用程序调用的函数。
[0049]可选的,当客户终端将上述操作指令发送到服务终端后,服务终端就可以根据接收的操作指令启动该操作指令对应的应用程序执行该操作指令所指示的操作。当然上述操作指令包含但不限于一个单独的操作指令,如可以是多个操作指令,具体可以根据用户输入的操作信息而定。当上述应用程序对应的进程结束时,就可以选择出在该进程结束时之前的预设时间段内该应用程序执行的操作指令对应的操作路径和/或该应用程序调用的函数。这样就可以将选择出来操作路径和/函数作为造成该进程结束原因信息(例如:操作路径信息和/或函数信息),以完成自动测试的目的。
[0050]可选的,由于步骤104是重复多次向服务终端发送录制的操作指令,而服务终端在执行接收的操作指令时,屏幕显示的界面可以是不同的。这样就可以导致同一操作指令在不同的界面上执行,而执行结果也可以是不同的,从而达到随机的自动测试的效果。[0051]作为一种可选的实施方式,步骤104具体可以包括:
[0052]所述客户终端向所述服务终端发送转换的操作指令,以及重复多次发送录制的操作指令。
[0053]该实施方式中,步骤104具体可以和步骤102 —起执行,在步骤102执行完后,步骤104在向服务终端重复多次发送录制的操作指令。
[0054]上述技术方案中,由于操作指令是用户输入的操作信息而转换的,同时,由于在自动测试过程中不需要对工程代码进行更改,因为,相比现有技术中的完全随机的自动测试,或在工程代码中植入测试框架以及编写模拟事件的自动测试,本实施例可以提供自动测试的效率。
[0055]图2是本发明实施例提供的另一种自动测试方法的流程示意图,如图2所示,包括:
[0056]图1是本发明实施例提供的一种自动测试方法的流程示意图,如图1所示,包括:
[0057]201、客户终端同步显示服务终端的屏幕所显示的界面。
[0058]202、所述客户终端接收用户输入的针对所述界面的操作信息,将所述操作信息转换为操作指令。
[0059]203、所述客户终端录制所述操作指令。
[0060]可选的,步骤203具体可以通过一个录制和回放的工具(例如:TINYTASK)实现录制所述操作指令。
[0061]204、所述客户终端重复多次向所述服务终端发送录制的操作指令,以使所述服务终端根据接收到的操作指令启动所述操作指令对应的应用程序执行所述操作指令所指示的操作,当所述应用程序对应的进程结束时,由所述服务终端记录当前时间,并选择出在所述当前时间之前的预设时间段内执行的操作指令对应的操作路径,和/或选择出在所述当前时间之前的预设时间段内所述应用程序调用的函数。
[0062]205、所述客户终端执行所述服务终端的脚本,并通过所述脚本监测所述服务终端上的所述应用程序所对应的进程是否结束。
[0063]可选的,步骤205具体可以通过远程登陆会话与控制协议(例如:ssh协议)对服务终端进行控制,并运行执行服务终端上的脚本,以监测上述进程是否结束。
[0064]206、当所述进程结束时,所述客户终端向所述服务终端发送指示所述进程结束的消息,以使所述服务终端根据所述消息记录所述进程结束的时间。
[0065]可选的,当服务终端接收到上述消息后,就可以记录接收到该消息的当前时间,并将记录的当前时间作为上述进程结束的时间。
[0066]需要说明的是,步骤205与步骤204具体可以是同时进行的。
[0067]作为一种可选的实施方式,在步骤201之前,所述方法还可以包括:
[0068]所述客户终端登录所述服务终端。
[0069]可选的,具体可以通过虚拟网络计算机(Virtual Network Computing, VNC)远程登录服务终端。步骤201具体可以是通过VNC将服务终端的屏幕同步到客户终端的屏幕上,并显示服务终端的界面最大化,以确保步骤203录制的操作指令与步骤202转换的操作指令作用在服务终端的屏幕的位置一致性。
[0070]可选的,具体可以通过无线网络(例如:wifi网络)或有线连接(例如:USB连接线)登录服务终端。
[0071]作为一种可选的实施方式,客户终端具体可以包括:
[0072]计算机。
[0073]服务终端具体可以包括:
[0074]移动终端,如手机或平板电脑等。
[0075]上述技术方案中,在上面实施例的基础上,增加了客户终端执行所述服务终端的脚本,并通过所述脚本监测所述服务终端上的所述应用程序所对应的进程是否结束。当所述进程结束时,所述客户终端向所述服务终端发送指示所述进程结束的消息,以使所述服务终端根据所述消息记录所述进程结束的时间。本实施例可以实现由客户终端执行服务终端的脚本,并监测服务终端的进程是否结束。同时,还可以实现提高自动测试的效率。
[0076]图3是本发明实施例提供的另一种自动测试方法的流程示意图,如图3所示,包括:
[0077]301、服务终端接收客户终端重复多次发送的操作指令。
[0078]可选的,上述操作指令具体可以是客户终端录制的操作指令,具体可以是录制将用户输入的操作信息转换成的操作指令。具体可以参考上面实施例。
[0079]302、所述服务终端启动所述操作指令对应的应用程序执行所述操作指令所指示的操作。
[0080]可选的,由于步骤301是接收客户终端重复多次发送的操作指令,那么步骤302就是重复多次执行相同的操作指令,而步骤302在执行接收的操作指令时,服务终端的屏幕显示的界面可以是不同的。这样就可以导致同一操作指令在不同的界面上执行,而执行结果也可以是不同的,从而达到随机的自动测试的效果。
[0081]303、当所述应用程序对应的进程结束时,所述服务终端记录当前时间。
[0082]304、所述服务终端选择出在所述当前时间之前的预设时间段内执行的操作指令对应的操作路径,和/或选择出在所述当前时间之前的预设时间段内所述应用程序调用的函数。
[0083]可选的,上述预设时间具体可以为几秒钟,如上述当前时间为9:00:00时,那么步骤304就选择出9:00:00-9:00:05(例设上述预设时间段为5秒)执行的操作指令对应的操作路径,以及选择出9:00:00-9:00:05所述应用程序调用的函数。
[0084]当上述应用程序对应的进程结束时,就可以选择出在该进程结束时之前的预设时间段内该应用程序执行的操作指令对应的操作路径和/或该应用程序调用的函数。这样就可以将选择出来操作路径和/函数作为造成该进程结束原因信息(例如:操作路径信息和/或函数信息),以完成自动测试的目的。如上述进程结束为异常结束(例如:Crash)时,就可以知晓造成异常结束的操作路径和/或调用的函数。
[0085]上述技术方案中,由于是多次执行重复的操作指令,同时,由于在自动测试过程中不需要对工程代码进行更改,因为,相比现有技术中的完全随机的自动测试,或在工程代码中植入测试框架以及编写模拟事件的自动测试,本实施例可以提供自动测试的效率。
[0086]图4是本发明实施例提供的另一种自动测试方法的流程示意图,如图4所示,包括:
[0087]401、服务终端接收客户终端重复多次发送的操作指令。[0088]402、所述服务终端启动所述操作指令对应的应用程序执行所述操作指令所指示的操作。
[0089]403、所述服务终端执行脚本,并通过所述脚本监测所述进程是否结束。
[0090]需要说明的是,步骤402和步骤403具体可以是一起执行。
[0091]404、当所述应用程序对应的进程结束时,所述服务终端记录当前时间。
[0092]405、所述服务终端选择出在所述当前时间之前的预设时间段内执行的操作指令对应的操作路径,和/或选择出在所述当前时间之前的预设时间段内所述应用程序调用的函数。
[0093]作为一种可选的实施方式,步骤401具体可以是一直在执行,例如当上述进程结束后,步骤401还可以接收客户终端重复发送的操作指令,当然,步骤402在上述进程结束之后,一样会重新执行,即重新启动上述应用程序,并重新执行步骤401接收的操作指令。步骤403、404、405都会重新执行,即进行另一次自动测试。由于步骤401是一直在执行,也就是一直在接收客户终端重复发送的操作指令。那么,当上述进程结束后,步骤402重新启动上述应用程序时,但重新启动上述应用程序时,步骤401接收的操作指令可能与步骤402第一次启动上述应用程序时步骤401接收的操作指令不相同,从而步骤402执行的操作指令可能与第一次启动上述应用程序时执行的操作指令是不同的(例如:第一次测试中步骤402是根据操作指令I启动上述应用程序的,再接着执行操作指令2、操作指令2等,而第二测试中步骤402可能是根据操作指令4启动的上述应用程序,再接着执行操作指令5、操作指令6等),这样就可以实现,第二次启动上述应用程序进行自动测试过程中,与第一次启动上述应用程序进行自动测试的结果可能会不同的。因为上述应用程序运行的界面是可以随时间变化而变化的,而不同操作指令对于不同的界面执行的结果是不同的,从而导致测试结果不同。
[0094]当然该实施方式中,当所述方法不存在步骤403时,同样可以实现。
[0095]作为一种可选的实施方式,所述方法中具体可以采用如下步骤代替上述步骤403:
[0096]所述服务终端接收所述客户终端发送的指示所述进程结束的消息。
[0097]该实施方式中,可以实现由客户终端监测服务终端的上述进行是否结束。
[0098]作为一种可选的实施方式,所述方法还可以包括:
[0099]所述服务终端录制所述服务终端的屏幕所显示的内容。
[0100]这样就可以更好的地重现上述进程结束时的服务终端所显示的内容。
[0101]可选的,该步骤具体可以是步骤402是一起执行,当然在本发明中并不限定该步骤与步骤402是一起执行,该步骤可以是一直执行。
[0102]可选的,该实施方式中,在步骤404之后,所述方法还包括:
[0103]所述服务终端从录制的内容中选择出所述当前时间之前的预设时间录制的内容。
[0104]这样就可以立即上回放上述进程结束时,服务终端所显示的内容,以便用户更好更快地知晓上述进程结束时,服务终端的状态以及显示的内容。
[0105]作为一种可选的实施方式,在步骤402之后,步骤404之前,所述方法还可以包括:
[0106]所述服务终端记录启动所述应用程序的时间;[0107]可选的,该实施方式中,在步骤404之后,所述方法还可以包括:
[0108]所述服务终端计算所述当前时间与启动所述应用程序的时间的时间差,并将计算出的时间差作为自动测试的时长。
[0109]该实施方式中,可以计算出应用程序测试运行的时长,即自动测试的时长。
[0110]作为一种可选的实施方式,在步骤405之后,所述方法还可以包括:
[0111]将选择出的操作路径和选择出的函数一一配对。
[0112]具体可以是,将同一时刻的上述操作路径和上述函数一一配对。这样就可以选择出上进程结束时,上述操作路径和上述函数的关系。或者,得出引起上述进行结束的操作路径或调用的函数。
[0113]作为一种可选的实施方式,客户终端具体可以包括:
[0114]计算机。
[0115]服务终端具体可以包括:
[0116]移动终端,如手机或平板电脑等。
[0117]上述技术方案,在上面实施例的基础上,增加服务终端执行脚本,并通过所述脚本监测所述进程是否结束的步骤,可以实现由服务终端监测进行是否存在。同时,还可以实现提供自动测试的效率。
[0118]下面为本发明装置实施例,本发明装置实施例用于执行本发明方法实施例一至实施四实现的方法,为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明实施例一、实施例二、实施例三和实施例四。
[0119]图5是本发明实施例提供的一种客户终端的结构示意图,如图5所示,包括:显示单元51、指令转换单元52、录制单元53和发送单元54,其中:
[0120]显示单元51,用于同步显示服务终端的屏幕所显示的界面;
[0121]指令转换单元52,用于接收用户输入的针对所述界面的操作信息,将所述操作信息转换为操作指令;
[0122]可选的,用户输入的操作信息具体可以是单击、双击、滑动或长按等操作信息。
[0123]录制单元53,用于录制指令转换单元52转换的操作指令;
[0124]发送单元54,用于重复多次向所述服务终端发送录制单元53录制的操作指令,以使所述服务终端根据接收到的操作指令启动所述操作指令对应的应用程序执行所述操作指令所指示的操作,当所述应用程序对应的进程结束时,由所述服务终端记录当前时间,并选择出在所述当前时间之前的预设时间段内执行的操作指令对应的操作路径,和/或选择出在所述当前时间之前的预设时间段内所述应用程序调用的函数。
[0125]可选的,当客户终端将上述操作指令发送到服务终端后,服务终端就可以根据接收的操作指令启动该操作指令对应的应用程序执行该操作指令所指示的操作。当然上述操作指令包含但不限于一个单独的操作指令,如可以是多个操作指令,具体可以根据用户输入的操作信息而定。当上述应用程序对应的进程结束时,就可以选择出在该进程结束时之前的预设时间段内该应用程序执行的操作指令对应的操作路径和/或该应用程序调用的函数。这样就可以将选择出来操作路径和/函数作为造成该进程结束原因信息(例如:操作路径信息和/或函数信息),以完成自动测试的目的。
[0126]可选的,由于发送单元54是重复多次向服务终端发送录制的操作指令,而服务终端在执行接收的操作指令时,屏幕显示的界面可以是不同的。这样就可以导致同一操作指令在不同的界面上执行,而执行结果也可以是不同的,从而达到随机的自动测试的效果。
[0127]作为一种可选的实施方式,发送单元54具体还可以用于向所述服务终端发送指令转换单元52转换的操作指令,以及重复多次发送录制单元53录制的操作指令。
[0128]上述技术方案中,由于操作指令是用户输入的操作信息而转换的,同时,由于在自动测试过程中不需要对工程代码进行更改,因为,相比现有技术中的完全随机的自动测试,或在工程代码中植入测试框架以及编写模拟事件的自动测试,本实施例可以提供自动测试的效率。
[0129]图6是本发明实施例提供的另一种客户终端的结构示意图,如图6所示,包括:显示单元61、指令转换单元62、录制单元63、发送单元64和监测单元65,其中:
[0130]显示单元61,用于同步显示服务终端的屏幕所显示的界面;
[0131]指令转换单元62,用于接收用户输入的针对所述界面的操作信息,将所述操作信息转换为操作指令;
[0132]可选的,用户输入的操作信息具体可以是单击、双击、滑动或长按等操作信息。
[0133]录制单元63,用于录制指令转换单元62转换的操作指令;
[0134]发送单元64,用于重复多次向所述服务终端发送录制单元63录制的操作指令,以使所述服务终端根据接收到的操作指令启动所述操作指令对应的应用程序执行所述操作指令所指示的操作,当所述应用程序对应的进程结束时,记录当前时间,并选择出在所述当前时间之前的预设时间段内执行的操作指令对应的操作路径,和/或选择出在所述当前时间之前的预设时间段内所述应用程序调用的函数。
[0135]监测单元65,用于执行所述服务终端的脚本,并通过所述脚本监测所述服务终端上的所述应用程序所对应的进程是否结束;
[0136]发送单元64还可以用于当监测单元65监测到所述进程结束时,向所述服务终端发送指示所述进程结束的消息,以使所述服务终端根据所述消息记录所述进程结束的时间。
[0137]可选的,当服务终端接收到上述消息后,就可以记录接收到该消息的当前时间,并将记录的当前时间作为上述进程结束的时间。
[0138]作为一种可选的实施方式,所述客户终端还可以包括:
[0139]登录单元(附图中未画出),用于登录所述服务终端。
[0140]可选的,具体可以通过虚拟网络计算机(Virtual Network Computing, VNC)远程登录服务终端。显示单元61具体可以是通过VNC将服务终端的屏幕同步到客户终端的屏幕上,并显示服务终端的界面最大化,以确保录制单元63录制的操作指令与指令转换单元62转换的操作指令作用在服务终端的屏幕的位置一致性。
[0141]作为一种可选的实施方式,客户终端具体可以包括:
[0142]计算机。
[0143]服务终端具体可以包括:
[0144]移动终端,如手机或平板电脑等。
[0145]上述技术方案中,在上面实施例的基础上,增加了监测单元执行所述服务终端的脚本,并通过所述脚本监测所述服务终端上的所述应用程序所对应的进程是否结束。当所述进程结束时,发送单元向所述服务终端发送指示所述进程结束的消息,以使所述服务终端根据所述消息记录所述进程结束的时间。本实施例可以实现由客户终端执行服务终端的脚本,并监测服务终端的进程是否结束。同时,还可以实现提高自动测试的效率。
[0146]图7是本发明实施例提供的一种服务终端的结构示意图,如图7所示,包括:指令接收单元71、执行单元72、第一记录单元73和选择单元74,其中:
[0147]指令接收单元71,用于接收客户终端重复多次发送的操作指令;
[0148]执行单元72,用于启动所述操作指令对应的应用程序执行所述操作指令所指示的操作;
[0149]第一记录单元73,用于当所述应用程序对应的进程结束时,记录当前时间;
[0150]选择单元74,用于选择出在所述当前时间之前的预设时间段内执行的操作指令对应的操作路径,和/或选择出在所述当前时间之前的预设时间段内所述应用程序调用的函数。
[0151]当上述应用程序对应的进程结束时,就可以选择出在该进程结束时之前的预设时间段内该应用程序执行的操作指令对应的操作路径和/或该应用程序调用的函数。这样就可以将选择出来操作路径和/函数作为造成该进程结束原因信息(例如:操作路径信息和/或函数信息),以完成自动测试的目的。如上述进程结束为异常结束(例如:Crash)时,就可以知晓造成异常结束的操作路径和/或调用的函数。
[0152]可选的,由于指令接收单元71是接收客户终端重复多次发送的操作指令,那么执行单元72就是重复多次执行相同的操作指令,而执行单元72在执行接收的操作指令时,月艮务终端的屏幕显示的界面可以是不同的。这样就可以导致同一操作指令在不同的界面上执行,而执行结果也可以是不同的,从而达到随机的自动测试的效果。
[0153]上述技术方案中,由于是多次执行重复的操作指令,同时,由于在自动测试过程中不需要对工程代码进行更改,因为,相比现有技术中的完全随机的自动测试,或在工程代码中植入测试框架以及编写模拟事件的自动测试,本实施例可以提供自动测试的效率。
[0154]图8是本发明实施例提供的另一种服务终端的结构示意图,如图8所示,包括:指令接收单元81、执行单元82、监测单元83、第一记录单元84和选择单元85,其中:
[0155]指令接收单元81,用于接收客户终端重复多次发送的操作指令;
[0156]执行单元82,用于启动所述操作指令对应的应用程序执行所述操作指令所指示的操作;
[0157]监测单元83,用于执行脚本,并通过所述脚本监测所述进程是否结束;
[0158]第一记录单元84,用于当所述应用程序对应的进程结束时,记录当前时间;
[0159]选择单元85,用于选择出在所述当前时间之前的预设时间段内执行的操作指令对应的操作路径,和/或选择出在所述当前时间之前的预设时间段内所述应用程序调用的函数。
[0160]作为一种可选的实施方式,如图9所示,所述服务终端还可以包括:
[0161]录制单元86,用于录制所述服务终端的屏幕所显示的内容。
[0162]这样就可以更好的地重现上述进程结束时的服务终端所显示的内容。
[0163]可选的,该实施方式中,
[0164]选择单元85还用于从录制单元86录制的内容中选择出所述当前时间之前的预设时间录制的内容。
[0165]这样就可以立即上回放上述进程结束时,服务终端所显示的内容,以便用户更好更快地知晓上述进程结束时,服务终端的状态以及显示的内容。
[0166]作为一种可选的实施方式,如图10所示,所述服务终端还可以包括:
[0167]第二记录单元87,用于记录启动所述应用程序的时间; [0168]计算单元88,用于计算所述当前时间与启动所述应用程序的时间的时间差,并将计算出的时间差作为自动测试的时长。
[0169]该实施方式中,可以计算出应用程序测试运行的时长,即自动测试的时长。
[0170]作为一种可选的实施方式,所述终端还可以包括:
[0171]配对单元(附图中未画出),用于将选择单元85选择出的操作路径和选择出的函
数--配对。
[0172]具体可以是,将同一时刻的上述操作路径和上述函数一一配对。这样就可以选择出上进程结束时,上述操作路径和上述函数的关系。或者,得出引起上述进行结束的操作路径或调用的函数。
[0173]作为一种可选的实施方式,如图11所示,所述服务终端可以采用消息接收单元89代替上述监测单元83,其中:
[0174]消息接收单元89,用于接收所述客户终端发送的指示所述进程结束的消息。
[0175]该实施方式中,可以实现由客户终端监测服务终端的上述进行是否结束。
[0176]作为一种可选的实施方式,客户终端具体可以包括:
[0177]计算机。
[0178]服务终端具体可以包括:
[0179]移动终端,如手机或平板电脑等。
[0180]上述技术方案,在上面实施例的基础上,增加监测单元执行脚本,并通过所述脚本监测所述进程是否结束的步骤,可以实现由服务终端监测进行是否存在。同时,还可以实现提供自动测试的效率。
[0181]图12是本发明实施例提供的一种自动测试系统的结构示意图,如图12所示,包括:客户终端91和服务终端92,其中:
[0182]客户终端91具体可以为图5或图6所示的实施例中任一实施方式的客户终端。
[0183]服务终端92具体可以为图7或图8或图9所示的实施例中任一实施方式的服务终端。
[0184]上述技术方案中,由于操作指令是用户输入的操作信息而转换的,同时,由于在自动测试过程中不需要对工程代码进行更改,因为,相比现有技术中的完全随机的自动测试,或在工程代码中植入测试框架以及编写模拟事件的自动测试,本实施例可以提供自动测试的效率。
[0185]本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory, ROM)或随机存取存储器(RandomAccessMemory,简称 RAM)等。[0186]以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
【权利要求】
1.一种自动测试方法,其特征在于,包括: 客户终端同步显示服务终端的屏幕所显示的界面; 所述客户终端接收用户输入的针对所述界面的操作信息,将所述操作信息转换为操作指令; 所述客户终端录制所述操作指令; 所述客户终端重复多次向所述服务终端发送录制的操作指令,以使所述服务终端根据接收到的操作指令启动所述操作指令对应的应用程序执行所述操作指令所指示的操作,以及当所述应用程序对应的进程结束时,由所述服务终端记录当前时间,并选择出在所述当前时间之前的预设时间段内执行的操作指令对应的操作路径,和/或选择出在所述当前时间之前的预设时间段内所述应用程序调用的函数。
2.如权利要求1所述的方法,其特征在于,所述方法还包括: 所述客户终端执行所述服务终端的脚本,并通过所述脚本监测所述服务终端上的所述应用程序所对应的进程是否结束; 当所述进程结束时,所述客户终端向所述服务终端发送指示所述进程结束的消息,以使所述服务终端根据所述消息记录所述进程结束的时间。
3.如权利要求1或2所述的方法,其特征在于,所述同步显示服务终端的屏幕所显示的界面之前,所述方法还包括: 所述客户终端登录所述服务终端。
4.一种自动测试方法,其特征在于,包括: 服务终端接收客户终端重复多次发送的操作指令; 所述服务终端启动所述操作指令对应的应用程序执行所述操作指令所指示的操作; 当所述应用程序对应的进程结束时,所述服务终端记录当前时间; 所述服务终端选择出在所述当前时间之前的预设时间段内执行的操作指令对应的操作路径,和/或选择出在所述当前时间之前的预设时间段内所述应用程序调用的函数。
5.如权利要求4所述的方法,其特征在于,所述方法还包括: 所述服务终端执行脚本,并通过所述脚本监测所述进程是否结束。
6.如权利要求4所述的方法,特征在于,所述服务终端记录当前时间之前,所述方法还包括: 所述服务终端接收所述客户终端发送的指示所述进程结束的消息。
7.如权利要求4-6中任一项所述的方法,其特征在于,所述方法还包括: 所述服务终端录制所述服务终端的屏幕所显示的内容。
8.如权利要求7所述的方法,其特征在于,所述服务终端记录当前时间之后,所述方法还包括: 所述服务终端从录制的内容中选择出所述当前时间之前的预设时间录制的内容。
9.如权利要求4-6中任一项所述的方法,其特征在于,所述服务终端启动所述操作指令对应的应用程序之后,所述服务终端记录当前时间之前,所述方法还包括: 所述服务终端记录启动所述应用程序的时间; 所述服务终端记录当前时间之后,所述方法还包括: 所述服务终端计算所述当前时间与启动所述应用程序的时间的时间差,并将计算出的时间差作为自动测试的时长。
10.如权利要求4-6中任一项所述的方法,其特征在于,所述服务终端选择出所述当前时间之前的预设时间所述应用程序调用的函数之后,所述方法还包括: 将选择出的操作路径和选择出的函数一一配对。
11.一种客户终端,其特征在于,包括:显示单元、指令转换单元、录制单元和发送单元,其中: 所述显示单元,用于同步显示服务终端的屏幕所显示的界面; 所述指令转换单元,用于接收用户输入的针对所述界面的操作信息,将所述操作信息转换为操作指令; 所述录制单元,用于录制所述指令转换单元转换的操作指令; 所述发送单元,用于重复多次向所述服务终端发送所述录制单元录制的操作指令,以使所述服务终端根据接收到的操作指令启动所述操作指令对应的应用程序执行所述操作指令所指示的操作,当所述应用程序对应的进程结束时,由所述服务终端记录当前时间,并选择出在所述当前时间之前的预设时间段内执行的操作指令对应的操作路径,和/或选择出在所述当前时间之前的预设时间段内所述应用程序调用的函数。
12.如权利要求11所述的终端,其特征在于,所述终端还包括: 监测单元,用于执`行所述服务终端的脚本,并通过所述脚本监测所述服务终端上的所述应用程序所对应的进程是否结束; 所述发送单元还用于当所述监测单元监测到所述进程结束时,向所述服务终端发送指示所述进程结束的消息,以使所述服务终端根据所述消息记录所述进程结束的时间。
13.如权利要求11或12所述的终端,其特征在于,所述终端还包括: 登录单元,用于登录所述服务终端。
14.一种服务终端,其特征在于,包括:指令接收单元、执行单元、第一记录单元和选择单元,其中: 所述指令接收单元,用于接收客户终端重复多次发送的操作指令; 所述执行单元,用于启动所述操作指令对应的应用程序执行所述操作指令所指示的操作; 所述第一记录单元,用于当所述应用程序对应的进程结束时,记录当前时间; 所述选择单元,用于选择出在所述当前时间之前的预设时间段内执行的操作指令对应的操作路径,和/或选择出在所述当前时间之前的预设时间段内所述应用程序调用的函数。
15.如权利要求14所述的终端,其特征在于,所述终端还包括: 监测单元,用于执行脚本,并通过所述脚本监测所述进程是否结束。
16.如权利要求14所述的终端,其特征在于,所述终端还包括: 消息接收单元,用于接收所述客户终端发送的指示所述进程结束的消息。
17.如权利要求14-16中任一项所述的终端,其特征在于,所述终端还包括: 录制单元,用于录制所述服务终端的屏幕所显示的内容。
18.如权利要求14-16中任一项所述的终端,其特征在于,所述选择单元还用于从所述录制单元录制的内容中选择出所述当前时间之前的预设时间录制的内容。
19.如权利要求14-16中任一项所述的终端,其特征在于,所述终端还包括: 第二记录单元,用于记录启动所述应用程序的时间; 计算单元,用于计算所述当前时间与启动所述应用程序的时间的时间差,并将计算出的时间差作为自动测试的时长。
20.如权利要求14-16中任一项所述的终端,其特征在于,所述终端还包括: 配对单元,用于将选择单元选择出的操作路径和选择出的函数一一配对。
21.一种自动测试系统,其特征在于,包括:如权利要求11-13中任一项所述的客户终端和如权利要求14-20中任一项所述的服务终端。
【文档编号】G06F11/36GK103729258SQ201210385737
【公开日】2014年4月16日 申请日期:2012年10月12日 优先权日:2012年10月12日
【发明者】张锦铭 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1