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

文档序号:8282197阅读:来源:国知局
述数据库语句来确定所述数据库中与所创建的引用相关联的表格;以及使用所创建的引用的实际值来遍历所确定的表格,以确定匹配的列。例如,如图5所示的添加到购物车请求,服务器针对这一请求会生成订单ID,相应的会将该生成的订单ID插入到数据库中,也即添加到购物车请求会引起向数据库插入订单ID的操作。那么通过记录相应的在数据库中进行操作的语句就可以找到订单ID的具体存储位置,从而将引用与数据库中的存储位置对应起来。
[0067]在一个示例中,根据所述数据库语句来确定所述数据库中与所创建的引用相关联的表格包括以下步骤。
[0068]首先,确定所述数据库语句涉及的表格。数据库语句描述对数据库中的存储位置的操作,例如图5中所示的SQL语句表明将值插入到ORDERS表格中。因此,确定数据库语句涉及的表格能够确定可能与所创建的引用相关联的表格,也就是哪些表格可能存储所创建的引用的值。
[0069]接着,从所确定的表格中滤除所有非插入语句涉及的表格。由于非插入语句表明未将值插入到数据库中的存储位置中,因此,非插入语句所涉及的表格与所创建的引用不相关联。
[0070]接着,基于所创建的引用的属性,滤除余下的表格中与所创建的引用不相关联的表格。例如,如果所创建的引用为订单ID,则记录账户信息、访问次数等信息的表格与订单的ID这一属性必然不相关,那么记录账户信息、访问次数等的表格就属于与引用不相关联的表格,因此这些表格将被作为不相关联的表格被滤除。
[0071]最后,将剩余的表格确定为与所创建的引用相关联的表格。在某些情况下,所确定的与所创建的引用相关联的表格可能是若干个表格。
[0072]在另一示例中,与弓丨用相关联的表格还可以通过如下方式来确定。
[0073]例如,滤除数据库语句中的非插入语句;确定插入语句涉及的表格;基于所创建的引用的属性,从所确定的表格中滤除与所创建的引用不相关联的表格;以及将余下的表格确定为与引用相关联的表格。
[0074]在确定了与所创建的引用相关联的表格之后,使用所创建的引用的实际值来遍历所确定的表格,以确定与所述实际值匹配的列。
[0075]在图5所示的示例中,例如,使用引用referenceOOl的实际值10503,来遍历所确定的ORDERS表格,以确定引用ref erenceOO I在ORDERS表格中的匹配的列为0RDERS_ID列。也就是说,引用与数据库中的ORDERS表格的0RDERS_ID列对应。
[0076]以上以关系型数据库(该数据库以表格形式存储数据)为例子说明了如何确定引用与数据库中的存储位置(例如,在该示例中为某一表格的某一列)的对应关系。然而,本领域技术人员理解,数据库并不限于以上列举的形式,而是可以是其他类型的数据库,只要引用与数据库中的存储位置存在对应关系。其他类型的数据库例如层次式数据库和网络式数据库,并且对应的存储位置例如为节点。
[0077]最后,基于所确定的对应关系生成所述数据关系映射(步骤S404)。
[0078]在图5所示的示例中,基于在步骤S402中确定的对应关系(例如,ORDERS表格的0RDERS_ID列)生成表示引用(例如,referenceOOl)与数据库中的表格的列的对应关系的数据关系映射。
[0079]在图5所示的示例中,与图3类似,指示对应关系的数据关系映射采用了表格的形式。然而,本领域技术人员可以理解,数据映射关系可以采取其他任意适当的形式,例如文件。
[0080]在图5所示的示例中,与图3类似,指示对应关系的数据关系映射包括4列,例如,引用ID、数据关联、表格名称以及列名称。然而本领域技术人员可以理解,该数据关系映射可以包括更多或者更少的列。例如,指示数据关联的列可以不包括在数据关系映射中,而是存储在其他位置处。此外,在该数据关系映射中仅示出了一个引用(例如,referenceOOl),然而,本领域技术人员可以理解,根据需要,数据关系映射可以包括更多的引用。
[0081]利用上述数据关系映射,在发生由于无效的数据关联引起的脚本失效时,可以通过访问数据库中的对应存储位置找到与无效的数据关联对应的无效引用的正确值,并且进一步利用该正确值对失效脚本进行校正。
[0082]以上参照图5具体描述了在关系型数据库的情况下如何生成数据关系映射的具体示例。然而,本领域技术人员可以理解,数据关系映射可以是先前存储的或者根据其他方法生成的数据关系映射。
[0083]在一个示例中,方法200还可包括记录访问web应用的请求和其响应,以及由该请求引起的在数据库中进行操作的数据库语句,以供在方法200的其他步骤使用。本领域技术人员可以理解,还可以通过访问web应用的系统日志来获取上述请求、响应以及由请求引起的在数据库中进行操作的数据库语句。
[0084]具体而言,在用于测试web应用的脚本的录制阶段,用户点击web应用的各种功能按钮,以生成请求(例如,图5中所示的URL),该请求被发送给服务器。作为响应,服务器生成对于该请求的响应。在图5的示例中,该响应包括订单ID10503。同时,每个请求触发服务器调用应用程序,应用程序处理该请求时会产生相应的数据库语句来操作数据库,例如产生插入语句,以将请求中的变量对应的数据插入到数据库中的存储位置。
[0085]在上述操作期间,测试工具或者系统的其他部件记录每个请求和响应。对应于包括请求及其响应的所有信息例如被记录为文件形式。此外,测试工具或者系统的其他部件还记录在上述操作期间由每个请求引起的所有数据库语句。
[0086]在本文所述例子中,描述了测试工具或者系统的其他部件记录由请求引起的所有数据库语句,然后在确定引用与数据库中的存储位置的对应关系时滤除非插入语句涉及的表格。然而,本领域技术人员可以理解,可以仅记录插入语句。相应地,在确定引用与数据库中的存储位置的对应关系时,可以省略滤除步骤。
[0087]图6表示根据本发明一实施例的失效脚本校正设备600。设备600包括:无效引用确定装置602,被配置为确定失效脚本中的无效引用;存储位置确定装置604,被配置为基于数据关系映射,确定数据库中与所述无效引用对应的存储位置,其中,所述数据关系映射指示引用与数据库中的存储位置的对应关系;正确值查询装置606,被配置为查询所确定的存储位置的最新值;以及无效引用正确值确定装置608,被配置为将所查询的最新值确定为所述无效引用的正确值。
[0088]利用本发明的设备,在发生由于无效的数据关联导致的脚本失效时,能够利用指示引用与数据库中的存储位置的对应关系的数据关系映射而在数据库中找到与无效的数据关联对应的无效引用的正确值,以使得脚本能够正确运行,完成对web应用功能测试(即,单用户模式对web应用进行的测试),从而实现对脚本进行校正的目的。
[0089]在一个示例中,设备600还包括:定位装置,被配置为使用所确定的正确值来搜索所述无效引用对应的响应,以定位所述正确值在所述响应中的位置;数据关联更新装置,被配置为根据所定位的位置以及所述位置的上下文来为所述无效引用创建数据关联,并且使用所创建的数据关联来更新所述无效引用对应的无效的数据关联。
[0090]利用本发明的设备,能够利用无效引用的正确值来定位正确值在无效引用对应的响应中的位置、利用定位的位置及该位置的上下文来创建数据关联、并且使用所创建的数据关联来更新无效的数据关联。在更新失效脚本的无效的数据关联之后,脚本得到了进一步校正。该校正后的脚本在后续使用时,可对web应用进行功能测试(例如,单用户进行测试)和性能测试(例如,多用户并发进行测试),同时也无需再访问数据库。
[0091]利用本发明的设备,在发生由于无效引用,即无效的数据关联导致的脚本失效时,并不需要重新编写脚本,而是基于指示引用与数据库中的存储位置关系的对应关系的数据关系映射,在数据库中找到与无效的数据关联对应的无效引用的正确值。在得到正确值之后,利用该正确值来搜索无效引用对应的响应,据此创建数据关联并且用所创建的数据关联来更新无效的数据
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1