用于使用分布式计算的测试管理的方法和装置的制造方法

文档序号:8412452阅读:207来源:国知局
用于使用分布式计算的测试管理的方法和装置的制造方法
【技术领域】
[0001]本公开一般涉及测试管理领域,并且更具体地涉及使用分布式计算的测试管理。
【背景技术】
[0002]网格计算涉及来自多个位置的计算机资源的集合,这些计算机资源一起工作以实现共同目标。网格可以被认为是具有包括大量文件的非交互式负载的分布式系统。分布式计算涉及多个远程安置的计算机,其中每个计算机都参与计算问题或信息处理。网格计算区别于诸如集群计算的常规高性能计算系统,因为网格往往是更加松弛地耦合的、是异构的、并且是地理上分散的。
[0003]现代软件开发方法常常包括敏捷的软件开发方法,其要求在每一次产品代码改变时都运行的综合自动化测试套件。多数开发组通过部署多个专用于构建和测试产品的强大的构建服务器(build server)来实现此要求。此类服务器意味着相当大的资本和操作成本。在介质上针对大型软件项目运行综合自动化测试套件常常可能超过二十四(24)小时。测试管理器往往被用来管理计算机软件测试过程。测试管理器管理先前已经由测试过程规定了的测试(自动地或手动地)。

【发明内容】

[0004]本发明的实施例涉及使用分布式计算的测试管理。计算设备把测试任务发送给用于提供服务的测试客户端,其中测试客户端具有空闲资源。计算设备从测试客户端接收测试任务服务的结果,其中测试任务包括开发中的计算机代码以及反映测试客户端要如何执行测试任务的预定义信息。
【附图说明】
[0005]图1是说明根据本发明一个实施例的环境的框图。
[0006]图2是根据本发明一个实施例,对图1的被测系统、测试客户端和测试服务器之间的各种推/拉循环和传输的描绘。
[0007]图3是描绘根据本发明一个实施例的程序功能的操作步骤的流程图。
[0008]图4描绘了根据本发明一个实施例的测试服务器和测试客户端的组件的框图。
【具体实施方式】
[0009]如本领域技术人员将要理解的,本发明的各方面可以实现为系统、方法、或者计算机程序产品。相应地,本发明的各方面可以采用完全的硬件实施例、完全的软件实施例(包括固件、驻留软件、微代码等)、或者结合软件与硬件方面的实施例的形式,其可以在此统称为“电路”、“模块”或“系统”。此外,本发明的各方面可以采用实现在一个或多个其上包含有计算机可读程序代码/指令的计算机可读介质中的计算机程序产品的形式。
[0010]可以利用计算机可读介质的任何组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质可以是,例如但不限于,电的、磁的、光的、电磁的、红外的、或半导体系统、装置或设备,或者是上述的任何合适的组合。计算机可读存储介质的更具体的例子(非穷举的名单)可以包括如下:具有一个或多个电线的电气连接、便携式计算机盘、硬盘、随机读取存储器(以下称为“RAM”)、只读存储器(以下称为“ROM”)、可擦除可编程只读存储器(以下称为“EPR0M”或“闪存”)、光纤、便携式紧致盘只读存储器(以下称为“CD-ROM”)、光存储设备、磁存储设备、或上述的任何合适的组合。在本文的语境中,计算机可读存储介质可以是能够包含或存储用于由指令执行系统、装置或设备使用或者与其结合使用的程序的任何有形介质。
[0011]计算机可读信号介质可以包括其中体现了计算机可读程序代码的传播数据信号,例如在基带中或者作为载波的一部分。此类传播信号可以采用多种形式中的任意一种,包括但不限于,电磁的、光的、或它们的任何合适组合。计算机可读信号介质可以是计算机可读存储介质以外的、可以传送、传播或传输用于由指令执行系统、装置或设备使用或与其结合使用的程序的任何计算机可读介质。
[0012]实现在计算机可读介质上的程序代码可以使用任何合适的介质传输,包括但不限于,无线、有线、光纤电缆、RF等,或者上述的任何合适的组合。
[0013]用于执行本发明的各方面的操作的计算机程序代码可以用一种或多种编程语言的任何组合写成,所述编程语言包括诸如Java、Smalltalk、C++等面向对象的编程语言,以及诸如“C”编程语言或类似编程语言的传统过程式编程语言。程序代码可以完全在用户计算机上执行、部分在用户计算机上执行、作为独立软件包执行、部分在用户计算机上并且部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在后面的情况中,远程计算机可以通过任何类型的网络(包括局域网(以下称为“LAN”)或者广域网(以下称为“WAN”))连接到用户计算机,或者,可以连接到外部计算机(例如,使用因特网服务提供商而通过因特网连接)。
[0014]下面将通过参考根据本发明的实施例的方法、装置(系统)、计算机程序产品的流程图和/或框图描述本发明的各方面。将要理解,流程图和/或框图中的每个框,以及流程图和/或框图中的框的组合可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机、或其他可编程数据处理装置的处理器以产生机器,从而,经由所述计算机或其他可编程数据处理装置执行的指令产生用于实现流程图和/或框图的一个或多个框中规定的功能/动作的装置。
[0015]这些计算机程序指令也可以存储在能够引导计算机、其他可编程数据处理装置、或其他设备以特定方式运作的计算机可读介质中,从而,存储在计算机可读介质中的指令产生包括实现流程图和/或框图的一个或多个框中规定的功能/动作的指令的制造品(article of manufacture)。
[0016]计算机程序指令也可以加载到计算机、其他可编程数据处理装置、或其他设备上以使得在所述计算机、其他可编程装置、或其他设备上执行一系列操作步骤以产生计算机实现的过程,从而,在所述计算机或其他可编程装置上执行的指令提供用于实现流程图和/或框图的一个或多个框中规定的功能/动作的过程。
[0017]为了减小在软件开发期间运行综合自动化测试套件的运行时间,当程序代码改变时运行综合自动化测试套件。部署多个专用于构建和测试产品的强大的构建服务器可能意味着相当大的资本和操作成本。在介质上针对大型软件项目运行综合自动化测试套件常常可能超过二十四(24)小时。本发明的实施例试图通过减少就代码状态提供反馈所花费的时间来减少上述运行时间,因此使得任何缺陷能够被更高效地改正。
[0018]为解决此问题,本发明的实施例试图将作为测试套件一部分的测试任务分布到用于提供服务的空闲计算资源,诸如CPU和/或网络,其中空闲资源是异构计算机网格的一部分。简略而言,参与的测试客户端具有由用户预先安装的测试代理引擎,其在测试客户端可用于为测试任务提供服务时通知测试服务器。测试服务器发送测试任务到可用于提供服务的测试客户端并且记录测试结果。在某些实施例中,自动安装测试代理引擎而无需用户干预。在一个实施例中,与测试代理和/或测试任务的服务关联的过程被赋予较低的调度优先级,从而可以最小化测试客户端的性能退化。测试代理通知测试服务器所述测试客户端的系统配置和就绪状态。测试代理根据包括在测试任务中的指令执行测试任务,并且发送测试结果到测试服务器。在一个实施例中,测试任务包括反映测试客户端要如何执行测试任务的预定义信息。
[0019]现在将参考附图详细描述本发明的实施例。图1是说明根据本发明一个实施例的环境(笼统标记为100)的框图。图1是根据本发明实施例的环境(笼统标记为100)的示例性说明。根据本发明一个实施例,环境100是支持使用存在于计算机网格中的空闲计算机资源进行软件开发的环境。环境100由来自多个位置的计算资源的集合(诸如计算机网格)构成。环境100包括测试服务器110、
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1