在Web服务的功能测试中提供上下文的制作方法

文档序号:9264688阅读:485来源:国知局
在Web服务的功能测试中提供上下文的制作方法
【技术领域】
[0001]本发明涉及web服务功能测试的领域。特别地,本发明涉及在Web服务的功能测试中提供上下文。
【背景技术】
[0002]Web服务是网站的重要基石,为Web应用以及其他Web服务提供在线功能。因此,Web服务已经成为包括安全测试、typestate检查等等在内的功能测试的重要课题。
[0003]Web服务测试时的一个重要挑战是确保测试载荷达到Web服务的业务逻辑。否贝1J,如果载荷是无效的,那么Web方法通常报告SOAP (简单对象访问协议)故障,而提交(submitting)载荷则产生不了多少增益。
[0004]Web方法拒绝一个输入的最普遍的原因之一是,该方法在其适当的上下文之外被调用。例如,要让“DeleteCustomer”方法处理其输入数据,就必须在调用相应的“ CreateCustomer ”之后再调用该方法。
[0005]现有的Web服务测试工具不支持这个上下文问题。用于确定Web方法的调用顺序的策略大多是任意的,例如,顺序地调用Web服务的WSDL(Web服务描述语言)文件中的所有Web方法。
[0006]这导致很多情况下测试错过重要的问题(例如,关键的安全漏洞),仅仅就是因为在先决条件没有满足的情况下就调用方法,而导致输入数据直接被拒绝。
[0007]因此,现有技术中需要解决上述问题。

【发明内容】

[0008]按照本发明的第一方面,提供一种用于在web服务的功能测试中提供上下文的方法,包含:利用web方法名称的语义分析把它们划归入定义web上的交互流的预定义类别;根据web方法的类别,以为测试该web方法提供合适的上下文的方法序列的形式为该web方法创建合适的上下文。
[0009]所述定义web上的交互流的预定义类别是“创建”(create)、“检索”(retrieve)、“更新”(update)或“删除”(delete)操作的类别。
[0010]所述利用web方法名称的语义分析把它们划归入定义web上的交互流的预定义类别包含:接收具有多个方法的文件;按照方法的后缀将这些方法分组;语义分析给定后缀组中的每个方法的前缀,以把前缀归类于定义web上的交互流的预定义类别的其中之一。[0011 ] 所述按照方法的后缀将这些方法分组可以优化每个方法的后缀之间的相似度最大的组的最小数量。
[0012]该方法可包含:为每个前缀的归类确定一置信度计分;和通过去除具有低置信度计分前缀的方法的类别,过滤低置信度计分。
[0013]该方法可进一步包含:对输入方法进行迭代,用前缀的类别映射到一个方法序列。该方法序列可以是同一后缀组中的其它方法的序列。
[0014]如果某方法的类别是“删除”类,该方法可包含建立形式为创建-删除、创建-更新-删除、创建-检索-删除、创建-更新-检索-删除和创建-检索-更新-删除的序列,其中,创建、更新、检索方法用在相同后缀组中的以这些类别分类的方法填充。
[0015]如果某方法的类别是“更新”类,该方法可包含建立形式为创建-更新、创建-检索-更新的序列,其中,创建、检索方法用在相同后缀组中的以这些类别分类的方法填充。
[0016]如果某方法的类别是“检索”类,该方法可包含建立形式为创建-检索、创建-更新-检索的序列,其中,创建、更新方法用在相同后缀组中的以这些类别分类的方法填充。
[0017]如果某方法的类别是“创建”类,则可以不建立序列。
[0018]如果某方法没有类别,该方法可包含建立用在相同后缀组中的类别分类的方法填充的方法的随机序列。
[0019]按照本发明的第二方面,提供一种用于在web服务的功能测试中提供上下文的系统,包含:方法上下文组件,用于利用web方法名称的语义分析把它们划归入定义web上的交互流的预定义类别,以及根据web方法的类别,以为测试该web方法提供合适的上下文的方法序列的形式为该web方法创建合适的上下文。
[0020]所述定义web上的交互流的预定义类别可以是“创建”、“检索”、“更新”或“删除”操作的类别。
[0021]所述方法上下文组件可包含:文件输入组件,用于接收具有多个方法的文件;后缀分组组件,用于按照方法的后缀将这些方法分组;前缀分类组件,用于语义分析给定后缀组中的每个方法的前缀,以把前缀归类于定义web上的交互流的预定义类别的其中之一。
[0022]所述后缀分组组件可按照方法的后缀将这些方法分组,优化每个方法的后缀之间的相似度最大的组的最小数量。
[0023]所述方法上下文组件包含:前缀置信度计分组件,用于为每个前缀的归类确定一置信度计分;和过滤组件,用于通过去除具有低置信度计分前缀的方法的类别,过滤低置信度计分。
[0024]该系统可包含方法映射组件,用于在输入方法上进行迭代,用前缀的类别映射到一个方法序列。
[0025]该方法序列可以是同一后缀组中的其它方法的序列。
[0026]按照本发明的第三方面,提供一种用于在web服务的功能测试中提供上下文的计算机程序产品,该计算机程序产品包含:处理电路可读的计算机可读存储介质,其存储有由处理电路执行以执行按照本发明的第一方面的方法的指令。
[0027]按照本发明的第四方面,提供一种计算机程序,存储在计算机可读介质上并可装入数字计算机的内存,包含当所述程序在计算机上运行时执行按照本发明的第一方面的方法的软件代码部分。
[0028]按照本发明的第五方面,提供一种实质上如参照附图所述的方法。
[0029]按照本发明的第六方面,提供一种实质上如参照附图所述的系统。
[0030]本发明的所述各方面具有通过提供web方法的上下文而提供更有效的web服务的优点。
【附图说明】
[0031]在说明书结尾部分特别地指出并清楚地以权利要求的形式提出被视为本发明的主题。本发明的组织和操作方法以及本发明的目的、特点和优点,可以通过阅读参照附图以下的详细说明而得到最好的理解。
[0032]现在将仅通过举例,参照以下附图来描述本发明的优选实施方式,附图中:
[0033]图1是按照本发明的方法的示例性实施例的流程图;
[0034]图2是按照本发明的方法的一个方面的示例性实施例的流程图;
[0035]图3A和3B表示按照本发明的方法的实施例的示意图;
[0036]图4是按照本发明的系统的示例性实施例的框图;和
[0037]图5是在其中可以实现本发明的计算机系统的实施例的框图。
【具体实施方式】
[0038]应当明白,为了说明的简要和清楚,图中所示的元件未必是按比例绘制的。例如,为了清楚,可能夸大了有些元件相对于其它元件的尺寸。此外,在适当的情况下,附图标记在附图中有所重复,以指示对应的或类似的特征。
[0039]在以下的详细说明中,给出了众多的具体细节,以便于彻底地理解本发明。然而所属技术领域的树林人员应当明白,本发明可以脱离这些具体细节而实现。在其它情况中,众所周知的方法、过程和组件未予详细说明,以便突出本发明。
[0040]本发明提供的方法和系统所要解决的问题,是为调用web方法创建适当的上下文,使得主体方法的测试始于使得能够访问该方法控制的业务逻辑的可允许上下文。上下文在测试目标之前以方法调用的形式提供。
[0041]根据对方法名的语义分析,常常有可能把它们归类于CRUD类别——Create (创建)、Retrieve(检索)、Update(更新)和Delete (删除)--它们是定义网络中大多数交互流(interact1n flows)的语义类别。
[0042]更形式地,提供一种用于上下文问题的方法,其输入一个WSDL文件,为WSDL文件中的每个方法M输出一个在M结尾的序列的集合,其中每个序列包括用于测试M的适当的上下文。例如,“DeleteCustomer” 被映射({[CreateCustomer, UpdateCustomer, DeleteCustomer], [CreateCustomer, DeleteCustomer],…})。
[0043]参看图1,流程图100表示所述方法的示例性实施例。
[0044]可以接收101 —个集中web服务方法的定义的输入文件,例如WSDL文件W。对于WSDL文件W中的所有的web方法M,可以找到10
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1