基于云测试系统的软件测试方法、云测试系统及其客户端的制作方法

文档序号:6499069阅读:108来源:国知局
基于云测试系统的软件测试方法、云测试系统及其客户端的制作方法
【专利摘要】本发明提供一种基于云测试系统的软件测试方法、云测试系统及其客户端,以解决传统的软件测试方法和测试装置手动执行繁琐、无法遍历待测试软件的所有控件以及无法实时查看测试数据的技术问题。所述方法包括以下步骤:接收软件测试任务,建立与所述软件测试任务对应的线程,并通过线程将所述软件测试任务发送给终端设备;接收终端设备执行该软件测试任务时实时反馈的截图信息以及日志信息,并将截图信息以及日志信息上传至服务器端;通过服务器端将截图信息上传至web端进行显示。本发明可以实现自动用真机进行安装、运行、遍历待测软件所有的控件、卸载等过程,并实时输出测试结果,节省了大部分手工测试时间,同时,还方便开发人员调试程序。
【专利说明】基于云测试系统的软件测试方法、云测试系统及其客户端
【技术领域】
[0001]本申请涉及计算机【技术领域】,尤其涉及一种基于云测试系统的软件测试方法和装置。
【背景技术】
[0002]目前,在对终端设备中的软件进行测试时通常都是通过手动安装、卸载待测试的软件,再手动点击该软件的屏幕。现有技术存在以下缺点:(1)手动执行繁琐、效率低;(2)只能测试软件的安装和卸载,无法遍历待测试软件的所有控件;(3)无法实时监控测试结果,开发或测试人员无法实时看到测试数据,每次只能等手动中断之后才能看到原始数据,实际上无法起到监控的效果。

【发明内容】

[0003]本申请的目的在于,解决传统的软件测试方法和测试装置手动执行繁琐、无法遍历待测试软件的所有控件以及无法实时查看测试数据的技术问题。
[0004]本发明实施方式提供一种基于云测试系统的软件测试方法,包括以下步骤:接收软件测试任务,建立与所述软件测试任务对应的线程,并通过所述线程将所述软件测试任务发送给终端设备,所述软件测试任务包括安装待测软件、解析所述待测软件的控件、遍历所述待测软件的所有控件、卸载所述待测软件;接收所述终端设备执行该软件测试任务时实时反馈的截图信息以及日志信息,并将所述截图信息以及日志信息上传至云服务器端;通过所述云服务器端将所述截图信息上传至web端进行显示。
[0005]本发明实施方式还提供一种云测试系统的软件测试客户端,包括:测试任务发送模块,用于接收软件测试任务,建立与所述软件测试任务对应的线程,并通过所述线程将所述软件测试任务发送给终端设备,所述软件测试任务包括安装待测软件、解析所述待测软件的控件、遍历所述待测软件的所有控件、卸载所述待测软件;反馈信息处理模块,用于接收所述终端设备执行该软件测试任务时实时反馈的截图信息以及日志信息,并将所述截图信息以及日志信息上传至云服务器端。
[0006]本发明实施方式还提供一种云测试系统,包括:客户端,包括:测试任务发送模块,用于接收软件测试任务,建立与所述软件测试任务对应的线程,并通过所述线程将所述软件测试任务发送给终端设备,所述软件测试任务包括安装待测软件、解析所述待测软件的控件、遍历所述待测软件的所有控件、卸载所述待测软件;反馈信息处理模块,用于接收所述终端设备执行该软件测试任务时实时反馈的截图信息以及日志信息;云服务器端,包括:反馈信息获取模块,用于获取所述客户端的所述截图信息以及日志信息;第一信息实时显示模块,用于将所述截图信息上传至web端进行显示。
[0007]本申请提供的软件测试方法和测试装置通过对性能指标进行自动实时监控,并实时显示性能指标数据,代替大部分手工操作,从而解决传统的软件测试方法和测试装置手动执行繁琐以及无法实时查看性能指标数据的技术问题,方便测试或开发人员实时监控被测安卓程序的性能数据,节省了大部分手工测试时间,同时,还方便开发人员调试程序。
[0008]上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其他目的、特征和优点能够更明显易懂,以下特举较佳实施例,并配合附图,详细说明如下。
【专利附图】

【附图说明】
[0009]图1是本申请第一实施例提供的软件测试方法的流程示意图。
[0010]图2是图1中步骤S13的具体流程示意图。
[0011]图3是本申请第二实施例提供的云测试系统的客户端的结构示意图。
[0012]图4是本申请第三实施例提供的云测试系统的结构示意图。
[0013]图5是本申请第三实施例提供的云测试系统的原理示意图。
【具体实施方式】
[0014]为更进一步阐述本申请为达成预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本申请提出的软件测试方法和测试装置的【具体实施方式】、方法、步骤、特征及其功效,详细说明如下。
[0015]有关本申请的前述及其他技术内容、特点及功效,在以下配合参考图式的较佳实施例的详细说明中将可清楚呈现。通过【具体实施方式】的说明,当可对本申请为达成预定目的所采取的技术手段及功效得以更加深入且具体的了解,然而所附图式仅是提供参考与说明之用,并非用来对本申请加以限制。
[0016]云测试是基于云计算的一种新型测试方案,本发明所提出的软件测试方法就是基于云测试系统的软件测试方法。云测试系统包括云服务端(server端)、客户端(client端)、基于云端部署的多部主流的Pad、Phone、Touch、Smart TV等智能移动终端设备(真机)。
[0017]请参考图1,图1是本申请第一实施例提供的基于云测试系统的软件测试方法的流程图。
[0018]所述软件测试方法,包括以下步骤:
[0019]Sll:接收软件测试任务,建立与所述软件测试任务对应的线程,并通过所述线程将所述软件测试任务发送给终端设备,所述软件测试任务包括安装待测软件、解析所述待测软件的控件、遍历所述待测软件的所有控件、卸载所述待测软件。
[0020]于此步骤中,客户端(例如PC端)首先在心跳包中收到云服务端的回执,接收软件任务,建立单独的线程下发该任务到终端设备(例如手机)。所谓的心跳包就是客户端定时发送的通知对方自己状态的一个自己定义的命令字。服务端收到后回复一个固定信息(回执)给客户端,如果服务端几分钟内没有收到客户端信息则视客户端已断开(离线)。
[0021]所述软件测试任务包括安装待测软件、解析所述待测软件的控件、遍历所述待测软件的所有控件、卸载所述待测软件。终端设备在接到软件测试任务后开始执行,自动安装待测软件,解析待测软件的入口程序,再打开软件,解析出当前屏的控件、对所有控件逐一进行遍历。在遍历的同时记录截图信息以及产生相应的日志信息。取出截图,判断单击当前控件是否有响应。例如可以通过google安卓文档中提供的接口,从连接于终端设备的PC端向终端设备发送“截取当前屏幕”的命令,截图就会返回到PC端。然后PC端再将截图发送给服务器端。当一个操作完成时,可以读取当前屏幕的控件,和操作之前屏幕的控件做对t匕,如果有变化,说明有响应,如果没有变化,说明无响应。如果有响应,则将截图传送至客户端;如果没有响应,则不将该截图传送至客户端,继续遍历其他控件,因为如果无响应,那么截图就会和操作前的截图是一样的,所以没有必要将没有响应的截图传送至客户端。
[0022]S12:接收所述终端设备执行该软件测试任务时实时反馈的截图信息以及日志信息,并将所述截图信息以及日志信息上传至云服务器端。
[0023]于此步骤中,客户端接收终端设备执行测试任务时实时反馈的截图信息以及日志信息。优选的,客户端每隔一段预定时间接收一次所述终端设备执行该软件测试任务时实时反馈的截图信息以及日志信息,并将所述截图信息以及日志信息上传至云服务器端。预定时间可以根据实际需要进行设定,例如可以是几秒钟。也就是说客户端每隔一段时间从终端设备读取一次截图信息和日志信息。优选的,通过子线程实时获取截图信息和日志信息并上传服务器端。优选的,截图信息和日志信息也同时被存储于数据库中,供所述服务器端使用。
[0024]S13:通过所述服务器端将所述截图信息上传至web端进行显示。
[0025]于此步骤中,服务器端得到截图信息及日志信息后,直接把截图信息上传至web端显示出来。测试人员可以对测试结果进行实时监视。
[0026]请参照图2,优选的,步骤S13进一步包括以下步骤:
[0027]分析是否存在异常退出或控件无响应的日志信息;
[0028]通过所述服务器端将异常退出或控件无响应的日志信息上传至web端进行显示。
[0029]也就是说,如果出现异常退出或控件无响应都可以方便的捕获到并给出日志信
肩、O
[0030]本实施方式中的软件测试方法可以实现根据用户上传的软件包和自选的机型,用真机进行安装、运行、遍历该软件所有的控件、卸载等过程,并实时输出,在网页端给出该软件的测试结果,整个过程均由该系统自动执行,方便测试或开发人员实时监控被测软件的测试结果,节省了大部分手工测试时间,同时,还方便开发人员调试程序。从而解决传统的软件测试方法和测试装置手动执行繁琐、无法遍历待测试软件的所有控件以及无法实时查看测试数据的技术问题。
[0031]请参照图3,图3是本申请第二实施例提供的云测试系统的软件测试客户端的结构图。
[0032]本实施例中的软件测试客户端10包括:测试任务发送模块11,用于接收软件测试任务,建立与所述软件测试任务对应的线程,并通过所述线程将所述软件测试任务发送给终端设备,所述软件测试任务包括安装待测软件、解析所述待测软件的控件、遍历所述待测软件的所有控件、卸载所述待测软件;反馈信息处理模块12,用于接收所述终端设备执行该软件测试任务时实时反馈的截图信息以及日志信息,并将所述截图信息以及日志信息上传至服务器端。
[0033]优选的,所述截图信息仅在待测试软件的控件发生响应时进行反馈。
[0034]图4是本申请第三实施例提供的云测试系统的结构图;图5是本申请第三实施例提供的云测试系统的原理示意图。[0035]请同时参照图4及图5,本实施例中的云测试系统20包括:客户端21以及服务器端22。
[0036] 客户端21包括:测试任务发送模块211,用于接收软件测试任务,建立与所述软件测试任务对应的线程,并通过所述线程将所述软件测试任务发送给终端设备,所述软件测试任务包括安装待测软件、解析所述待测软件的控件、遍历所述待测软件的所有控件、卸载所述待测软件;反馈信息处理模块212,用于接收所述终端设备执行该软件测试任务时实时反馈的截图信息以及日志信息。
[0037]服务器端22包括:反馈信息获取模块221,用于获取所述客户端的所述截图信息以及日志信息;信息实时显示模块222,用于将所述截图信息上传至web端进行显示。
[0038]优选的,所述截图信息仅在待测试软件的控件发生响应时进行反馈。
[0039]优选的,所述信息实时显示模块222将所述异常退出或控件无响应的日志信息上传至web端进行显示。
[0040]于本实施例中,客户端21的在心跳包中收到服务器端22的回执后,客户端的测试任务发送模块211接收任务并建立单独的线程由下发该任务到终端设备。终端设备接到任务后开始执行,记录此任务的截屏信息以及日志信息直到遍历完所有控件,并实时地将信息反馈给客户端21的反馈信息处理模块212。服务器端22会每隔几秒访问客户端21是否存在截图,如果存在截图,将截图上传到web端。优选的,截图信息和日志信息也同时被存储于数据库中,供服务器端22使用。优选的,可以分析是否有异常退出或控件无响应的日志信息,若存在异常退出或控件无响应的日志信息则上传至web端;若不存在异常退出或控件无响应的日志信息则可以不上传日志信息。
[0041]本实施方式中的云测试系统可以实现根据用户上传的软件包和自选的机型,用真机进行安装、运行、遍历该软件所有的控件、卸载等过程,并实时输出,在网页端给出该软件的测试结果,整个过程均由该系统自动执行,方便测试或开发人员实时监控被测软件的测试结果,节省了大部分手工测试时间,同时,还方便开发人员调试程序。从而解决传统的软件测试方法和测试装置手动执行繁琐、无法遍历待测试软件的所有控件以及无法实时查看测试数据的技术问题。
[0042]需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0043]需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者装置中还存在另外的相同要素。
[0044]本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0045]以上所述,仅是本申请的较佳实施例而已,并非对本申请作任何形式上的限制,虽然本申请已以较佳实施例揭露如上,然而并非用以限定本申请,任何熟悉本专业的技术人员,在不脱离本申请技术方案范围内,当可利用上述揭示的技术内容做出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本申请技术方案内容,依据本申请的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本申请技术方案的范围内。
【权利要求】
1.一种基于云测试系统的软件测试方法,其特征在于:包括以下步骤: 接收软件测试任务,建立与所述软件测试任务对应的线程,并通过所述线程将所述软件测试任务发送给终端设备,所述软件测试任务包括安装待测软件、解析所述待测软件的控件、遍历所述待测软件的所有控件、卸载所述待测软件; 接收所述终端设备执行该软件测试任务时实时反馈的截图信息以及日志信息,并将所述截图信息以及日志信息上传至服务器端; 通过所述服务器端将所述截图信息上传至web端进行显示。
2.如权利要求1所述的软件测试方法,其特征在于:所述接收所述终端设备执行该软件测试任务时实时反馈的截图信息以及日志信息,并将所述截图信息以及日志信息上传至服务器端的步骤中,所述截图信息仅在待测试软件的控件发生响应时进行反馈。
3.如权利要求1所述的软件测试方法,其特征在于:每隔一段预定时间接收一次所述终端设备执行该软件测试任务时实时反馈的截图信息以及日志信息,并将所述截图信息以及日志信息上传至服务器端。
4.如权利要求1所述的软件测试方法,其特征在于:所述方法进一步包括: 分析是否存在异常退出或控件无响应的日志信息; 通过所述服务器端将异常退出或控件无响应的日志信息上传至web端进行显示。
5.一种云测试系统的软件测试客户端,其特征在于,包括: 测试任务发送模块,用于接收软件测试任务,建立与所述软件测试任务对应的线程,并通过所述线程将所述软件测试任务发送给终端设备,所述软件测试任务包括安装待测软件、解析所述待测软件的控件、遍历所述待测软件的所有控件、卸载所述待测软件; 反馈信息处理模块,用于接收所述终端设备执行该软件测试任务时实时反馈的截图信息以及日志信息,并将所述截图信息以及日志信息上传至服务器端。
6.如权利要求5所述的软件测试客户端,其特征在于:所述截图信息仅在待测试软件的控件发生响应时进行反馈。
7.如权利要求5所述的软件测试客户端,其特征在于:所述客户端进一步包括: 分析模块,用于分析是否存在异常退出或控件无响应的日志信息。
8.—种云测试系统,其特征在于,包括: 客户端,包括:测试任务发送模块,用于接收软件测试任务,建立与所述软件测试任务对应的线程,并通过所述线程将所述软件测试任务发送给终端设备,所述软件测试任务包括安装待测软件、解析所述待测软件的控件、遍历所述待测软件的所有控件、卸载所述待测软件;反馈信息处理模块,用于接收所述终端设备执行该软件测试任务时实时反馈的截图信息以及日志信息; 服务器端,包括:反馈信息获取模块,用于获取所述客户端的所述截图信息以及日志信息;信息实时显示模块,用于将所述截图信息上传至web端进行显示。
9.如权利要求8所述的云测试系统,其特征在于:所述截图信息仅在待测试软件的控件发生响应时进行反馈。
10.如权利要求8所述的云测试系统,其特征在于:所述客户端进一步包括:分析模块,用于分析是否存在异常退出或控件无响应的日志信息;所述服务器端的反馈信息获取模块获取所述异常退出或控件无响应的日志信息;所述信息实时显示模块将所述异常退出或控件无 响应的日志信息上传至web端进行显示。
【文档编号】G06F11/36GK103927255SQ201310016046
【公开日】2014年7月16日 申请日期:2013年1月16日 优先权日:2013年1月16日
【发明者】徐铮 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1