65.9K
CodeProject 正在变化。 阅读更多。
Home

云中测试概述

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.80/5 (2投票s)

2013年4月18日

CPOL

9分钟阅读

viewsIcon

21144

本文概述了将应用程序测试从传统的本地环境迁移到云的优势,对在云中为应用程序执行的不同类型测试进行了高级描述,以及测试团队/公司在采用云解决方案时需要执行的方法。此解决方案旨在

引言

在传统的本地测试场景中,大多数中小型企业 (SMB) 或大型组织都非常关注测试基础设施的搭建,以及长期维护这些基础设施。在基础设施上投入大量资金对他们来说是一种负担。云计算是新时代的解决方案,它有助于组织或服务行业专注于其核心业务,而不是担心提前搭建和维护其 IT 基础设施,这会让他们产生巨大的资本支出 (Cap-Ex)。资源或服务可以通过互联网随时随地从云中访问。云计算提供了一个即时可扩展(扩展/缩减)、按需可用、灵活的托管环境,同时帮助组织规划、安装、配置和验证复杂的测试环境,从而在短时间内提高测试质量。云计算需要普遍性、效率、安全性和可信赖性。云计算是 IT 行业的热门话题,它作为一种按需提供计算资源并降低管理成本的模型。在安全性、隐私性、可用性、性能和完整性等方面仍然存在一些挑战或顾虑。要最大程度地满足最终用户的业务需求,任何云产品都需要专门的规划和严格的测试工作。

云测试的好处

云测试在环境的设置和维护、按需服务、降低成本、免除前期资本支出、资源共享、更广泛的网络访问、快速弹性以及最重要的是缩短不同业务在当前快速发展的服务和 IT 行业中的交付周期等方面为企业提供了帮助。

以下是云测试的一些主要好处

  • 快速提供测试环境 - 在传统的测试方法(本地/内网)中,公司曾经花费巨资提前搭建专用基础设施。由于现实世界应用程序在短时间内对需求和用户具有动态性,因此公司很难为测试用途搭建能够反映生产环境的基础设施。借助云,组织只需几秒钟即可启动测试环境/服务器,以满足项目时间表。企业/用户可以模拟生产环境的测试副本,这有助于测试团队尽早验证业务场景并发现 bug。
  • 降低资本支出或基础设施搭建成本 - 在 IT 行业中,平均有 30% 到 50% 的服务器用于测试目的。其中大多数利用率不高,因为测试是周期性活动,一旦阶段结束,它们就会在其余时间处于闲置状态。由于在专用服务器上进行了巨额前期投资,公司获得的投资回报 (ROI) 非常低。云会在组织需要时负责搭建测试基础设施,并在测试完成后解除所有搭建/服务器,从而帮助公司节省资金。与以前相比,这有助于公司以较低的价格完成工作,因为在提前搭建整个基础设施方面没有相关成本。
  • 硬件资源的快速定制 - 随着公司出于其动态应用程序的性质允许其测试环境中使用云环境,这些应用程序在行业中是复杂且分布式的,因此组织可以轻松模拟生产场景(这在早期模型中是一个挑战,因为它需要大量的成本和相关资源)来验证负载、性能测试、在不同操作系统(内存、CPU 和硬盘容量的不同组合)的多种浏览器以及市场上最新版本中验证场景。
  • 支持绿色计算并减少碳足迹 - 绿色计算是有效利用计算资源的研究和实践。由于巨大的 IT 市场和不同的行业,全球对计算资源(服务器和台式机)的使用量持续大幅增长。随着大多数公司采用提供按需基础设施的云战略,云解决方案使公司能够变得更加环保。
  • 资源的有效利用 - 随着公司将大多数常用服务、工具、应用程序、基础设施、测试、开发和支持迁移到云端,这将使公司能够将其资源(人员、金钱、时间)投入到核心竞争力上,这有助于它们更快地实现目标并赚取更多金钱。无需提前搭建环境或一直维护到下一个周期。云将根据需要处理所有业务需求。通过工作负载的平均分配,云服务器的效率和利用率得到了显著提高。云中的测试利用了供应商提供的现有云计算基础设施,这有助于在提高测试效率的同时大大降低计算成本。

在云中应执行的测试类型

云中的测试与传统的本地测试不同,在本地测试中,企业必须从端到端的角度在所有方面搭建、维护和验证场景。以下是一些将应用程序迁移到云端后需要执行的测试。

  • 系统集成测试 (SIT) - 执行测试以验证云解决方案能否与当前基础设施和环境协同工作,证明云解决方案的实施不会影响任何现有系统。
  • 用户验收测试 (UAT) - 执行测试以验证供应商提供的当前云解决方案是否满足组织的业务需求。
  • 安全测试 - 确保将存储在云中的所有敏感和重要信息高度安全。由于隐私也是云中用户角度的关键领域,因此验证应用程序用户及其相关信息在云中维护时的隐私性非常重要。
  • 性能测试 - 测量云中系统性能的测试技术。通过在全球不同数据中心托管订阅来验证网络延迟和响应时间、负载均衡、峰值请求数。此外,还需要传统的负载和压力测试来验证云模型中应用程序在不同动态负载和压力下的业务场景。
  • 灾难恢复测试 - 根据 SLA 验证在不同场景(系统在高负载/数据量下崩溃、硬件故障、系统故障、网络中断、带宽不足)下从灾难中恢复所需的时间。还需验证在此过程中是否有任何数据丢失以及报告故障所需的时间。
  • 可用性测试 - 云产品应 24x7 全天候为企业或最终用户提供服务。供应商有责任根据 SLA 进行维护。
  • 可伸缩性测试 - 确保云供应商根据用户/组织的需求提供扩展/缩减功能。
  • 多租户测试 - 多租户的概念是从单个实例向多个租户(用户/客户端)提供解决方案/产品。当多个客户端使用同一实例时,应验证云产品在安全性​​和数据方面的表现。
  • 互操作性测试 - 验证将应用程序从一个云迁移到另一个云提供商是否能够成功运行。基本上,当企业/用户从一个基础设施迁移到另一个基础设施时,不应有任何问题。
  • 可访问性测试 - 验证来自不同地理位置的用户组是否可以随时访问云,而不会出现任何延迟。
  • 自动化测试 - 确保自动化套件可以在云中以最少的更改进行创建和执行。

有三种不同的服务/交付模型(SaaS、PaaS、IaaS),可以帮助组织根据其业务/测试需求选择最适合的一种。有三种部署模型可用,即公有云、私有云和混合云。

组织将根据其业务需求为测试选择合适的交付和部署模型。

 

迁移到云测试前的关键考虑因素

在将应用程序迁移到云之前,重要的一点是选择能够根据组织业务需求并提供适当 SLA(服务级别协议)的广泛服务的正确供应商。首先,组织必须评估风险,进行一些 POC(概念验证)以充分探索将其现有或新应用程序迁移到云测试的好处。在构建测试平台之前,他们还需要对测试工具、硬件、软件、服务器、存储、带宽、时间表等进行适当评估。由于大多数遗留应用程序都是紧密集成的,模块之间的复杂性非常高,因此在做出向云迁移的战略决策之前,团队之间应进行深入讨论(将应用程序迁移到云涉及哪些成本、时间因素和资源使用情况?)。如果应用程序是 HLB(高可用性/负载平衡)任务关键型应用程序,则需要从供应商能力、内部 IT/行业法规、合规性等所有参数开始进行评估,然后再进行迁移。在云上开始测试之前,测试人员的技能集非常重要。通过参加研讨会、一些关于云测试的最佳实践、网络研讨会、工作坊来学习和提高所有团队成员的云知识是获取所需知识的好方法。还需要不时监控测试结果,以了解应用程序在云使用中的性能和运营成本。

云测试中的挑战

公有云中的安全是企业和最终用户的首要问题,加密技术仍然被认为不足。目前没有行业标准来将公有云资源与本地数据中心资源集成。公有云供应商拥有自己的标准架构、不同的定价表和不灵活的操作系统模型,这导致互操作性困难。应用程序的复杂性使得组织难以评估测试工作量和策略。云供应商应为客户提供透明的定价模型,以便企业更好地进行成本估算、容量规划和前期战略。性能是私有云中的另一个问题。由于应用程序位于私有云中,许多用户同时共享,这会导致延迟问题。

结论

根据 Gartner 等领先分析师的预测,未来 5 年内,大多数公司将在其应用程序中使用云解决方案。将测试迁移到云端有助于组织获得最新的工具、更高的安全性、按需资源,而无需担心管理基础设施和以非常低的成本获得许可。将测试推向云端是一个双赢的局面,并在许多方面为组织带来显著的改变。因此,组织应该采取措施来改变相应的测试策略和程序。为了获得更好的云测试体验,测试团队应采用能够满足其业务需求的稳健策略。云计算因其可伸缩性、可用性、健壮性和较低的服务成本而成为全球行业中增长最快的领域,极大地吸引了中小型企业。可以部署混合云(公有云和私有云的混合)以利用两者的优势,这有助于组织将安全数据保留在私有云中,而将其他数据保留在公有云中。第三方监控服务有助于客户在使用云环境托管其应用程序时获得行业最佳服务。

© . All rights reserved.