性能测试的云服务化——云遇见性能测试

2016-11-30   出处: Ministry Of Testing  作/译者:Anubha Jain&Vipin Jain/亚然

多年来,云计算在IT行业中的作用越来越重要。在此背景下,云可以提供多种服务,如资源共享,给计算机提供软件和信息,并且可以通过网络(通常是互联网)把一些设备变成一个实用的程序(如电力网)。由于云提供的都是相同的基础设施,基于云的应用程序而言,其性能往往是不需要我们担心的,反而安全才变成了我们最需要重视的事情,

一个测试人员应该明白,无论是在云内部或是外部,对一个应用程序而言,需要进行测试的地方都是一样的。最终用户只关注的是一个无缺陷的高性能的应用程序,而不关心应用程序位于哪里。在大多数的云服务协议里,都会提及和保证应用程序的性能。

那么,云在哪里影响着我们呢?

在现实世界中,云对我们的影响随处可见。例如在平板、手机和笔记本电脑上的社交平台、电子邮件服务和数据共享服务。当你使用这些产品和服务时,使他们得到了更高的关注。

性能测试也可以从云计算中获益。不同于功能和安全性测试,性能测试总是需要一套复杂的工具,进而通过工具来判断应用程序的性能是否可靠。做性能测试往往需要大量的数据和很繁重的工作量。因此,有一个非常好的、复杂的基础设备是必要的,但不是所有的公司团体都能够创建,管理和维护它。而云成为他们的救星。只需支付相应的服务费用,所有的都会为你准备好。不用购买硬件和软件,不需要进行现场测试。只需要测试再测试。

性能测试都涉及什么?

性能是直接影响软件用户体验的质量属性。如今,很多客户和供应商都希望把系统移到云上,因为他们都想要最强的负载和最快的响应时间。

系统的性能是由系统在任何既定的情况下所使用的资源量所定义的。可以归类于以下的几个方面,

响应时间:一个功能单元对一个给定的输入作出反应的时间;

资源利用率:所有的硬件和软件资源都应该最大程度地被利用,并且降低至最小的空闲时间

可靠性:系统在出错后能够及时的恢复到工作状态。

任何一个系统的性能测试都是取决于需求说明书中上述因素的具体要求是什么,然后再将在测试后的结果与他们进行对比。

性能测试往往需要大量的成本和时间,因为他们需要扩展性强的基础设施。对待测试的原始系统进行模拟测试,然后对比上述的性能因素。准备测试,执行测试,定义预期结果,对实际结果提出、并解决问题,都增加了总成本和所需的时间。而其中很大的一个因素就是测试工具。测试人员使用工具之前,将需要大量时间来理解和学习它。

典型的性能测试:

响应测试:给定一组有限的资源,测试系统响应能力 

批量测试:如在一个工作日结束时的数据迁移

稳定性测试:可能导致系统崩溃的测试方案

可扩展性测试:测试当增加/减少用户的数量是,该系统是否可扩展

应力测试:系统在崩溃之前可以处理的最大负载

云为性能测试提供了什么?

云可以用于在以下4种方式的测试:

1、作为测试系统

2、作为一个测试工具

3、作为测试环境

4、作为测试试验

云作为测试系统

随着云逐步变为一个生产平台,现在很多应用程序都被建立在云中。

但这并不能保证这些应用程序是没有缺陷的。因此,一个测试人员在测试云中所创建的应用程序时应该跟其他应用程序的测试一样严格。测试过程基本上是相同的:计划,分析,设计,实施。

当然,对于安全来说我们需要特别关注一下,因为几乎任何人在任何时间从任何地点都可以访问云,它的主机硬件也在许多用户之间共享。安全性即需要确保应用程序只有授权的用户可以访问。其他需要重点关注的因素就是云的可移植性(降低云之间的相互依存关系)和可靠性。

云基础设施也需要进行测试,故障恢复,电源和负载平衡。这种测试几乎包括了所有的性能测试活动。

云作为测试工具

性能测试往往遵循一个“更多的工具更复杂的测试”的原则。做性能测试会使用大量的测试工具,可能包括文档、脚本、输入、预期输出,安装和拆卸程序,文件,数据库和环境。许多公司也会有自己的测试工具来满足其专项测试。

每个服务都能在云上找到满足他们要求的一整套测试。随着移动APP逐步成为新一代需要进行测试的软件,人们发现在每一个可用设备和平台上实现测试是很难的。 而可以把云作为一个测试工具测试所有的设备。

把云作为一种测试工具,将有助于基于云的性能测试的普及,因为它将变得不那么复杂,也更适用于性能测试。测试人员可以更专注于测试本身上,而不是测试工具和许可证问题。

云作为性能测试的环境。

做性能测试一直苦于缺乏测试环境,云可以为性能测试提供测试环境和测试工具。我们可以将整个应用程序在云内进行测试。这将有助于进行负载测试、并发现不同版本的应用程序之间的差异。

性能测试将会受益于这种越来越多的 24×7 模式下的测试环境和测试工具。环境的不可用,往往会导致测试延迟或不能执行,测试人员也会担心对生产系统有未知的影响。云为性能测试人员提供了一个测试环境。

云作为测试试验

云测试是一个真正的创新型的测试。他更注重于这些方面,如在进行回归测试时的自动化,测试的结果,测试的弹性和可扩展性。由于测试的成本是更容易计算和透明的,这将使测试更加的便宜。

性能回归测试的概念仍在发展中。各种版本的应用程序的性能都被证实,这就是云作为测试试验的价值所在。如果应用程序架构在一段时间内保持不变,供应商就可以提供任何性能回归测试组件作为云服务。

展望

一个系统在云上和系统现场的性能测试基本上是相同的原则,并遵循相同的过程。然而,我们试图探讨的是云计算如何可以提供更有效的性能测试。

它使得测试人员对于购买测试工具、安装、获取许可和更新等可以不必关心,而可以专注于测试本身。

缺乏合适的环境而导致测试中断将成为过去式。由于云24×7模式 的可用性,用户可以再次专注于测试,而不是等待测试环境。

 对于那些以性能测试为标准来检测系统是否可以足够供用户使用的企业来说,云提高了测试和结果的透明度。他们现在可以再次专注于系统的基本能力,测试人员可以专注于测试。


【英文原文:

http://www.ministryoftesting.com/2014/11/offering-performance-testing-cloud-service/


{测试窝原创译文,译者:亚然}

译者简介:亚然,软件测试爱好者,长期从事软件测试工作



声明:本文为本站编辑转载,文章版权归原作者所有。文章内容为作者个人观点,本站只提供转载参考(依行业惯例严格标明出处和作译者),目的在于传递更多专业信息,普惠测试相关从业者,开源分享,推动行业交流和进步。 如涉及作品内容、版权和其它问题,请原作者及时与本站联系(QQ:1017718740),我们将第一时间进行处理。本站拥有对此声明的最终解释权!欢迎大家通过新浪微博(@测试窝)或微信公众号(测试窝)关注我们,与我们的编辑和其他窝友交流。
347° /3479 人阅读/0 条评论 发表评论

登录 后发表评论