一种Web系统测试方法及装置制造方法及图纸

技术编号:8161475 阅读:169 留言:0更新日期:2013-01-07 19:30
本申请公开了一种Web系统测试方法及装置。一种Web系统测试方法包括:接收测试用例的执行触发,所述测试用例为针对被测系统的测试用例;根据所述测试用例中所包含的运行于非被测系统的流程,选择与所述运行于非被测系统的流程所对应的流程封装包,并利用所选择的流程封装包构成测试序列;所述流程封装包内,包括基于网络协议进行封装的针对非被测系统的操作;执行所述测试序列;将测试序列的执行结果转换为被测系统可识别的信息。应用上述方案预先将与被测系统无关的操作流程以网络协议的形式封装起来,通过执行流程封装包自动从其他的系统获得测试所需的数据或状态,以避免或减少测试人员对这些与测试对象无关第三方系统的操作,提高整体测试效率。

【技术实现步骤摘要】

本申请涉及互联网应用
,特别是涉及一种Web系统测试方法及装置
技术介绍
在网站的开发和调试过程中,对开发内容的测试工作尤其重要。目前,很多网站的功能变得越来越完善,相应的测试工作也就变得更为复杂。面对日益复杂的测试需求,相应也出现了很多种自动化测 试工具,以提高测试效率。现有技术中,一种常用的Web自动化测试方法是基于页面元素操控的自动化测试方法,这种方法通过录制分析、代码定位等手段操控网页元素,来达到模拟用户操作的目的,这类测试工具包括Selenium、Watir等。但是,这种测试方法存在的问题是需要模拟完整的用户操作流程,即便对于测试者并不关心的部分,也必须在测试用例中实现。例如,对于电子商务应用,当前需要对第三方的中介支付系统进行测试,由于支付系统本身要和各种外部系统打交道,例如购物网站系统、网上银行系统等等,这些系统内部的操作是支付系统所不必关心的,对于支付系统的测试而言,需要关心的内容是其自身内部的核心逻辑,以及与这些外部系统之间的接口,但是在实际的测试过程中,测试人员往往先要在这些外部系统进行许多操作,才能完成测试前的准备,以走到预期的逻辑测试分支。可见,现有的基于页面元素操控的自动化测试方法,应用于较大规模的Web测试时,往往需要浪费大量的时间和人力在测试本身并不关注的部分,从而导致整体的测试效率低下。
技术实现思路
为解决上述技术问题,本申请实施例提供一种Web系统测试方法及装置,以提高测试效率,技术方案如下本申请提供一种Web系统测试方法,包括接收测试用例的执行触发,所述测试用例为针对被测系统的测试用例;根据所述测试用例中所包含的运行于非被测系统的流程,选择与所述运行于非被测系统的流程所对应的流程封装包,并利用所选择的流程封装包构成测试序列;所述流程封装包内,包括基于网络协议进行封装的针对非被测系统的操作;执行所述测试序列; 将测试序列的执行结果转换为被测系统可识别的信息。根据本申请的一种实现方式,在构成测试序列之后,还包括在测试序列中添加测试参数。根据本申请的一种实现方式,所述在测试序列中添加测试参数,包括利用所述测试用例中定义的测试参数,和/或当前已完成测试进程所获得的结果,向流程封装包中的操作传递测试参数。根据本申请的一种实现方式,所述在测试序列中添加测试参数,包括为流程封装包中的操作随机生成测试参数。根据本申请的一种实现方式,所述将测试序列的执行结果转换为被测系统可识别的信息,包括创建用于模拟用户在被测系统的登录状态cookie ;根据测试序列的执行结果,获得与所创建cookie相对应的用户历史行为信息。根据本申请的一种实现方式,在将测试序列的执行结果转换为被测系统可识别的信息之后,还包括将转换后的信息发送至被测系统,以继续执行测试用例。 本申请还提供一种Web系统测试装置,包括测试用例触发模块,用于接收测试用例的执行触发,所述测试用例为针对被测系统的测试用例;测试序列构成模块,用于根据所述测试用例中所包含的运行于非被测系统的流程,选择与所述运行于非被测系统的流程所对应的流程封装包,并利用所选择的流程封装包构成测试序列;所述流程封装包内,包括基于网络协议进行封装的针对非被测系统的操作;测试序列执行模块,用于执行所述测试序列;执行结果转换模块,用于将测试序列的执行结果转换为被测系统可识别的信息。根据本申请的一种实现方式,上述装置还包括测试参数添加模块,用于在所述测试序列构成模块构成的测试序列中添加测试参数。根据本申请的一种实现方式,所述测试参数添加模块,包括测试参数传递单元,用于利用所述测试用例中定义的测试参数,和/或当前已完成测试进程所获得的结果,向流程封装包中的操作传递测试参数。根据本申请的一种实现方式,所述测试参数添加模块,包括测试参数生成单元,用于为流程封装包中的操作随机生成测试参数。根据本申请的一种实现方式,所述执行结果转换模块,包括cookie创建单元,用于创建用于模拟用户在被测系统的登录状态cookie ;信息获得单元,用于根据测试序列的执行结果,获得与所创建cookie相对应的用户历史行为信息。根据本申请的一种实现方式,,所述装置还包括信息发送模块,用于在所述执行结果转换模块将测试序列的执行结果转换为被测系统可识别的信息之后,将转换后的信息发送至被测系统,以继续执行测试用例。本申请实施例所提供的技术方案,针对测试的具体需求,预先将大量与被测系统无关的操作流程以网络协议的形式封装起来,当在测试过程中需要调用这些操作时,直接利用流程封装包构成测试序列并执行,从而能够自动从其他的系统获得测试所需的数据或状态,以避免或减少测试人员对这些与测试对象无关第三方系统的操作,提高整体的测试效率。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。图I为本申请实施例的测试体系结构示意图;图2为本申请实施例的Web系统测试方法的一种流程图;图3为本申请实施例的Web系统测试方法的第二种流程图;图4为本申请实施例的Web系统测试方法的第二种流程图; 图5为本申请实施例的Web系统测试装置的一种结构示意图;图6为本申请实施例的Web系统测试装置的第二种结构示意图;图7为本申请实施例的Web系统测试装置的第三种结构示意图。具体实施例方式首先对本申请实施例所提供的一种Web系统测试方法进行说明,该方法可以包括以下步骤接收测试用例的执行触发,所述测试用例为针对被测系统的测试用例;根据所述测试用例中所包含的运行于非被测系统的流程,选择与所述运行于非被测系统的流程所对应的流程封装包,并利用所选择的流程封装包构成测试序列;所述流程封装包内,包括基于网络协议进行封装的针对非被测系统的操作;执行所述测试序列;将测试序列的执行结果转换为被测系统可识别的信息。上述步骤的执行主体,可以是一个能够与被测系统和非被测系统进行通信的测试装置,图I所示为根据本申请实施例的测试体系结构示意图,其中测试装置100是针对被测系统200设置,目的是实现对被测系统200的自动化测试。同时,测试装置100还可以与一个或多个非被测系统300 (如图I所示的非被测系统a、非被测系统b......非被测系统η)进行交互,主要目的是触发测试流程中需要运行于这些非被测系统300的操作,将运行这些操作的请求发送至对应的非被测系统300,并且从非被测系统300获得这些操作的运行结果,从而得到对于被测系统100进行测试所需的数据或状态。在实际应用中,测试装置100与被测系统200可以位于同一实体中,例如被测系统200所在的服务器;测试装置100也可以是独立于被测系统200的实体,例如,采用一独立的测试终端对被测系统200所在的服务器进行测试,该测试终端与被测系统200可以直接连接或通过网络进行连接。此外,在实际应用中,被测系统200与各个非被测系统300 —般对应着网络中的不同系统,例如电子商务应用中所涉及的购物网站系统、中介支付系统、网上银行系统等等,测试装置100 —般是通过网络与各个非被测系统300连接,而在流程封装包中所封装的本文档来自技高网...

【技术保护点】
一种Web系统测试方法,其特征在于,包括:接收测试用例的执行触发,所述测试用例为针对被测系统的测试用例;根据所述测试用例中所包含的运行于非被测系统的流程,选择与所述运行于非被测系统的流程所对应的流程封装包,并利用所选择的流程封装包构成测试序列;所述流程封装包内,包括基于网络协议进行封装的针对非被测系统的操作;执行所述测试序列;将测试序列的执行结果转换为被测系统可识别的信息。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:谷云李磊
申请(专利权)人:乐活在线北京网络技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1