对待测试应用的测试例进行处理的方法和系统的制作方法

文档序号:6357653阅读:185来源:国知局
专利名称:对待测试应用的测试例进行处理的方法和系统的制作方法
技术领域
本发明的各实施方式涉及信息技术,更具体地,本发明的各实施方式涉及对待测试应用的测试例进行处理的方法和系统。
背景技术
企业的IT架构通常是非常复杂的,可能会包含以非常复杂的方式互相耦合的成百上千个应用。在这样的情况下,对应用进行测试是一项具有挑战性的工作。在整个软件开发预算中,测试是最大的资金和时间消耗方面之一。服务器的30%到50%专用于测试,并且大多数测试服务器的使用率小于10%。因此非常浪费资源。已经有一些公司向用户提供云测试环境,用户可以在需要测试的时候使用这些公司的相应的测试环境,以节约资源。 在目前,应用云测试环境的通常做法是单独地根据测试各个应用所要求的原始的硬件和软件配置,将各个应用分配到具有相应配置的不同虚拟机(VM)实例。以这样的方式,避免了性能规划。但是,由于原始的硬件和软件配置可能没有很好规划,性能超出需求,因此会造成许多浪费。

发明内容
因此,需要一种克服上述问题的对待测试应用的测试例进行处理的方案。根据本发明的一个方面,提出了一种对待测试应用的测试例进行处理的方法,包括评估至少两个待测试应用,以确定所述至少两个待测试应用相互之间的相容性关系;获取所述至少两个待测试应用的测试例,并确定所述至少两个待测试应用的测试例所需要的资源和执行时间;根据所述至少两个待测试应用之间的相容性关系、所述至少两个待测试应用的测试例所需要的资源和执行时间,聚类所述至少两个待测试应用的测试例到至少一个虚拟机实例,以在所述至少一个虚拟机实例上对所述至少两个待测试应用的测试例进行测试。根据本发明的第二方面,提出了一种对待测试应用的测试例进行处理的系统,包括评估器,配置成评估至少两个待测试应用,以确定所述至少两个待测试应用相互之间的相容性关系;确定器,配置成获取所述至少两个待测试应用的测试例,并确定所述至少两个待测试应用的测试例所需要的资源和执行时间;聚类器,配置成根据所述至少两个待测试应用之间的相容性关系、所述至少两个待测试应用的测试例所需要的资源和执行时间,聚类所述至少两个待测试应用的测试例到至少一个虚拟机实例,以在所述至少一个虚拟机实例上对所述至少两个待测试应用的测试例进行测试。根据本发明的各实施方式,能够将根据现有技术将分配到不同虚拟机实例的至少两个待测试应用的测试例分配到同一个性能满足要求的虚拟机实例,因此能提高虚拟机实例的利用率。


通过以下结合附图的说明,并且随着对本发明实施方式的更全面了解,本发明实施方式的其他目的和效果将变得更加清楚和易于理解,其中图I示出了根据本发明的一个实施方式的对待测试应用的测试例进行处理的方法的流程图;图2示意性地示出了确定的一个测试例的内存消耗情况;
图3示出了根据现有技术的将待测试应用Al的测试例和待测试应用A2的测试例分配到虚拟机实例的情形;图4示出了根据本发明的实施方式的将待测试应用Al的测试例和待测试应用A2的测试例分配到虚拟机实例的情形;图5示出了根据本发明的另一个实施方式的对待测试应用的测试例进行处理的方法的流程图;图6示出了根据本发明的一个实施方式的对待测试应用的测试例进行处理的系统的框图;图7示出了根据本发明的另一个实施方式的对待测试应用的测试例进行处理的系统的框图;图8示出了根据本发明的一个实施方式的云计算节点;图9示出了根据本发明的一个实施方式的云计算环境;以及图10示出了根据本发明的一个实施方式的抽象模型层。在所有的上述附图中,相同的标号表示具有相同、相似或相应的特征或功能。
具体实施例方式下面参考附图详细描述本发明的各实施方式。附图中的流程图和框图,图示了按照本发明各种实施方式的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为备选的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。在本发明的一个实施方式中,根据至少两个待测试应用之间的相容性关系、至少两个待测试应用的测试例所需要的资源和执行时间,聚类至少两个待测试应用的测试例到至少一个虚拟机实例,以在至少一个虚拟机实例上对至少两个待测试应用的测试例进行测试。根据本发明的一个实施方式,消除了由于如下的行为所造成的可能的虚拟机实例利用率的浪费由将可以驻留在一个虚拟机实例的多个待测试应用的测试例分配到不同的虚拟机实例。
图I示出了根据本发明的一个实施方式的对待测试应用的测试例进行处理的方法的流程图。如图I所示,该方法100包括步骤SI 10,评估至少两个待测试应用,以确定所述至少两个待测试应用相互之间的相容性关系;步骤S120,获取所述至少两个待测试应用的测试例,并确定所述至少两个待测试应用的测试例所需要的资源和执行时间;步骤S130,根据所述至少两个待测试应用之间的相容性关系、所述至少两个待测试应用的测试例所需要的资源和执行时间,聚类所述至少两个待测试应用的测试例到至少一个虚拟机实例,以在所述至少一个虚拟机实例上对所述至少两个待测试应用的测试例进行测试。在一个实施方式中,至少两个待测试应用相互之间的相容性关系至少包括如下的一种硬件相容性关系,和软件相容性关系。硬件相容性关系指的是一个待测试应用所要求的硬件与另一个待测试应用所要求的硬件是否相容。根据本发明的一个实施方式,基于两个待测试应用所要求的硬件的类型是否相同来确定两个待测试应用之间的硬件相容性关系。当两个待测试应用所要求的硬件的类型相同时,确定两个待测试应用之间的硬件相容性关系为相容。当两个待测试应用所要求的硬件的类型不相同时,确定两个待测试应用之间的硬件相容性关系为不相容。例如,如果一个待测试应用要求CPU、内存、硬盘和交换机,而另外一个待测试应用要求CPU、内存、硬盘和网卡,则由于两个待测试应用所要求的硬件的类型不相同,确定在这两个待测试应用之间硬件相容性关系为不相容。根据本发明的一个实施方式,还可以基于不同的类型的硬件的存在是否对两个待 测试应用的执行造成影响来确定两个待测试应用之间的硬件相容性关系。在一个待测试应用所要求的硬件的类型与另一个待测试应用所要求的硬件的类 型不相同的情况下,当不同的类型的硬件的存在对两个待测试的应用的执行不会造成影响时,确定在这两个待测试应用之间的硬件相容性关系为相容;当不同的类型的硬件的存在对两个待测试的应用的执行造成影响时,确定在这两个待测试应用之间的硬件相容性关系为不相容。例如,如果一个待测试应用要求CPU、内存、硬盘和交换机,而另外一个待测试应用要求CPU、内存、硬盘和网卡,并且如果对于这两个待测试应用来说,存在网卡和交换机对它们的执行并不会造成任何的影响,则确定在这两个待测试应用之间硬件相容性关系为相容;如果对于这两个待测试应用来说,存在网卡和交换机对它们的执行造成影响,则确定在这两个待测试应用之间硬件相容性关系为不相容。当然,本领域的技术人员应当理解,还可以具有其他的用于确定两个待测试应用之间的硬件相容性关系的规则。例如,在本发明的一个实施方式中,还可以基于两个待测试应用所要求的具体硬件是否相同来确定两个待测试应用之间的硬件相容性关系。在一个待测试应用所要求的硬件的类型与另一个应用所要求的硬件的类型相同的情况下,当一个待测试应用所要求的具体硬件和另一个待测试应用所要求的具体硬件相同时,例如都要求DDR (双倍数据速率)2内存时,确定在这两个待测试应用之间硬件相容性关系为相容;当一个待测试应用所要求的具体硬件和另一个待测试应用所要求的具体硬件不相同时,例如一个待测试应用要求DDR2内存,另一个待测试应用要求DDR3内存时,确定在这两个待测试应用之间硬件相容性关系为不相容。软件相容性关系指的是一个待测试应用所要求的软件与另一个待测试应用所要求的软件是否相容。根据本发明的一个实施方式,基于两个待测试应用所要求的软件的类型是否相同来确定两个待测试应用之间的软件相容性关系。当两个待测试应用所要求的软件 类型不相同时,确定两个待测试应用之间的软件相容性关系为不相容。当两个待测试应用所要求的软件的类型相同时,确定两个待测试应用之间的软件相容性关系为相容。例如,如果一个待测试应用要求如下软件操作系统、Web服务器、数据库、编译工具;而另一个待测试应用要求如下软件操作系统、Web服务器、数据库、编译工具,则由于两个待测试应用所要求的软件的类型相同,确定在这两个待测试应用之间软件相容性关系为相容。在本发明的一个实施方式中,还基于两个待测试应用所要求的具体软件是否相同来确定两个待测试应用之间的软件相容性关系。在一个待测试应用所要求的软件的类型与另一个待测试应用所要求的软件的类型相同的情况下,当一个待测试应用所要求的具体软件和另一个待测试应用所要求的具体软件相同时,例如都要求Windows 操作系统、Tomcat web服务器、Oracle 数据库、.NET 编译工具时,确定在这两个待测试应用之间软件相容性关系为相容;当一个待测试应用所要求的具体软件和另一个待测试应用所要求的具体软件不相同时,例如一个待测试应用要求Windows 操作系统、Tomcat web服务器、Oracle 数据库、.NET 编译工具,另一个待测试应用要求Linux操作系统、Tomcat web服务器、Oracle 数据库、.NET 编译工具时,确定在这两个待测试应用之间软件相容性关系为不相容。在本发明的一个实施方式中,还基于两个待测试应用所要求的具体软件的版本是否兼容来确定两个待测试应用之间的软件相容性关系。在一个待测试应用所要求的具体软件和另一个待测试应用所要求的具体软件相同的情况下,当一个待测试应用所要求的具体软件的版本和另一个待测试应用所要求的具体软件的版本兼容,即具体软件的较高版本包括该具体软件的较低版本的功能时,例如一个待测试应用要求Windows 7操作系统、Tomcat 7. oweb服务器、Oracle IOg数据库、.NET 4编译工具,另一个待测试应用要求Windows XP操作系统、Tomcat
7.oweb服务器、Oracle IOg数据库、.NET 4编译工具,并且Windows 7操作系统与Windows XP操作系统兼容,即Windows 7操作系统包括Windows XP操作系统的功能时,确定在这两个待测试应用之间软件相容性关系为相容;当一个待测试应用所要求的具体软件的版本和另一个待测试应用所要求的具体软件的版本不兼容,即具体软件的较高版本不包括该具体软件的较低版本的某些功能时,确定在这两个待测试应用之间软件相容性关系为不相容。根据本发明的一个实施方式,还基于两个待测试应用的配置是否冲突来确定两个待测试应用之间的软件相容性关系。两个待测试应用的配置是否冲突的例子包括两个待测试应用的端口号配置是否冲突。例如,当两个待测试应用都使用缺省8443端口号的情况下,就发生了配置冲突。当两个待测试应用的配置冲突时,确定两个待测试应用之间的软件相容性关系为不相容。当两个待测试应用的配置不冲突时,确定两个待测试应用之间的软件相容性关系为相容。
在本发明的一个实施例中,还基于两个待测试应用中的至少一个的配置是否可修改来确定两个待测试应用之间的软件相容性关系。在两个待测试应用的配置冲突的情况下,当两个待测试应用中的至少一个的配置可修改时,确定两个待测试应用之间的软件相容性关系为相容;当两个待测试应用的配置都不可修改时,确定两个待测试应用之间的软件相容性关系为不相容。当然,本领域的技术人员应当理解,还可以有其他的用于确定两个待测试应用之间的软件相容性关系的规则。例如,在本发明的一个实施方式中,还基于不同的类型的软件的存在是否对两个待测试应用的执行造成影响来确定两个待测试应用之间的软件相容性关系。在一个待测试应用所要求的软件的类型与另一个待测试应用所要求的软件的类型不相同的情况下,当不同的类型的软件的存在对两个待测试应用的执行不会造成影响时,确定两个待测试应用之间的软件相容性关系为相容;当不同的类型的软件的存在对两个待测试应用的执行造成影响时,确定两个待测试应用之间的软件相容性关系为不相容。
在本发明的一个实施方式中,还基于不同的具体软件的存在是否对两个待测试应用的执行造成影响来确定两个待测试应用之间的软件相容性关系。在一个待测试应用所要求的具体软件与另一个待测试应用所要求的具体软件不相同的情况下,当不同的具体软件的存在对两个待测试应用的执行不会造成影响时,确定两个待测试应用之间的软件相容性关系为相容;当不同的具体软件的存在对两个待测试应用的执行造成影响时,确定两个待测试应用之间的软件相容性关系为不相容。一般地,应用具有描述其硬件和软件要求的文档,可以通过程序读取该文档来获得上述硬件和软件要求。另外,可以通过分析根据某种应用配置框架的每个应用的配置文件,来确定每个应用的配置是否冲突。可以在应用相容性关系矩阵中存储多个待测试应用相互之间的相容性关系。可以具有两个应用相容性关系矩阵,一个用于硬件,一个用于软件。硬件相容性关系矩阵(Mhw)记录了每对待测试应用之间的每个硬件要求项的相容性关系。表I示出了 Mhw的例子。
权利要求
1.一种对待测试应用的测试例进行处理的方法,包括 评估至少两个待测试应用,以确定所述至少两个待测试应用相互之间的相容性关系; 获取所述至少两个待测试应用的测试例,并确定所述至少两个待测试应用的测试例所需要的资源和执行时间; 根据所述至少两个待测试应用之间的相容性关系、所述至少两个待测试应用的测试例所需要的资源和执行时间,聚类所述至少两个待测试应用的测试例到至少一个虚拟机实例,以在所述至少一个虚拟机实例上对所述至少两个待测试应用的测试例进行测试。
2.根据权利要求I所述的方法,其中所述至少两个待测试应用相互之间的相容性关系至少包括硬件相容性关系和软件相容性关系中的一个。
3.根据权利要求2所述的方法,其中基于两个待测试应用所要求的硬件的类型是否相同来确定所述两个待测试应用之间的硬件相容性关系。
4.根据权利要求2所述的方法,其中基于两个待测试应用所要求的软件的类型是否相同来确定所述两个待测试应用之间的软件相容性关系。
5.根据权利要求4所述的方法,其中还基于两个待测试应用所要求的具体软件是否相同来确定所述两个待测试应用之间的软件相容性关系。
6.根据权利要求5所述的方法,其中还基于两个待测试应用所要求的具体软件的版本是否兼容来确定所述两个待测试应用之间的软件相容性关系。
7.根据权利要求6所述的方法,其中还基于两个待测试应用的配置是否冲突来确定所述两个待测试应用之间的软件相容性关系。
8.根据权利要求7所述的方法,其中还基于两个待测试应用中的至少一个的配置是否可修改来确定所述两个待测试应用之间的软件相容性关系。
9.根据权利要求I所述的方法,还包括基于某一规则,将所述至少两个待测试应用的测试例分组,并且聚类所述至少两个待测试应用的测试例到至少一个虚拟机实例包括以所述测试例组为粒度来聚类所述至少两个待测试应用的测试例到至少一个虚拟机实例。
10.根据权利要求I所述的方法,其中将所述至少两个待测试应用中相互之间的相容性关系为相容的待测试应用的测试例中相互之间所需要的资源和执行时间匹配的测试例,聚类到所述至少一个虚拟机实例。
11.一种对待测试应用的测试例进行处理的系统,包括 评估器,配置成评估至少两个待测试应用,以确定所述至少两个待测试应用相互之间的相容性关系; 确定器,配置成获取所述至少两个待测试应用的测试例,并确定所述至少两个待测试应用的测试例所需要的资源和执行时间; 聚类器,配置成根据所述至少两个待测试应用之间的相容性关系、所述至少两个待测试应用的测试例所需要的资源和执行时间,聚类所述至少两个待测试应用的测试例到至少一个虚拟机实例,以在所述至少一个虚拟机实例上对所述至少两个待测试应用的测试例进行测试。
12.根据权利要求11所述的系统,其中所述至少两个待测试应用相互之间的相容性关系至少包括硬件相容性关系和软件相容性关系中的一个。
13.根据权利要求12所述的系统,其中所述评估器基于两个待测试应用所要求的硬件的类型是否相同来确定所述两个待测试应用之间的硬件相容性关系。
14.根据权利要求12所述的系统,其中所述评估器基于两个待测试应用所要求的软件的类型是否相同来确定所述两个待测试应用之间的软件相容性关系。
15.根据权利要求14所述的系统,其中所述评估器还基于两个待测试应用所要求的具体 软件是否相同来确定所述两个待测试应用之间的软件相容性关系。
16.根据权利要求15所述的系统,其中所述评估器还基于两个待测试应用所要求的具体软件的版本是否兼容来确定所述两个待测试应用之间的软件相容性关系。
17.根据权利要求16所述的系统,其中所述评估器还基于两个待测试应用的配置是否冲突来确定所述两个待测试应用之间的软件相容性关系。
18.根据权利要求17所述的系统,其中所述评估器还基于两个待测试应用中的至少一个的配置是否可修改来确定所述两个待测试应用之间的软件相容性关系。
19.根据权利要求11所述的系统,还包括 分组器,配置成基于某一规则,将所述至少两个待测试应用的测试例分组,并且聚类器以所述测试例组为粒度来聚类所述至少两个待测试应用的测试例到至少一个虚拟机实例。
20.根据权利要求11所述的系统,其中聚类器将所述至少两个待测试应用中相互之间的相容性关系为相容的待测试应用的测试例中相互之间所需要的资源和执行时间匹配的测试例,聚类到所述至少一个虚拟机实例。
全文摘要
本发明公开了一种对待测试应用的测试例进行处理的方法和系统。该方法包括评估至少两个待测试应用,以确定所述至少两个待测试应用相互之间的相容性关系;获取所述至少两个待测试应用的测试例,并确定所述至少两个待测试应用的测试例所需要的资源和执行时间;根据所述至少两个待测试应用之间的相容性关系、所述至少两个待测试应用的测试例所需要的资源和执行时间,聚类所述至少两个待测试应用的测试例到至少一个虚拟机实例,以在所述至少一个虚拟机实例上对所述至少两个待测试应用的测试例进行测试。根据本发明的各实施方式,能提高虚拟机实例的利用率。
文档编号G06F11/36GK102736972SQ20111008574
公开日2012年10月17日 申请日期2011年3月30日 优先权日2011年3月30日
发明者何乐, 朱俊, 李中杰, 潘永高, 王庆波, 田春华, 田瑞雄 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1