6.2 云计算软件测试应注意的问题
云计算是目前比较热门的技术。关于云计算的定义,业界有各种各样的定义标准,并且每个标准都有一定的意义。到目前为止,关于云计算的定义已超过100种。在这里给出CSA(Cloud Security Alliance)云计算安全联盟在Security Guidance ForCritical Area of Focus In Cloud Computing V3.0中的定义:
“云计算的本质是一种服务提供模型,通过这种模型可以随时、随地、按需地通过网络访问共享资源池的资源,这个资源池的内容包括计算资源、网络资源、存储资源等,这些资源能够被动态地分配和调整,在不同用户之间灵活划分。凡是符合这些特征的IT服务都可以被称作云计算服务。”
对云计算进行软件测试需要注意哪些问题?下面会详细介绍。
6.2.1 云计算中增加了供应商角色,给云计算测试带来复杂性
在传统软件项目中,只有软件“厂商”和“客户/用户”这两个角色,但是引入云计算概念后,增加了“供应商”这个角色,供应商主要提供云平台环境,如图6-1。供应商在维护云平台中的软硬件设备可能不会告知软件厂商,这样变更后的软硬件设备可能引起运行在云中的服务器在功能或者性能上受到影响。
案例6-2:云产品中由于供应商修改参数引起的连锁反应。
A公司的产品是一个云计算的产品,托管给云供应商X。对于某一个功能在前一天还没有问题,可是今天,A公司接连接到客户的投诉,被告知某个功能不能使用。A公司通过调查,发现这个功能的确发生了故障,经过连夜排查,发现问题不在软件本身,可能得与云供应商相关。后得知发生故障前一个晚上,云供应商为了给B公司发布一个新产品,而修改了系统上一个参数而导致。A公司对此事非常恼火,与其他厂商达成一致意见,要求云供应商以后若有什么改动,需要把改动的信息提前3天告诉其他厂商,以免同样的问题再一次出现。
6.2.2 云计算中使用虚拟技术,给性能测试带来的影响
云中的软件产品都是运行在虚拟平台上的,包括CPU、内存、网络和硬盘。并且这些设备经常可能发生位置变化,如某个应用的数据库今天运行在天津的某个实体设备上,明天被分配到法国的某个实体设备上。比如,法国某个设备的性能远远低于/高于天津的某个设备。这样带来的结果是执行同一个性能测试用例,今天和明天的结果可能完全不同,如图6-2所示。
案例6-3:云的虚拟技术对产品性能的影响。
大世界电子商务平台经过近半年的开发,推出了v1.0版本,这套系统在公司本地云上经过周密详细的测试,不管在功能,还是在性能上测试都非常满意。正式发布一年后随着用户和流量的增加,大世界电子商务平台决定把系统部分安全性级别要求不太高的模块由某个云代理厂商的公有云上。但是后来发现这部分的性能时好时坏,很不稳定。大世界电子商务平台将这个情况告诉云代理厂商,第二天,云代理厂商被告知是由于被分配的各个虚拟设备所用网络的网络带宽引起的。为了长期考虑,大世界电子商务平台升级了云服务等级,在这个等级下,系统可以将性能好的设备优先分配给大世界电子商务平台。
6.2.3 增加按照使用量收费的软件测试方法
云计算是通过使用互联网流量以及存储器空间进行收费的。典型的按量使用付费模型像日常生活中使用的水、电、气一样。所以,测试云计算产品时需要考虑这个因素,并且需要考虑这种收费方式是否具有快速的可伸缩性。
案例6-4:云计算的收费。
计费开始,应用程序需要2GB的硬盘空间,它主动向云服务器提出申请,云服务器自动分配2GB的硬盘空间给该应用程序。2h后,由于业务量上去了,应用程序需要的硬盘空间需要增加到4GB,云服务器会根据应用程序的申请,自动再给应用程序2GB的硬盘空间;3h后由于业务量下降,应用程序需要硬盘空间下降到3G,云服务器也会根据应用程序的申请自动减少1G的硬盘空间,并且应用程序持续使用3G空间达4h。计费系统应该如何收费呢?假设每小时使用1G硬盘空间的价格为4美元,不满一小时按一小时收费。在刚才的例子中,9h内需要支付(2G×2h+4G×3h+3G×4h)×4美元/ Gh=112美元。在现实测试过程中往往会发现,使用量下去了,但是金额不下降或者使用量上去了,但是金额不上升的情况,这也是需要注意的。
6.2.4 安全性测试
安全性是云计算最关注的问题,我们不希望存在云中的数据丢失,或者在平台迁移的时候发生丢失。以及存在云中的信息被非法调用查看,所以做好云安全测试是重中之重。云产品安全测试如图6-3所示。
图6-3 云产品安全性测试
案例6-5:云中信息的存储。
A公司是一家电子商务网站,其产品的运行都在公司内部的私有云中,安全性不存在任何问题。但是,随着运营日期的逐年增长,数据量呈指数级的增长,存储在本公司内部的私有云中不太划算,经过与公司高层研究决定,将这些数据存储到公有云上,并且考虑到数据的安全性,所有数据均采用了公司内部开发的一套加密算法。
顾翔凡言:
不是好的工作会给你带来好的心情,而是好的心情会给你带来好的工作。