首页 理论教育云测试概念与类型详解

云测试概念与类型详解

【摘要】:依照软件测试的基本含义来讲,普遍认为云测试是由测试和云两者构成。即云测试是一种通过云环境实施软件测试的过程。目前,在云环境中测试的研究主要集中在云资源的调度和优化上。工业界已推出很多云测试的工具。此外,还要测试面向客户的API和安全服务等。混合云测试环境中,服务提供商在混合云基础设施上部署基于云的应用程序来检查其质量。表8-1 三种类型云测试的具体任务

由于云测试是一个刚刚兴起的云计算研究领域,关于什么是云测试,目前还没有公认的统一定义。比如参考文献[2]给出的定义是“云测试是一种利用云环境模拟实际用户使用负载,以对Web 应用进行负载和压力测试的软件测试”。参考文献[3]认为“云测试是一种有效利用云计算环境资源对于其他软件进行的测试或是一种针对部署在云中的软件所进行的测试”。

依照软件测试的基本含义来讲,普遍认为云测试是由测试和云两者构成。首先它应该是一种软件测试,有自己的测试手段和测试方法。其次,它工作于云端,通过云来实现其测试方法和测试过程。即云测试是一种通过云环境实施软件测试的过程。

依据测试对象和测试策略不同,可以将云测试划分为如下三个大的类别[4]

1.基于云的在线应用测试( Online-based Application Testing ona Cloud)

这种类型的测试主要是利用云服务提供商所提供的云资源对可以部署在云平台上的应用软件进行测试。用户只需连接互联网来访问云测试服务,就可以对应用软件进行高效、便捷的测试,而不需关心测试T具、环境和资源的使用情况,云测试平台负责对相关的资源进行调度、优化和建模等方面问题。

目前,在云环境中测试的研究主要集中在云资源的调度和优化上。工业界已推出很多云测试的工具。比如,PushToTest推出的云测试的T具TestMaker[5]可以支持本地和云端或者两者皆可的测试方式。IBM公司的Smart Business Test Cloud可以向用户提供动态、可靠和按需分配的虚拟测试服务器资源[6]

2.面向云的测试(Cloud-oriented Testing)

这种类型的测试是针对云平台自身的架构、环境、功能、性能及系统等方面的测试问题,使云计算自身符合各项云技术指标要求,满足各项性能规定。

测试活动通常是在云内部,通过云服务供应商的工程师执行。主要目的是保证所提供的云服务的质量。实现云服务的具体功能性方法必须经过单元测试、集成、系统功能验证和同归测试,以及性能和可扩展性的评价。此外,还要测试面向客户的API和安全服务等。其中,性能测试和扩展性评价非常重要,因为它们是确保云弹性服务的基础。

目前,针对云服务环境的测试主要集中在IaaS和PaaS服务架构上,对SaaS层的研究较少。由于IaaS的性能直接关系到云服务上层的服务的可靠性,所以针对IaaS层的云测试研究侧重于IaaS的性能问题。比如通过测试,可以分析Hadoop的执行效率及执行失效问题等。在PaaS层面主要关注PaaS层上开发程序的测试,缺乏PaaS自身测试机制。在SaaS层次上的研究较少,相关理论研究并不深入。目前的主要工作是借助于云平台获得软件测试服务。比如,参考文献[7]提出一种TaaS的单元测试模型。把单元测试作为一种服务提供给开发人员,使开发人员不需要编写大量的测试用例,就可以获得测试结果,这大大减轻了开发人员的负担。

3.基于云的云应用测试( Cloud-based Application Testing over Clouds)

这种类型的测试是指为保证能够运行于不同云环境的云的应用程序的质量而进行的测试。当开发部署云应用程序时,在不同云环境下进行测试是必要的,以确保它的质量。(www.chuimin.cn)

与前两种类型不同,此类型的测试目标是保证运行于云上的端到端应用的质量。需要在不同云技术环境下,开展系统级集成、功能验证、性能评估和可伸缩性等方面的测试任务,验证在不同环境下的系统兼容性、互操作性和连通性。

4.测试环境

与上述三种云测试类别对应的测试环境如图8-1所示。

基于云的企业测试环境是指云服务提供商在云中部署一个基于 Web 的应用程序,以验证其在云框架中的软件质量。在私有/公有云测试环境中,服务提供商在私有或公有云中部署SaaS 应用,以验证其质量。混合云测试环境中,服务提供商在混合云基础设施上部署基于云的应用程序来检查其质量。

978-7-111-53353-5-Chapter08-1.jpg

图8-1 测试环境

a)基于云的企业测试环境 b)私有公有云测试环境 c)混合云测试环境

5.测试内容

表8-1列出了上述三种类型云测试的具体任务。

8-1 三种类型云测试的具体任务

978-7-111-53353-5-Chapter08-2.jpg