校正失效脚本的方法和设备的制造方法

文档序号:8282197阅读:312来源:国知局
校正失效脚本的方法和设备的制造方法
【技术领域】
[0001]本发明总体上涉及web应用的领域,特别地,涉及在web应用的测试领域中校正失效脚本的方法和设备。
【背景技术】
[0002]随着web应用的流行,更高效的web应用测试变得越来越重要。具体而言,无论是在功能测试还是性能测试中,更高效的web应用测试自动化变得越来越重要。通常的方法是利用现有的web应用自动化测试工具,例如RPT (Rat1nal Performance Tester)、SilkPerformer> LoadRunner,来生成自动化测试脚本(在本文中简称“脚本”),以测试web应用。然而,脚本通常包括由后端系统支持的场景信息。在当前的开发模型中,web应用对于不同的架构频繁地更新,这经常会使得现有的脚本不再有效。此外,研究表明,大约70%至80%的脚本失效是由无效的数据关联引起的。
[0003]以下将使用顾客登录到在线商店购物的场景为例说明数据关联以及数据关联无效的情形。
[0004]假定顾客登陆到在线商店购买产品。以下参照图7来描述该情景。对于web应用和服务器来说,当顾客选择物品并且点击“添加到购物车”按钮时,将生成添加到购物车请求(在图7中被示出为URL),并且这一请求被发送到服务器。在后端生成针对这一操作的订单ID(orderld)。服务器生成针对该请求的响应(例如,图7中所示的添加到购物车请求的响应)、并且在该响应中显示所生成的订单ID,例如在该示例中为10503。
[0005]在用户选择完需要购买的物品,继而通过点击“结账”按钮而进行结账时,将生成结账请求(在图7中被示出为URL),并且这一请求被发送给服务器。服务器然后生成针对这一请求的响应,在该响应中需要使用先前生成的订单ID。也就是说,结账请求中的订单ID需要依赖于针对添加到购物车请求生成的响应中的订单ID,以使得顾客能够正确地完成其购物流程。
[0006]在使用自动脚本来模拟顾客的上述操作时,首先,测试工具捕获上述的添加到购物车请求及其响应。然后,测试工具将后续结账请求需要使用到的动态变化的变量,在本示例中例如为订单ID,创建为引用。此时,为该引用生成正则表达式,使得这一引用(在该示例中为订单ID)的值可以作为关键参数之一被转发到之后的结账请求。使用所生成的正则表达式,可以从添加到购物车请求的响应内容中过滤出想要获取的特定部分,在该示例中例如为订单ID。继而在生成针对后续结账请求的响应时,可以使用该正则表达式获得针对引用订单ID的值,例如为10503,以生成结账请求的正确响应。在此,将需要为后续请求以及其响应使用的值对应的变量(在本示例中例如为订单ID)建立引用(此时,生成正则表达式),然后将该引用与后续请求中的参数关联的完整过程称为数据关联。在本文中,为方便起见,以正则表达式表示数据关联。
[0007]然而,在web应用领域中,经常出现如下情形。例如,web应用的开发人员修改了源代码中的元素名称。例如,开发人员将元素名称从“orderld”修改为“ord_Id”时。以下将参看图8描述这种情况。在测试工具使用先前录制的脚本来进行web应用的测试时,先前录制的脚本中的数据关联将变得无效,这是由于引用的名称已经从“orderld”修改为“ord_Id”,因此,使用之前生成的正则表达式〈orderld〉([0-9]+)〈/orderld〉,不能获得引用(订单ID)的正确值,如图8所示。也就是说,利用先前录制的脚本中的数据关联,将只能为引用(订单ID)获得空值,这将使得利用该引用的值来生成响应的结账请求不能得到正确的值,从而服务器为结账请求生成正确的结账响应。在这种情况下,由于发生了由于无效的数据关联导致的脚本失效,从而使得测试工具不能利用该先前录制而现在已经失效的脚本来测试web应用。
[0008]在发生如上所述的脚本失效时,现有的测试工具,例如RPT、Silk Performer>LoadRunner等一般需要重新录制脚本,以解决导致很多问题的改变。具体而言,现有方案将需要重新录制脚本,并且重新编写脚本的失效部分,从而使得整个测试脚本和场景能够在更新的架构上成功完成。现有方案的挑战在于,需要具有丰富的脚本诊断和定位技术的脚本维护工程师一步一步地理解失效场景、标识脚本问题、然后重新录制并且重新编写脚本,这将耗费大量的时间。
[0009]因此,需要一种有效的失效脚本校正方法,以克服现有技术的上述缺陷。

【发明内容】

[0010]本发明的一个目的在于,在发生由于无效的数据关联导致的脚本失效时,找到与无效的数据关联对应的无效引用的正确值,以使得失效脚本能够正确运行。
[0011]根据本发明的第一方面,提供了一种校正失效脚本的方法,包括:确定失效脚本中的无效引用;基于数据关系映射,确定数据库中与所述无效引用对应的存储位置,其中,所述数据关系映射指示引用与数据库中的存储位置的对应关系;查询所确定的存储位置的最新值;以及将所查询的最新值确定为所述无效引用的正确值。
[0012]根据本发明的第二方面,提供了一种用于校正失效脚本的设备,包括:无效引用确定装置,被配置为确定失效脚本中的无效引用;存储位置确定装置,被配置为基于数据关系映射,确定数据库中与所述无效引用对应的存储位置,其中,所述数据关系映射指示引用与数据库中的存储位置的对应关系;正确值查询装置,被配置为查询所确定的存储位置的最新值;以及无效引用正确值确定装置,被配置为将所查询的最新值确定为所述无效引用的正确值。
[0013]利用本发明的方法和设备,在发生由于无效的数据关联导致的脚本失效时,能够利用指示引用与数据库中的存储位置的对应关系的数据关系映射找到与无效的数据关联对应的无效引用的正确值,使得失效脚本得以正确运行,从而完成对应用的功能测试,达到校正失效脚本的目的。
【附图说明】
[0014]通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。
[0015]图1示出了适于用来实现本发明实施方式的示例性计算机系统/服务器的框图。
[0016]图2表示根据本发明一实施例的校正失效脚本的方法的流程图。
[0017]图3表示使用了根据本发明一实施例的校正失效脚本的具体示例的示意图。
[0018]图4表示根据本发明一实施例的生成数据关系映射的方法的流程图。
[0019]图5表示根据本发明一实施例的生成数据关系映射的具体示例的示意图。
[0020]图6表示根据本发明一实施例的失效脚本校正设备的框图。
[0021]图7表示了根据现有技术的使用脚本来测试web应用的示意图。
[0022]图8是例不了根据现有技术的web应用改变引起的脚本失效的不意图。
【具体实施方式】
[0023]下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
[0024]所属技术领域的技术人员知道,本发明可以实现为系统、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:可以是完全的硬件、也可以是完全的软件(包括固件、驻留软件、微代码等),还可以是硬件和软件结合的形式,本文一般称为“电路”、“模块”或“系统”。此外,在一些实施方式中,本发明还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
[0025]可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是一但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1