与非基于云的软件应用相比,基于云的软件应用有一些附加的特性。这些特性也为云应用带来的挑战,但是用一种更为系统的、全面的方法来进行云测试计划,这些挑战都可以顺利解决。
现在,基于云的应用逐渐普遍,无论是私有云之上,还是公有云之上,或者是混合云。基于云的应用测试也面临其独特的挑战。在为云端应用设计和执行合适的测试计划中,理解这些应用的结构式怎样的经历了漫长的过程。这些测试是对通常任何软件应用都需要的单元测试、系统测试以及性能测试的补充。下面我们来介绍这些基于云的测试是什么以及如何处理:
浏览器测试:如果使用瘦客户端软件,浏览器并不是基于云的软件应用所必需的。然而,大多数案例中,会使用各种流行的浏览器,而且使用情况几乎均等。通过全球的应用情况,至少列出前四名或者前五名浏览器是必要的,确保应用测试计划包括用这些浏览器测试应用。浏览器终端脚本通常导致浏览器兼容性为题,如果你期望使用不同的浏览器,基于云的应用设计需要小化脚本或者没有脚本。
移动平台:智能手机和平板电脑迅速加入笔记本电脑和台式机的行列,这些都是基于云的应用要进行访问的地方。很多企业很喜欢基于云的软件应用的移动Web版本用户界面。然而,移动本地应用程序也可以用来代替访问使用移动网络版本的软件方案。本地应用接口测试计划需要在基于浏览器的测试之外列出来。
用户界面测试:基于云的软件应用中,用户界面测试应该和非基于云的应用测试一样。云用法并没有带来附加的挑战,但是用户界面测试要成为测试计划必要的一部分,尤其是在多浏览器中测试的时候。
性能测试:基于云的软件应用实际应用中,显著的佳性能报告要比平均性能报告多。例如,购物网站全年平均性能体验需求,但是圣诞节购物季可能需要统一应用的佳性能。一个更为全面和可靠的测试,需要增加模拟佳性能测试。
服务配置/重配置测试:私有云、公有云或者混合云都应该在需求增加的是配置服务或者不需要的时候重新配置服务。这种配置和重配置要在基于云的测试计划中模拟。
分布式云测试:基于云的软件应用可以在不同地理地点使用。这种地理分布以及各种ISP提供的服务需要进行实际测试模拟。商业分布测试模拟服务指全球不同ISP上运行的服务器可以模拟用户来自这些地点的输入。云测试计划应该包含这种服务的使用,来增加测试计划的质量。
多租户测试:基于云的软件应用具有多租户性,旨在不同层级上的客户端分离,并结合不同的Web服务器、分离的数据库服务器或者同一服务器上数据库层的数据分离。测试计划可能需要为这些内容设计账户并设计合适的测试。
功能降低测试:在同一时间,过多用户登录并使用应用的时候,基于云的软件应用服务器应该完全降低性能,而不是超负荷。通常可能设计云应用在超过具体的数字的时候限制登录用户数,所以合理的性能能保证所有用户进入。功能降低测试是云测试计划中重要的组件。
连接/断开操作测试:基于云的软件应用只为连接模式设计,或者互联网连接到服务器可用的时候。客户端不会存储任何东西,服务器端应用存储所有数据。断开模式允许基于云的软件应用可以在连接或者断开模式中工作。在断开模式中工作时,数据本地化存储,互联网到服务器连接可用时,本地存储数据同步到服务器,反之亦然。如果这个功能只为基于云的应用设计,测试计划需要有所体现。
云可移植性测试:私有云和公有云混合的时候,基于云的应用的可移植性不能看做是理所当然的事情。测试计划应该包括高层次功能,确保云可移植性。有时甚至是在私有云中,如果系统安装的Web服务器或者数据库服务器不完全一样,可能会遇到奇异的应用行为。如果私有云服务器上的例子完全在你的控制之中,公有云需要彻底测试,只为确认一下。
总结
与非基于云的软件应用相比,基于云的软件应用有一些附加的特性。这些特性也为云应用带来的挑战,但是用一种更为系统的、全面的方法来进行云测试计划,这些挑战都可以顺利解决。