云测试——是祸?是福?

是香港航空公司——国泰航空的测试交付经理 。他管理航线运营和货物域下多个项目的测试 。有着16年以上的软件测试经验,曾在美国、英国、印度和中国香港等地居住过并在那儿建立了自己的事业,他担任过许多知名度很高的耗资百万美元的项目的测试员、测试负责人、测试经理、程序经理以及测试交付经理 。在他的职业生涯中,他在测试舞台活跃了很长一段时间,并通过训练、指导、参与研讨会,积极地巩固测试社区和软件测试的实际操作 。拥有学位、文凭和证书,包括:物理和数学的理学士学位;统计学专业的文学硕士学位;计算机应用、MCSD、 ITIL、 BBST,ISEB等方面的证书 。是澳大利亚及香港计算机协会的一员,还曾是印度计算机协会的成员之一 。
在过去的10年中已出现了许多技术进步 。如今,全球经济危机影响了许多重要企业的运营 , 也迫使不少技术集团大幅减少了他们的运营或工厂,焦点已开始不断转向成本节约措施 。企业被迫寻找更新更好的工作方法,CIO 正让其团队寻找创新的解决方案以便推出类似或更好的可以大大节约成本的结果 。软件测试一直被多数组织视作一个必要的恶魔 。测试经理可以不再考虑雇佣大量人员来交付解决方案或者购买昂贵的工具或构建测试环境 。
在这种情况下,云技术出现了,于是所有人都激动了 。最激动的莫过于高层管理者们了 , 他们将云视为他们所有的基础设施的需求和问题的解决方案 。现在,云帮助省钱是确确实实的了 , 但它也不是适合所有问题的完全之策 。所以,全球的企业高层管理们讨论云的时候,也提及了测试基础设施,它被认为很耗钱 。
在进一步检测云计算是否能帮助软件测试前,准确了解云计算是什么很重要 。在其最基本的定义中 , 云计算是基于因特网的计算基础设施,它广泛使用共享软件和硬件资源并将这些作为一项服务按需提供给顾客 。
提供云服务大大减轻了客户组织工作 。客户受益于快速的上市时间、更便捷的可扩展性、减少的基础设施需求以及更多显著减少成本支出的机会 。有不少大型技术公司在为其他企业提供云服务 。其中一些广为人知的就有、、 和 。这些公司中许多都提供平台即服务(PaaS)或基础设施即服务(IaaS) 。基本上,云部署要么用作公共云,要么用作私有云 。有时候,它也可以用作公共和私有的混合云 。
对软件测试和云计算的理解和两者的术语似乎存在着一些争议 。差不多是四年前 , 我的一名上司问我为什么我们不专注于云测试 。我被要求搞清楚云测试是否可行 。我明白至少自己是没有足够的能力去测试云的 。事实上云测试(Cloud )并不是在云中进行测试( in the Cloud),云测试(Cloud )一词是错误的 。因此,对在云中测试彻底变革了测试进行的方法这一说法进行分析很重要 。

云测试——是祸?是福?

文章插图
尽管也可以说云带来了成本收益,但在我看来云并没有直接影响功能测试的交付或方法 。非功能测试,例如性能测试,却直接从在云中测试获益 。
企业为什么应该接受在云中测试也是有一些理由的 。如今SDLC早期就开始测试了,且大多公司都明白在生命周期早期就引进测试的价值 。对应不同测试水平的基础设施要求,开始是单元测试阶段,接着是系统和集成测试阶段,用户验收阶段和非功能测试阶段,这其中可能需要进行性能、安全、可恢复性/适应性/灾难恢复或业务验收测试的各种不同平台 。尽管许多公司试图减少这项成本支出,但多数情况下,只提供一个测试环境以满足所有这些测试需求是不可能的 。一个或一个有限测试环境是否可用不仅对交付计划,还对上市时间有重大影响 。很明显,不得不等待测试环境可用的人越多,就会越失望,错误率越高 。云解决方案可轻松解决这种情况 。考虑租云满足自己测试需求的公司可以更容易地在公司内部申请用私有云,可以让每个团队或部门都用到云 , 解决平行环境使用的风险或不同测试阶段的相互依赖 。这可比在测试环境上投资一大笔然后等项目交付后任由其在地下腐烂要好得多 。一个测试云的可用性有利于方便地访问可按需配置的硬件和软件的共享池的网络 。但是,我们也不该忘了,云并没有从根本上改变测试交付的方法 。我们只改变了测试环境或基础设施交付的模式 。那些认为云计算实际上正在改变或已经改变了进行测试的方法的人大概是错误理解了测试以及软件测试云能力 。
首先,有人说云大多是安全的且在云环境中各个测试阶段都可以方便地使用测试数据 。事实上 , 仅仅因为云总有安全漏洞尤其是公共云这一点,在云上测试对测试数据就要有更严格的标准和检查 。将源于生产环境的数据进行模糊处理后用作测试数据并是个常用做法 。如果由于人为错误 , 生产数据被暴露于公共云中,或者存在安全漏洞该怎么办?最近一个主要的云服务提供商上就有一起蛮出名的黑客事件 。于是大家都开始关注在云上转变遗留系统 。
尽管通过与用户现存网络和/或基础设施接触而将这些系统激活或许可行 , 但是客户终端仍需要额外的精力和基础设施,也就会减少测试交付的利益 。
【云测试——是祸?是福?】尽管两方都有有力的论据,我的个人观点是:接下来的几年,会强烈涌现更多的在云上测试 , 对云的需求会使得人人都用得起云,即使是更小的公司也可以方便地用到 。云绝对打破了组织内资源可用性的限制且让测试员一心专注于真正的测试而不让他们操心测试环境相关的问题 。