[发明专利]校正失效脚本的方法和设备在审
申请号: | 201310532298.6 | 申请日: | 2013-10-30 |
公开(公告)号: | CN104598374A | 公开(公告)日: | 2015-05-06 |
发明(设计)人: | 邢振宇;涂子琰;王夕宁;张骐;孔毅 | 申请(专利权)人: | 国际商业机器公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 中国国际贸易促进委员会专利商标事务所 11038 | 代理人: | 边海梅 |
地址: | 美国*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 校正 失效 脚本 方法 设备 | ||
技术领域
本发明总体上涉及web应用的领域,特别地,涉及在web应用的测试领域中校正失效脚本的方法和设备。
背景技术
随着web应用的流行,更高效的web应用测试变得越来越重要。具体而言,无论是在功能测试还是性能测试中,更高效的web应用测试自动化变得越来越重要。通常的方法是利用现有的web应用自动化测试工具,例如RPT(Rational Performance Tester)、Silk Performer、LoadRunner,来生成自动化测试脚本(在本文中简称“脚本”),以测试web应用。然而,脚本通常包括由后端系统支持的场景信息。在当前的开发模型中,web应用对于不同的架构频繁地更新,这经常会使得现有的脚本不再有效。此外,研究表明,大约70%至80%的脚本失效是由无效的数据关联引起的。
以下将使用顾客登录到在线商店购物的场景为例说明数据关联以及数据关联无效的情形。
假定顾客登陆到在线商店购买产品。以下参照图7来描述该情景。对于web应用和服务器来说,当顾客选择物品并且点击“添加到购物车”按钮时,将生成添加到购物车请求(在图7中被示出为URL),并且这一请求被发送到服务器。在后端生成针对这一操作的订单ID(orderId)。服务器生成针对该请求的响应(例如,图7中所示的添加到购物车请求的响应)、并且在该响应中显示所生成的订单ID,例如在该示例中为10503。
在用户选择完需要购买的物品,继而通过点击“结账”按钮而进行结账时,将生成结账请求(在图7中被示出为URL),并且这一请求被发送给服务器。服务器然后生成针对这一请求的响应,在该响应中需要使用先前生成的订单ID。也就是说,结账请求中的订单ID需要依赖于针对添加到购物车请求生成的响应中的订单ID,以使得顾客能够正确地完成其购物流程。
在使用自动脚本来模拟顾客的上述操作时,首先,测试工具捕获上述的添加到购物车请求及其响应。然后,测试工具将后续结账请求需要使用到的动态变化的变量,在本示例中例如为订单ID,创建为引用。此时,为该引用生成正则表达式,使得这一引用(在该示例中为订单ID)的值可以作为关键参数之一被转发到之后的结账请求。使用所生成的正则表达式,可以从添加到购物车请求的响应内容中过滤出想要获取的特定部分,在该示例中例如为订单ID。继而在生成针对后续结账请求的响应时,可以使用该正则表达式获得针对引用订单ID的值,例如为10503,以生成结账请求的正确响应。在此,将需要为后续请求以及其响应使用的值对应的变量(在本示例中例如为订单ID)建立引用(此时,生成正则表达式),然后将该引用与后续请求中的参数关联的完整过程称为数据关联。在本文中,为方便起见,以正则表达式表示数据关联。
然而,在web应用领域中,经常出现如下情形。例如,web应用的开发人员修改了源代码中的元素名称。例如,开发人员将元素名称从“orderId”修改为“ord_Id”时。以下将参看图8描述这种情况。在测试工具使用先前录制的脚本来进行web应用的测试时,先前录制的脚本中的数据关联将变得无效,这是由于引用的名称已经从“orderId”修改为“ord_Id”,因此,使用之前生成的正则表达式<orderld>([0-9]+)</orderld>,不能获得引用(订单ID)的正确值,如图8所示。也就是说,利用先前录制的脚本中的数据关联,将只能为引用(订单ID)获得空值,这将使得利用该引用的值来生成响应的结账请求不能得到正确的值,从而服务器为结账请求生成正确的结账响应。在这种情况下,由于发生了由于无效的数据关联导致的脚本失效,从而使得测试工具不能利用该先前录制而现在已经失效的脚本来测试web应用。
在发生如上所述的脚本失效时,现有的测试工具,例如RPT、Silk Performer、LoadRunner等一般需要重新录制脚本,以解决导致很多问题的改变。具体而言,现有方案将需要重新录制脚本,并且重新编写脚本的失效部分,从而使得整个测试脚本和场景能够在更新的架构上成功完成。现有方案的挑战在于,需要具有丰富的脚本诊断和定位技术的脚本维护工程师一步一步地理解失效场景、标识脚本问题、然后重新录制并且重新编写脚本,这将耗费大量的时间。
因此,需要一种有效的失效脚本校正方法,以克服现有技术的上述缺陷。
发明内容
本发明的一个目的在于,在发生由于无效的数据关联导致的脚本失效时,找到与无效的数据关联对应的无效引用的正确值,以使得失效脚本能够正确运行。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国际商业机器公司,未经国际商业机器公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310532298.6/2.html,转载请声明来源钻瓜专利网。