《用于测试和证明客户计算机系统上的虚拟设备的系统的制作方法》由会员分享,可在线阅读,更多相关《用于测试和证明客户计算机系统上的虚拟设备的系统的制作方法(7页珍藏版)》请在金锄头文库上搜索。
1、用于测试和证明客户计算机系统上的虚拟设备的系统的制作方法专利名称:用于测试和证明客户计算机系统上的虚拟设备的系统的制作方法用于测试和证明客户计算机系统上的虚拟设备的系统背景技术:通常,软件产品在该产品被投放市场之前由厂商进行测试和证明。产品的质量保证团队更新回归测试套件以覆盖在投放到市场的每个建立(build)中引入的改变。然而,即使客户对产品和客户的计算机系统应用全部更新,这个过程在产品的生命周期中也不能自始至终保证产品无缺陷。产品在从其被部署在客户的计算机环境中的那天起其生命周期期间经历若干改变。这些改变包括平台更新、产品更新、系统配置改变、网络配置改变、以及产品配置改变。当运行时环境发展
2、时,在某一时刻,引入到环境中的改变使产品中断。遗憾的是,这样的中断可能不立即地显露。替代地,这样的中断可能仅在嵌入的特征被触发之后才显露,这可能是中断之后的许多天或者甚至是几周。当缺陷显露时,客户不知道什么引起了该缺陷并且因此提出与厂商的支持呼叫。由于细节的有限的知识和运行时环境的发展,支持团队可能花费长时间识别问题的根本原因,这会引起客户不满。即使客户使用产品环境的备份,如果缺陷被诸如系统或网络配置之类的外部参数触发则备份也不奏效。由于这些和其他原因,存在对于本发明的需要。图1是图示了包括厂商计算机系统和客户计算机系统的系统的一个实施例的图。图2是图示了能够在图1的系统中采用的计算机系统的一
3、个实施例的图。图3是图示了厂商计算机系统中的厂商SaaS环境的一个实施例的图。图4是图示了客户计算机系统中的管理的客户计算环境的一个实施例的图。图5是图不了第一主机机器和第二主机机器的一个实施例的图。图6是图示了图1的系统的一个实施例的操作的流程图。具体实施例方式在以下详细描述中,对形成于此一部分的附图进行参考,并且在附图中通过图示的方式示出了其中可以实践本发明的特定实施例。在这点上,方向术语,诸如“顶部”、“底部”、“前面”、“背面”、“在前的”、“后面的”等被参考正被描述的(一个或多个)图的方位来使用。因为本发明的实施例的部件能够被定位在多个不同的方位,所以方向术语是出于图示的目的而使用的
4、并且决不是限制性的。应当理解的是,在不背离本发明的范围的情况下,可以利用其他实施例并且可以做出结构或逻辑改变。以下详细描述因此将不在限制的意义上进行,并且本发明的范围由随附权利要求来限定。图1是图示了包括厂商计算机系统22和客户计算机系统24、26、以及28的系统20的一个实施例的图。厂商计算机系统22被经由通信路径32通信地耦合到网络30,诸如因特网或万维网。客户计算机系统24、26、以及28分别被经由通信路径34、36、以及38通信地耦合到网络30。厂商计算机系统22和客户计算机系统24、26、以及28经由网络30进行通信。在其他实施例中,系统20包括任何合适数量的客户计算机系统,诸如一个
5、或多个客户计算机系统。系统20使用软件即服务(SaaS)和虚拟化技术来建立。虚拟应用(vApp)在管理的客户计算环境中工作,诸如图4的管理的客户计算环境300。客户计算机系统24、26、以及28中的每一个都表示管理的客户计算环境,诸如图4的管理的客户计算环境300。每个vApp都包括连接在一起的一个或多个虚拟机(VM)。系统20包括管理的客户计算环境中的包括VM的vApp的测试。这减少了其为客户和厂商识别问题的根本原因花费的时间,这增加了客户满意。在系统20中,客户能够经由厂商计算机系统22或通过其他销售渠道来购买一个或多个vApp并且经由厂商计算机系统22订阅用于所购买的vApp的部署后的v
6、App证明服务。vApp证明服务提供了用于测试vApp并且证明vApp在订阅客户的计算机系统上操作的vApp更新和回归测试套件更新,所述订阅客户的计算机系统诸如客户计算机系统24、26以及28中的一个。测试套件中的测试包括用于测试vApp的测试脚本和测试数据两者。通信软件被安装和/或激活在订阅客户的计算机系统中以用于与厂商计算机系统22进行通信。同样地,监控软件被安装和/或激活在订阅客户的计算机系统中以用于监控客户的计算机系统并且用于将关于客户的计算机系统的运行时环境信息发送到厂商计算机系统22。运行时环境信息包括操作系统、服务包、更新、补丁、和产品信息、以及硬件和网络配置,诸如处理器的数目和
7、因特网协议版本(IPV)。如果客户不订阅vApp证明服务,则所购买的vApp在客户的计算环境中正常地起作用,但是vApp证明服务对非订阅客户不是可用的。在一个实施例中,客户订阅vApp证明服务并且安装订阅密钥以使得能够实现vApp证明服务。在一个实施例中,客户订阅vApp证明服务诸如90天、每年、或超过一年之类的时间段。在订阅客户的计算机系统上安装和/或激活的监控软件来监控订阅客户的计算机系统的运行时环境中的改变。监控软件检测包括操作系统、硬件、以及产品中的改变的平台中的改变,其中,改变包括用于每个项目的补丁和更新。如果检测到改变,则订阅客户的计算机系统通知厂商计算机系统22。客户计算机系统2
8、4、26、以及28招致至少两种类型的改变。第一种类型的改变是可容易地识别的改变,诸如操作系统更新或服务包升级。第二类型的改变是不可容易地检测到的配置改变,诸如对于一个或多个环境变量的改变或对于一个或多个注册表关键码值(registry key values)的改变。监控软件检测第一类型的可容易地识别的改变,但是监控软件不检测第二类型的配置改变。如果第一类型的可容易地识别的改变首先由厂商前摄性地识别到,则在没有客户计算机系统的帮助的情况下,厂商建立合并了厂商计算机系统22上的改变的新的运行时环境。新的运行时环境与订阅客户的当前证明的计算环境外加经识别的改变相同,其中,订阅客户的计算环境经由发送到
9、厂商计算机系统22的运行时计算环境信息知道。厂商运行旧的测试套件并且建立和运行新的测试套件以在新的运行时环境中测试vApp。如果发生失败,则厂商生成被提供给订阅客户计算机系统的vApp更新和测试套件更新。在这种情形下,如果在订阅客户的计算机系统上的监控软件检测到先前识别的改变并且通知厂商计算机系统22,则vApp更新和测试套件更新已经可用于下载并且可用于在客户计算机系统上测试vApp。如果第一类型的可容易地识别的改变首先由订阅客户的计算机系统中的监控软件识别到,则厂商接收已检测到的改变的通知,并且响应于该通知开始支持案例(case)。支持人员经由发送到厂商计算机系统22的运行时环境信息在厂商计
10、算机系统22上建立与订阅客户的计算机系统上的运行时环境相同的运行时环境。支持人员然后使用新近建立的运行时环境在厂商计算机系统22上测试vApp。厂商支持人员运行旧的测试套件并且建立和运行新的测试套件以在新的运行时环境中测试vApp。诸如vApp更新和测试套件更新之类的更新被提供给客户计算机系统以用于下载和在客户计算机系统上测试vApp。订阅客户的计算机系统,诸如客户计算机系统24、26以及28中的一个,从厂商计算机系统22下载vApp更新和测试套件更新以在订阅客户的计算机系统的运行时环境中测试vApp。订阅客户的计算机系统经由测试套件来测试vApp以检测在订阅客户的计算机系统上发生的失败。这些
11、失败可能由于由不可容易地检测到的客户计算机系统24、26以及28的配置改变招致的第二类型的改变。订阅客户的计算机系统检测失败并且向厂商计算机系统22通知该失败。作为响应,厂商在与订阅客户的计算机系统上的运行时环境相同的厂商计算机系统22上的运行时环境中并且使用来自订阅客户的计算机系统的配置和值测试vApp。厂商生成被订阅客户的计算机系统下载以用于在订阅客户的计算机系统上测试vApp的vApp更新和测试套件更新。这个过程重复直到测试套件在订阅客户的计算机系统上通过为止。在通过之后,订阅客户的计算机系统对vApp进行基线对齐并且存储每个vApp的基线拷贝,其中,能够在等待更新的同时使用基线版本。图
12、2是图示了能够在系统20中采用的计算机系统100的一个实施例的图。计算机系统100包括物理计算部件并且可以包括虚拟机。在一个实施例中,厂商计算机系统22与计算机系统100相同或类似。在一个实施例中,由客户计算机系统24、26以及28表示的被管理的客户计算环境中的一个或多个与计算机系统100相同或类似。计算机系统100包括至少包括一个处理单元,即处理器102的处理器架构和存储器104。存储器104是易失性存储器、非易失性存储器、或这两个的一些组合。在一个实施例中,存储器104被布置在诸如高速缓存的存储器层级中。计算机系统100包括附加的储存器,所述储存器包括不可移动的储存器106和可移动的储存器
13、108。这个附加的储存器包括设备,诸如磁盘、光盘、固态存储器、和/或闪速存储设备。处理器102与存储器104和不可移动的储存器106进行通信并且被经由存储路径110通信地耦合到可移动的储存器108。附加的储存器存储信息,诸如计算机可读指令、数据结构、程序模块、和/或其他数据。计算机系统100被配置成运行能够被与组成系统平台的一个或多个软件应用一起存储在存储媒体上的操作系统软件程序。存储器104、不可移动的储存器106以及可移动的储存器108都是能够被用来存储所期望的信息的计算机存储媒体的示例。计算机系统100还包括经由通信路径114通信地耦合到处理器102的一个或多个通信连接112。通信连接1
14、12允许计算机系统100与能够被用来存储期望的信息并且由计算机系统100访问的其他计算机/应用进行通信。计算机系统100的用户接口部件包括一个或多个输入设备116,诸如键盘、定点设备(例如,鼠标)、语音输入设备、和/或触摸输入设备;以及一个或多个输出设备118,诸如显示器和/或打印机。输入设备116和输出设备118被经由输入/输出路径120通信地耦合到处理器102。图3是图示了诸如厂商计算机系统22 (图1中所示)的厂商计算机系统中的厂商SaaS环境200的一个实施例的图。厂商SaaS环境200包括用户接口 202、测试套件204、以及vApp证明服务206。在208处,厂商支持人员经由用户接
15、口 202访问厂商SaaS环境200。厂商支持人员包括工程师、技术人员以及为厂商工作的管理人员。用户接口 202被通信地耦合到测试套件储存库204并且经由厂商通信路径210通信地耦合到vApp证明服务206,这给予厂商支持人员对测试套件储存库204和vApp证明服务206的访问。在一个实施例中,用户接口202包括诸如输入设备116和输出设备118 (图2中所示)之类的设备。测试套件储存库204是包括用于测试由厂商销售的vApp的回归测试套件的数据库。所存储的测试套件包括针对测试原始vApp发行而开发的测试套件和响应于在本领域(field)中发生的改变和失败而建立的新的vApp发行和/或更新。这
16、些改变和失败包括第一类型的可容易地识别的改变和第二类型的配置改变。在第一类型的可容易地识别的改变由厂商或订阅客户的计算机系统中的监控软件识别到之后,厂商支持人员运行旧的测试套件并且建立和运行新的测试套件以在新的运行时环境中测试vApp。这些旧的和新的测试套件被存储在测试套件储存库204中并且从其中访问。厂商支持人员经由用户接口 202存储并且访问测试套件,并且客户的计算机系统经由vApp证明服务206访问旧的和新的测试套件。在客户的计算机系统上测试了 vApp之后,vApp证明服务206被通知失败并且厂商支持人员在包括来自订阅客户的计算机系统的配置的新的运行时环境中测试vApp。厂商支持人员生成被存储在测试套件储存库204中并且从其中访问的vApp更新和测试套件更新。在一个实施例中,测试套件储存库204被存储在一个或多个存储媒体中,诸如存储器104、非易失性储存器106、和/或可移动的储存器108 (图2中所示)。vApp证明服务206在厂商SaaS环境200中操作以将订阅服务提供给厂商的客户。vApp证明服务206被通过测试套件储存库204建立并且被经由测