构造应用的测试中心模型的制作方法

文档序号:6498577阅读:241来源:国知局
构造应用的测试中心模型的制作方法
【专利摘要】构造应用的测试中心模型。向测试中心模型添加对应用进行管控的每个测试所指定的每个资源。指定资源的一个或多个测试被链接到测试中心模型内的资源。在应用的测试中心模型内,如一个或多个测试所指定的资源,使用一个或多个测试来定义应用的组成。
【专利说明】构造应用的测试中心模型

【背景技术】
[0001]复合应用(composite applicat1n)是通过将多个现有功能组合到新的应用中而构造的软件应用。复合应用可以使用商业源,诸如现有软件组件或模块,以及信息服务,包括商业服务和/或因特网web服务。这样的服务可以例如被提供在面向服务的架构(SOA)的上下文中。服务显露应用编程接口(API),其还称为订约(contract),并且其定义消费者(即应用)可以如何与服务交互。复合应用可以经由内部逻辑来合并其各种构成部分的编配(orchestrat1n),所述内部逻辑规定由这些部分提供的功能性如何交互以生成新的、导出功能性。通过使用现有服务、组件和模块,开发者因此可以能够以少于从零开始编码应用的时间来开发复合应用。典型地对着服务所提供的诸如它们的订约(例如API)之类的资源来执行复合应用的开发和测试。

【专利附图】

【附图说明】
[0002]图1是可以使其构成资源结合本文所公开的技术而被标识的示例复合应用的图解。
[0003]图2是用于标识复合应用的构成资源的示例方法的流程图。
[0004]图3是可以使用图2的示例方法而被构造的示例图(graph)的图解。
[0005]图4是用于标识复合应用的构成资源的示例计算系统的图解。

【具体实施方式】
[0006]如在背景章节中指出的,通过将可以由服务和其它组件所提供的多个现有功能组合到新的应用中来构造复合应用。特别复杂的复合应用的潜在挑战是理解复合应用的构成部分。复合应用的潜在(underlying)服务和组件可以随时间改变,并且可以由不同的开发者修改,这使其在不进行大规模且耗时的确切手动分析什么服务和组件组成复合应用的情况下是困难的。
[0007]本文所公开的技术此前利用这样的应用的不相关测试以确定应用的构成资源。复合应用可以称为测试下的应用(AUT),其是经受一连串(a battery of)测试以确保应用正确执行的应用。每个测试是预定义的,并且对应用的一个或多个分离的潜在服务或组件进行测试。这样的测试典型地与潜在服务交互,并且通过服务所显露的订约来这样做。订约被视为测试的资源。因此,在复合应用的开发期间,以及此后,应用经受所选测试以确保并核实应用恰当地进行操作。
[0008]本文所公开的技术利用这样的现有测试以有利地使用它们以用于所述测试不旨在用于的此前不同的目的:确定应用的测试中心(test-centric)模型以从其构成资源来标识其服务。由许多所选测试中的每一个所指定的每个资源被添加至测试中心模型,诸如例如作为图的节点。对给定资源进行指定的一个或多个测试链接到模型内的资源。这样,通过使用所讨论的测试来定义应用的组成。开发者可以因此使用预定义测试的资源来确定构成应用的实际当前服务。
[0009]在应用的测试中心模型内,各种其它信息可以另外链接到模型内所包含的资源。关于资源的每个测试的要求可以链接到模型内的资源。检测到的资源的缺陷可以同样链接到测试中心模型内的资源。这样,除了提供精确标识应用的组成的方式之外,本文所公开的技术还提供这样一种方式,通过所述方式,开发者或测试者可以丰富关于应用的信息,诸如其潜在资源的要求和那些资源内的任何所发现的缺陷。
[0010]图1示出示例复合应用100。如以上指出的,复合应用100是通过使用现有服务、组件、模块或其它类型的软件部分的功能性而构造的软件。复合应用100可以包括内部逻辑,其将这样的各种功能性连在一起以提供新的、导出功能性。
[0011]这样,复合应用100由服务104A、104B、……、104N组成,其集体称为服务104。月艮务104显露订约,其称为资源102AU02B、……、102N,并且其集体称为资源102。每个资源102是属于不同服务、组件、模块或其它类型的软件部分的订约,所述不同服务、组件、模块或其它类型的软件部分中的每一个一般被涵盖在本文中的术语专门名词“服务”之下。在给定的复合应用100中,可以存在数十、数百或者甚至更多这样的资源102。如以上所指出的,维护这样的构成资源102的身份可能是耗时的手动实行,并且可能是易出错的。
[0012]图2示出用于通过使用通常在作为AUT的应用100上所使用的测试来标识复合应用100的资源102的示例方法200。在方法200的执行之前,应用100的组成(即它的构成资源102)可能不是完全先验已知的。方法200可以实现为通过如同台式或膝上型计算机或其它类型的计算设备之类的计算设备的处理器可执行的计算机程序。计算机程序可以存储在有形计算机可读数据存储介质上,诸如磁性介质、半导体介质或另一类型的介质。
[0013]方法200初始化复合应用100的测试中心模型(202)。例如,测试中心模型可以被初始化成不包含资源102的空模型。测试中心模型将最终经由如测试所标识的其构成资源102来定义应用100的组成。这样,通常可以用于测试复合应用100的测试列表被接收(204)。例如,用户可以选择一个或多个这样的测试。其因此可以说成这样的测试的标识被接收。
[0014]如测试中心模型所定义的应用100的组成的完整性可以如测试列表和列表中的测试所使用的资源一样完整。然而,一般而言,典型地维持完整一连串这样的测试以测试复合应用100的每个不同功能性。每个这样的测试可以强调复合应用100的不同的资源102或资源102的群组。
[0015]称为当前测试的测试被设置成测试列表内的任何任意测试(206),诸如列表内的第一测试。由当前测试所指定的资源102的列表被确定或标识(208)。这可以例如通过查询当前测试而实现。要指出,确定资源102的列表不牵涉运行当前测试。也就是说,实际上使用测试以用于其所意图的目的——测试复合应用100的一个或多个资源102——不被执行或实现。然而,每个测试描绘出测试所使用的服务或其它资源102。
[0016]为了查询当前测试,可以采用三种不同技术之一。第一,可以查询当前测试的接口,其中接口特定于方法200或执行方法200的计算机程序。这样,测试被先验地构造成与方法200兼容。也就是说,测试被设计成确保其具有与方法200执行测试的查询所用的方式兼容的接口。
[0017]第二,可以查询当前测试的接口,但是其中接口特定于测试,并且是方法200或执行方法200的计算机程序被先验地构造成与测试兼容。也就是说,方法200被设计成确保其能够查询当前测试的接口。前一种技术和后一种技术之间的差异因此在于在前一种技术中在考虑方法200的情况下设计测试,而在后一种技术中,在考虑测试的情况下设计方法200。
[0018]第三,方法200或执行方法200的计算机程序可以并不如先前两种技术中那样直接查询当前测试,而是查询将方法200与测试对接的中间件。在该技术中,中间件代表方法200直接查询测试。方法200可以因此被设计成仅查询中间件,并且在适当时更新中间件以确保与所开发的测试的任何新接口的兼容性。
[0019]指出的是,可以通过不同测试以不同方式来标识资源102,并且不同的测试可以指定或参考相同的资源102。例如,一个测试可以经由通用资源定位符(URL)字母数字地址来标识资源102,而另一测试可以经由因特网协议(IP)数字地址来标识相同的资源。然而,一般而言,每个资源102具有某种类型的一般唯一的标识符(⑶ID),通过所述标识符,方法200能够追踪不同的测试在参考相同的还是不同的资源102。尽管在另一实现中,可以采用其它技术来核实表面上不同的资源102的确是不同的资源102。
[0020]称为当前资源的资源被设置成用于当前测试的资源102的列表内的任何任意资源102(210),诸如列表内的第一资源102。如果当前资源不在测试中心模型内(212),则向模型添加当前资源(214)。例如,测试中心模型可以表示为在部分202中被初始化为具有对应于复合应用100的根节点的图和/或在部分204中指定的测试(其中部分204先于部分202执行)。这样,通过向图添加表示当前资源的顶点或节点并且在该节点与根节点之间添加边来向测试中心模型添加当前资源。指出的是,在其它实现中,对应于作为整体的复合应用的根节点可以不存在,使得向图独立地添加当前资源作为代表性节点,并且用户此后可以定义节点之中的关系。
[0021]当前测试以及在一些实现中的其它信息被链接到测试中心模型内的当前资源(216)。这样,被表示在模型内的每个资源102具有链接到那里的一个或多个测试,其为指定该资源102的测试。其它信息可以包括当前测试和/或复合应用100的要求(当这些要求关于当前资源时)、以关于应用100的当前测试的最后的或任何在先运行为基础的当前资源的缺陷等等。向测试中心模型添加这样的信息致使模型更加信息丰富,并且因此准许用户在模型的检测期间搜集除了其构成资源100之外的复合应用100的更完整视图。
[0022]如果在用于当前测试的资源102的列表内存在尚未被处理的另外的资源102(218),则当前资源推进到该列表内尚未被处理的另一资源102(220),并且在部分212处关于新的当前资源来重复方法200。否则,完成当前测试的处理。如果在测试的列表内存在尚未被处理的另外的测试(222),则当前测试推进到该列表内尚未被处理的另一测试(224),并且在部分208处关于新的当前测试来重复方法200。否则,完成测试的处理。
[0023]测试中心模型被输出(226)。如以上指出的,测试中心模型经由测试而定义复合应用100的组成,并且因此指定被测试参考或者在测试内指定的应用100的构成资源102。测试中心模型的输出可以是静态或动态的。在静态的意义上,可以通过打印模型(诸如已经描述的图及其节点)的图形表示来输出模型。在动态的意义上,可以通过在诸如计算机监视器或屏幕之类的电子或其它显示设备上显示这样的图形表示并且准许用户与该显示交互以更加详细地查看各个资源102 (诸如链接到那里的各种信息)来输出模型。
[0024]图3示出可以经由方法200生成的测试中心模型的示例图(graph)300。图300包括根节点302和子节点,诸如经由边312链接到根节点302的子节点304和306。根节点302表示复合应用100或至少为已经被处理以定义应用100的组成的测试。除图3中未描绘的图300的其它子节点之外,节点304和306各自表示如使用方法200所发现的复合应用100的资源102。
[0025]图3特别地示出图300的动态输出。用户能够点击或选择箭头310以将根节点302的不同子节点带到视图中,其中在图3中当前显示两个特定子节点304和306。用户还能够点击或选择任何子节点以调取方法200在部分216中确定的关于对应资源102的信息。在图3的示例中,已经选择子节点306。这样,关于子节点306所对应的资源102的该信息的气泡308被显示以供用户回顾。
[0026]如以上指出的,可以在其它实现中实现图300和测试中心模型自身的其它类型的输出。例如,测试中心模型的图形表示、如图及其节点可以显示在一个窗口中。在其它可选窗口中,可以显示在方法200的部分216中为每个资源102收集的信息。在这样的实现中,用户可以因此在窗口当中选择以查看作为整体的测试中心模型的概览,以及下钻到模型中以查看关于模型内所包含的每个资源102的细节。
[0027]图4示出用于标识复合应用100的资源102的示例系统400。系统400在一个实现中被实现为诸如台式或膝上型计算机之类的计算设备402。然而,在其它实现中,系统400可以实现在多个这样的计算设备上,所述计算设备可以例如经由网络与彼此通信。
[0028]计算设备402包括处理器404和计算机可读数据存储介质406。计算机可读数据存储介质406可以存储表示一个或多个测试410的数据、表示测试中心模型412的数据以及计算机程序408。计算机可读数据存储介质406并且可以是磁性介质、半导体介质、易失性介质、非易失性介质等等。
[0029]处理器404执行来自计算机可读数据存储介质408的计算机程序408,如计算机程序408与处理器404之间的虚线414所指示的那样。处理器404对计算机程序408的执行使得履行诸如方法200之类的方法。这样,计算机程序408如虚线416所指示的那样处理一个或多个测试410以构造测试中心模型412,如虚线418所指示的那样。因此,通过生成测试中心模型412,计算机程序408标识如已经描述的复合应用100的资源102。
【权利要求】
1.一种用于构造应用的测试中心模型的方法,包括: 对于管控应用的一个或多个测试中的每一个,作为给定测试: 通过计算设备的处理器,确定由给定测试所指定的一个或多个资源; 对于由给定测试所指定的一个或多个资源中的每一个,作为给定资源, 在给定资源不在测试中心模型内的情况下,通过处理器,向测试中心模型添加给定资源;以及 通过处理器,将给定测试链接到测试中心模型内的给定资源, 其中在应用的测试中心模型内,如一个或多个测试所指定的一个或多个资源,使用一个或多个测试来定义应用的组成。
2.根据权利要求1所述的方法,其中在执行所述方法之前,如一个或多个测试所指定的一个或多个资源的应用的组成或定义是先验未知的。
3.根据权利要求1所述的方法,其中确定由给定测试所指定的一个或多个资源被实现而不运行给定测试。
4.根据权利要求1所述的方法,其中确定由给定测试所指定的一个或多个资源包括查询给定测试以标识由给定测试所指定的一个或多个资源。
5.根据权利要求1所述的方法,其中向测试中心模型添加给定资源包括: 向表示测试中心模型的图添加表示给定资源的节点;以及 在基本节点和所述节点之间添加边。
6.根据权利要求1所述的方法,还包括,对于由给定测试所指定的一个或多个资源中的每一个,作为给定资源,进行以下各项中的一个或多个: 通过处理器,将给定测试的要求链接到测试中心模型内的给定资源; 通过处理器,将给定资源的缺陷链接到测试中心模型内的给定资源。
7.一种存储了计算机程序的非暂时性计算机可读数据存储介质,所述计算机程序通过处理器可执行以履行用于构造应用的测试中心模型的方法,所述方法包括: 接收对应用进行管控的一个或多个测试的标识; 对于已经被标识的一个多个测试中的每一个,作为给定测试: 标识由给定测试所指定的一个或多个资源; 对于由给定测试所指定的一个或多个资源中的每一个,作为给定资源, 确定给定资源是否被表示在测试中心模型内; 响应于确定了给定资源未被表示在测试中心模型内,向测试中心模型添加给定资源; 将给定测试链接到测试中心模型内的给定资源, 其中在应用的测试中心模型内,如一个或多个测试所指定的一个或多个资源,经由一个或多个测试来定义应用的组成。
8.根据权利要求7所述的非暂时性计算机可读数据存储介质,其中接收对应用进行管控的一个或多个测试的标识包括从用户接收一个或多个测试的选择。
9.根据权利要求7所述的非暂时性计算机可读数据存储介质,其中标识由给定测试所指定的一个或多个资源包括以下各项中的一个或多个: 经由特定于所述方法的给定测试的接口而查询给定测试,使得给定测试被先验地构造成与所述方法兼容; 经由特定于给定测试的给定测试的接口而查询给定测试,使得所述方法被先验地构造成与给定测试兼容; 查询与所述方法和给定测试二者先验兼容的中间件,使得所述方法不直接查询给定测试而是中间件代表所述方法来直接查询给定测试。
10.根据权利要求7所述的非暂时性计算机可读数据存储介质,其中向测试中心模型添加给定资源导致表示测试中心模型的图的构造,所述图包括与一个或多个测试所指定的一个或多个资源相对应的一个或多个节点。
11.根据权利要求7所述的非暂时性计算机可读数据存储介质,其中所述方法还包括: 对于由给定测试所指定的一个或多个资源中的每一个,作为给定资源, 将给定测试的要求中的一个或多个以及给定资源的缺陷链接在测试中心模型内以用于给定资源。
12.—种系统,包括: 处理器; 计算机可读数据存储介质,其存储了对应用的测试中心模型进行表示的数据; 计算机程序,其存储在计算机可读数据存储介质上并且通过处理器可执行以构造测试中心模型,这通过向测试中心模型添加由一个或多个测试中的每一个测试所指定的一个或多个资源中的每一个资源以及将对一个或多个资源中的给定资源进行指定的每一个测试链接到测试中心模型内的给定资源, 其中在应用的测试中心模型内,如一个或多个测试所指定的一个或多个资源,经由一个或多个测试来定义应用的组成。
13.根据权利要求12所述的系统,其中对于给定测试,如一个或多个测试中的每一个测试,计算机程序要: 经由特定于所述方法的给定测试的接口而查询给定测试,使得给定测试被先验地构造成与计算机程序兼容; 经由特定于给定测试的给定测试的接口而查询给定测试,使得所述方法被先验地构造成与计算机程序兼容; 查询与所述方法和给定测试二者先验兼容的中间件,使得所述方法不直接查询给定测试而是中间件代表计算机程序来直接查询给定测试。
14.根据权利要求12所述的系统,其中表示测试中心模型的数据包括具有与一个或多个测试所指定的一个或多个资源相对应的一个或多个节点的图。
15.根据权利要求12所述的系统,其中由一个或多个测试所指定的一个或多个资源各自包括以下之一:应用服务和应用组件。
【文档编号】G06F9/44GK104246715SQ201280072855
【公开日】2014年12月24日 申请日期:2012年7月31日 优先权日:2012年7月31日
【发明者】古尔芬克尔 O., 费尔霍夫斯基 O., 布西 E., Y. 拉法洛维奇 M., 伊萨奇 M. 申请人:惠普发展公司,有限责任合伙企业
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1