一种客户端数据上传功能的测试方法及装置制造方法

文档序号:7988014阅读:172来源:国知局
一种客户端数据上传功能的测试方法及装置制造方法
【专利摘要】本发明提出一种客户端数据上传功能的测试方法及装置,其中,客户端中运行有模拟服务器,模拟服务器中存储有域名列表,域名列表中包括至少一个域名,所述方法包括以下步骤:模拟服务器对客户端向域名列表中域名发送的上传消息进行监听及拦截;模拟服务器对上传消息进行解析并将解析之后的上传消息作为测试数据存储至数据库;模拟服务器根据上传消息生成响应消息并将响应消息发送至客户端;模拟服务器根据数据库中存储的测试数据对客户端的数据上传功能进行测试。本发明通过使用模拟服务器,在本地进行客户端软件的上传测试,自动化分析待测项目是否正确,节约了设备成本和人力成本。
【专利说明】一种客户端数据上传功能的测试方法及装置
【技术领域】
[0001]本发明涉及互联网用户交互【技术领域】,特别涉及一种客户端数据上传功能的测试方法及装置。
【背景技术】
[0002]现在很多的互联网软件,都会在用户使用过程中,上传一些本地暂存的信息,例如用户的硬件配置及操作系统版本、用户获得该产品的渠道信息等。
[0003]在对这些网络上传功能进行测试时,常规的方法都是在局域网内部架设好线下服务器,然后待客户端上报完毕时,再通过服务器上记录的日志内容进行逐项人工筛选和分析,以此来确认上传功能的正确性。整个过程繁琐而且容易出错,测试效率低。具体过程如图2所示,图2中,右侧为服务器端,通常都有特定的服务程序负责处理来自客户端的不同请求。构建这种线下环境来验证客户端软件上传功能时,存在如下不可避免的弊端:
[0004]I)服务器端若存在较多服务程序时,服务程序输出的日志繁多,难于筛选出对当前测试有意义的信息;
[0005]2)需要一个或多个实体机支持,这样就存在着资源浪费,硬件成本较高;
[0006]3)服务器端和客户端软件互通数据时,需要关注同步问题,所以联调效率低; [0007]4)上传、下载数据时,需要网络支撑,对网络稳定性要求高。

【发明内容】

[0008]本发明旨在至少在一定程度上解决上述技术问题之一或至少提供一种有用的商业选择。
[0009]为此,本发明的第一个目的在于提出一种客户端数据上传功能的测试方法,通过使用模拟服务器,在本地进行客户端软件的上传测试,自动化分析待测项目是否正确。本发明的第二个目的在于提出一种客户端数据上传功能的测试装置。
[0010]为达到上述目的,本发明第一方面的实施例提出了一种客户端数据上传功能的测试方法,包括以下步骤:所述模拟服务器对所述客户端向所述域名列表中域名发送的上传消息进行监听及拦截;所述模拟服务器对所述上传消息进行解析并将解析之后的上传消息作为测试数据存储至数据库;所述模拟服务器根据所述上传消息生成响应消息并将所述响应消息发送至所述客户端;所述模拟服务器根据所述数据库中存储的测试数据对所述客户端的数据上传功能进行测试。
[0011 ] 根据本发明实施例的客户端数据上传功能的测试方法,可以根据待测试软件的特有功能对模拟服务器进行配置,具有灵活性高、针对性强、轻量级应用等特点,并提供自动化分析待测项目的是否正确的功能,从而大大降低了服务器环境部署成本和测试人力投入成本。
[0012]在本发明的一个实施例中,所述数据上传功能为云输入法的上传功能。
[0013]在本发明的一个实施例中,所述响应消息中包括待返回数据。[0014]在本发明的一个实施例中,所述待返回数据包括网址、网页文件、程序或结果数据中的一种或多种。
[0015]本发明第二方面的实施例提出了一种客户端数据上传功能的测试装置,包括:监听模块,用于对所述客户端向所述域名列表中域名发送的上传消息监听及拦截;解析模块,用于对所述上传消息进行解析,并将解析之后的上传消息作为测试数据存储至数据库;反馈模块,用于根据所述上传消息生成响应消息并将所述响应消息发送至所述客户端;测试模块,用于根据所述数据库中存储的测试数据对所述客户端的数据上传功能进行测试。
[0016]根据本发明实施例的客户端数据上传功能的测试装置,可以根据待测试软件的特有功能对模拟服务器进行配置,具有灵活性高、针对性强、轻量级应用等特点,并提供自动化分析待测项目的是否正确的功能,从而大大降低了服务器环境部署成本和测试人力投入成本。
[0017]在本发明的一个实施例中,所述数据上传功能为云输入法的上传功能。
[0018]在本发明的一个实施例中,所述响应消息中包括待返回数据。
[0019]在本发明的一个实施例中,所述待返回数据包括网址、网页文件、程序或结果数据中的一种或多种。
[0020]本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
【专利附图】

【附图说明】 [0021]本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
[0022]图1为本发明一个实施例的客户端数据上传功能的测试方法的流程图;
[0023]图2为传统的客户端软件上传数据至服务器的示意图;
[0024]图3为本发明一个实施例的采用模拟服务器对客户端软件进行上传测试的示意图;以及
[0025]图4为本发明一个实施例的客户端数据上传功能的测试装置的示意图。
【具体实施方式】
[0026]下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
[0027]下文的公开提供了许多不同的实施例或例子用来实现本发明的不同结构。为了简化本发明的公开,下文中对特定例子的部件和设置进行描述。当然,它们仅仅为示例,并且目的不在于限制本发明。此外,本发明可以在不同例子中重复参考数字和/或字母。这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施例和/或设置之间的关系。此外,本发明提供了的各种特定的工艺和材料的例子,但是本领域普通技术人员可以意识到其他工艺的可应用于性和/或其他材料的使用。另外,以下描述的第一特征在第二特征之“上”的结构可以包括第一和第二特征形成为直接接触的实施例,也可以包括另外的特征形成在第一和第二特征之间的实施例,这样第一和第二特征可能不是直接接触。[0028]在本发明的描述中,需要说明的是,除非另有规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是机械连接或电连接,也可以是两个元件内部的连通,可以是直接相连,也可以通过中间媒介间接相连,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。
[0029]参照下面的描述和附图,将清楚本发明的实施例的这些和其他方面。在这些描述和附图中,具体公开了本发明的实施例中的一些特定实施方式,来表示实施本发明的实施例的原理的一些方式,但是应当理解,本发明的实施例的范围不受此限制。相反,本发明的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。
[0030]下面分别参考图1至图3对本发明实施例的客户端数据上传功能的测试方法的流程进行描述。在本发明实施例中,客户端中运行有模拟服务器,其中,模拟服务器中存储有域名列表,域名列表中包括至少一个域名,域名列表中的域名与客户端软件的上传、下载功能相关。
[0031]如图1所示,根据本发明第一方面实施例的客户端数据上传功能的测试方法,包括以下步骤:
[0032]SlOl:模拟服务器对客户端向域名列表中域名发送的上传消息进行监听及拦截。
[0033]在本发明的一个实施例中,如图3所示,模拟服务器中包括监听模块、解析模块、反馈模块和测试模块。
[0034]具体地,监听模块将与客户端软件上传、下载功能相关的域名映射到本地,并负责监听这些域名,这样,无论客户端是通过get还是post方式对实体机测试服务器进行连接,监听模块都可以识别对应的请求并进行拦截,将这些连接请求转移到模拟服务器中。
[0035]S102:模拟服务器对上传消息进行解析并将解析之后的上传消息作为测试数据存储至数据库。
[0036]模拟服务器的解析模块对上传消息进行解析的过程,主要包括解析客户端发送的URL (Uniform/Universal Resource Locator,统一资源定位符),并按照协议规则将请求字段自动进行分离,按照HTTP请求类型(是get方式还是post方式),在本地数据库中查找待返回的数据并加以标记,其中,待返回数据包括但并不仅限于:网址、网页文件、程序或结果数据中的一种或多种或它们之间的组合。
[0037]本发明的一个具体实施例中,数据上传功能为云输入法的上传功能,待返回数据中,网址URL中可包括多个字段的数值,网页可以是特定的HTML (Hypertext MarkupLanguage,超文本标记语言)网页,程序可以是指定的可执行程序exe等,例如:
[0038]I)在卸载输入法时,完成卸载时,服务器会向客户端返回一个URL,客户端同时调用浏览器自动打开该URL,用来调查用户卸载该软件的原因。
[0039]2)在某些节日到来时,客户端会向服务器端请求一个带有纪念意义的HTML网页,服务器端将此网页文件返回时,本地输入法程序就可以在右下角弹出小窗来展示。
[0040]3)当本地的客户端需要升级新版本时,会从服务器端请求新的安装包的exe文件,服务器返回该exe文件后,本地客户端就可以在后台升级为最新版了。
[0041]解析完成后,模拟服务器将解析之后的上传消息作为测试数据存储至数据库。
[0042]S103:模拟服务器根据上传消息生成响应消息并将响应消息发送至客户端。
[0043]模拟服务器选择S102步骤中根据上传消息标记的相应的待返回数据,并将待返回数据封装在响应消息中,由反馈模块将该响应消息发送至客户端。
[0044]S104:模拟服务器根据数据库中存储的测试数据对客户端的数据上传功能进行测试。
[0045]在SlOf S103步骤完成后,测试模块即可根据数据库中存储的测试数据对客户端的数据上传功能进行测试。在传统的实体机测试服务器中,需要向各种不同的待测软件及程序,以及同一软件或程序的不同版本都提供待返回数据,因此服务器运行及人力维护成本都比较高。而模拟服务器是运行在客户端的,因而可以针对客户端待测的具体软件或程序对模拟服务器的各个模块进行设置,可以灵活地对模拟服务器进行精简,从而节省了成本。
[0046]根据本发明实施例的客户端数据上传功能的测试方法,可以根据待测试软件的特有功能对模拟服务器进行配置,具有灵活性高、针对性强、轻量级应用等特点,并提供自动化分析待测项目的是否正确的功能,从而大大降低了服务器环境部署成本和测试人力投入成本。[0047]为了实现上述实施例,本发明还提出一种客户端数据上传功能的测试装置。
[0048]如图4所示,根据本发明第二方面的实施例的客户端数据上传功能的测试装置,包括:监听模块410、解析模块420、反馈模块430和测试模块440。在本发明的一个实施例中,如图3所示,客户端数据上传功能的测试装置为模拟服务器,模拟服务器中存储有域名列表,域名列表中包括至少一个域名,域名列表中的域名与客户端软件的上传、下载功能相关。图3为采用模拟服务器对客户端软件进行上传测试的示意图。
[0049]监听模块410用于对客户端向域名列表中域名发送的上传消息监听及拦截。具体地,监听模块410将与客户端软件上传、下载功能相关的域名映射到本地,并负责监听这些域名,这样,无论客户端是通过get还是post方式对服务器进行连接,监听模块410都可以识别对应的请求并进行拦截,将这些连接请求转移到模拟服务器中。
[0050]解析模块420用于对上传消息进行解析,并将解析之后的上传消息作为测试数据存储至数据库。解析模块420进行解析的过程,主要包括解析客户端发送的URL,并按照协议规则将请求字段自动进行分离,按照HTTP请求类型(是get方式还是post方式),在本地数据库中查找待返回的数据并加以标记,其中,待返回数据包括但并不仅限于:网址、网页文件、程序或结果数据中的一种或多种或它们之间的组合。
[0051]本发明的一个具体实施例中,数据上传功能为云输入法的上传功能,待返回数据中,网址URL中可包括多个字段的数值,网页可以是特定的HTML网页,程序可以是指定的可执行程序exe等,例如:
[0052]I)在卸载某些软件时,完成卸载时,服务器会向客户端返回一个URL,客户端同时调用浏览器自动打开该URL,用来调查用户卸载该软件的原因。
[0053]2)在某些节日到来时,客户端会向服务器端请求一个带有纪念意义的HTML网页,服务器端将此网页文件返回时,本地就可以右下角弹出小窗来展示。
[0054]3)当本地的客户端需要升级新版本时,会从服务器端请求新的安装包的exe文件,服务器返回该exe文件后,本地客户端就可以在后台升级为最新版了。
[0055]反馈模块430用于根据上传消息生成响应消息并将该响应消息发送至客户端。具体地,反馈模块430将解析模块420标记处的待返回数据封装在响应消息中,将该响应消息发送至客户端。
[0056]测试模块440用于根据数据库中存储的测试数据对客户端的数据上传功能进行测试。在传统的服务器中,需要向各种不同的待测软件及程序,以及同一软件或程序的不同版本都提供待返回数据,因此服务器运行及人力维护成本都比较高。而模拟服务器是运行在客户端的,因而可以针对客户端待测的具体软件或程序对模拟服务器的各个模块进行设置,可以灵活地对模拟服务器进行精简,从而节省了成本。
[0057]根据本发明实施例的客户端数据上传功能的测试装置,可以根据待测试软件的特有功能对模拟服务器进行配置,具有灵活性高、针对性强、轻量级应用等特点,并提供自动化分析待测项目的是否正确的功能,从而大大降低了服务器环境部署成本和测试人力投入成本。
[0058]流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属【技术领域】的技术人员所理解。
[0059]在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质 的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(R0M),可擦除可编辑只读存储器(EPR0M或闪速存储器),光纤装置,以及便携式光盘只读存储器(⑶ROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
[0060]应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
[0061]本【技术领域】的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
[0062]此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
[0063]上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0064]在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
[0065] 尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同限定。
【权利要求】
1.一种客户端数据上传功能的测试方法,其特征在于,所述客户端中运行有模拟服务器,其中,所述模拟服务器中存储有域名列表,所述域名列表中包括至少一个域名,所述方法包括以下步骤: 所述模拟服务器对所述客户端向所述域名列表中域名发送的上传消息进行监听及拦截; 所述模拟服务器对所述上传消息进行解析并将解析之后的上传消息作为测试数据存储至数据库; 所述模拟服务器根据所述上传消息生成响应消息并将所述响应消息发送至所述客户端;以及 所述模拟服 务器根据所述数据库中存储的测试数据对所述客户端的数据上传功能进行测试。
2.如权利要求1所述的客户端数据上传功能的测试方法,其特征在于,所述数据上传功能为云输入法的上传功能。
3.如权利要求1或2所述的客户端数据上传功能的测试方法,其特征在于,所述响应消息中包括待返回数据。
4.如权利要求1-3任一项所述的客户端数据上传功能的测试方法,其特征在于,所述待返回数据包括网址、网页文件、程序或结果数据中的一种或多种。
5.一种客户端数据上传功能的测试装置,其特征在于,所述测试装置运行在所述客户端中,其中,所述测试装置中存储有域名列表,所述域名列表中包括至少一个域名,所述测试装置包括: 监听模块,用于对所述客户端向所述域名列表中域名发送的上传消息监听及拦截; 解析模块,用于对所述上传消息进行解析,并将解析之后的上传消息作为测试数据存储至数据库; 反馈模块,用于根据所述上传消息生成响应消息并将所述响应消息发送至所述客户端;以及 测试模块,用于根据所述数据库中存储的测试数据对所述客户端的数据上传功能进行测试。
6.如权利要求5所述的客户端数据上传功能的测试装置,其特征在于,所述数据上传功能为云输入法的上传功能。
7.如权利要求5或6所述的客户端数据上传功能的测试装置,其特征在于,所述响应消息中包括待返回数据。
8.如权利要求5-7任一项所述的客户端数据上传功能的测试装置,其特征在于,所述待返回数据包括网址、网页文件、程序或结果数据中的一种或多种。
【文档编号】H04L29/08GK103905258SQ201210568490
【公开日】2014年7月2日 申请日期:2012年12月24日 优先权日:2012年12月24日
【发明者】肖迪 申请人:百度国际科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1