软件测试技术实战 设计、工具及管理》联载-27

简介: 软件测试技术实战 设计、工具及管理》联载-27

6.2  云计算软件测试应注意的问题


云计算是目前比较热门的技术。关于云计算的定义,业界有各种各样的定义标准,并且每个标准都有一定的意义。到目前为止,关于云计算的定义已超过100种。在这里给出CSACloud 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公司是一家电子商务网站,其产品的运行都在公司内部的私有云中,安全性不存在任何问题。但是,随着运营日期的逐年增长,数据量呈指数级的增长,存储在本公司内部的私有云中不太划算,经过与公司高层研究决定,将这些数据存储到公有云上,并且考虑到数据的安全性,所有数据均采用了公司内部开发的一套加密算法。


顾翔凡言:

不是好的工作会给你带来好的心情,而是好的心情会给你带来好的工作。

相关实践学习
2分钟自动化部署人生模拟器
本场景将带你借助云效流水线Flow实现人生模拟器小游戏的自动化部署
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
1月前
|
数据采集 监控 机器人
浅谈网页端IM技术及相关测试方法实践(包括WebSocket性能测试)
最开始转转的客服系统体系如IM、工单以及机器人等都是使用第三方的产品。但第三方产品对于转转的业务,以及客服的效率等都产生了诸多限制,所以我们决定自研替换第三方系统。下面主要分享一下网页端IM技术及相关测试方法,我们先从了解IM系统和WebSocket开始。
49 4
|
2月前
|
测试技术 持续交付 UED
软件测试的艺术:确保质量的实战策略
在软件开发的舞台上,测试是那把确保每个功能如交响乐般和谐奏响的指挥棒。本文将深入探讨软件测试的重要性、基本类型以及如何设计高效的测试策略。我们将通过一个实际的代码示例,展示如何运用这些策略来提升软件质量和用户体验。
|
1月前
|
Java 测试技术 数据安全/隐私保护
软件测试中的自动化策略与工具应用
在软件开发的快速迭代中,自动化测试以其高效、稳定的特点成为了质量保证的重要手段。本文将深入探讨自动化测试的核心概念、常见工具的应用,以及如何设计有效的自动化测试策略,旨在为读者提供一套完整的自动化测试解决方案,帮助团队提升测试效率和软件质量。
|
2月前
|
前端开发 JavaScript 测试技术
前端测试技术中,如何提高集成测试的效率?
前端测试技术中,如何提高集成测试的效率?
|
30天前
|
Web App开发 IDE 测试技术
Selenium:强大的 Web 自动化测试工具
Selenium 是一款强大的 Web 自动化测试工具,包括 Selenium IDE、WebDriver 和 Grid 三大组件,支持多种编程语言和跨平台操作。它能有效提高测试效率,解决跨浏览器兼容性问题,进行性能测试和数据驱动测试,尽管存在学习曲线较陡、不稳定等缺点,但其优势明显,是自动化测试领域的首选工具。
177 17
Selenium:强大的 Web 自动化测试工具
|
2月前
|
机器学习/深度学习 人工智能 算法
BALROG:基准测试工具,用于评估 LLMs 和 VLMs 在复杂动态环境中的推理能力
BALROG 是一款用于评估大型语言模型(LLMs)和视觉语言模型(VLMs)在复杂动态环境中推理能力的基准测试工具。它通过一系列挑战性的游戏环境,如 NetHack,测试模型的规划、空间推理和探索能力。BALROG 提供了一个开放且细粒度的评估框架,推动了自主代理研究的进展。
46 3
BALROG:基准测试工具,用于评估 LLMs 和 VLMs 在复杂动态环境中的推理能力
|
2月前
|
监控 测试技术 开发工具
移动端性能测试工具
移动端性能测试工具
61 2
|
2月前
|
安全 前端开发 测试技术
如何选择合适的自动化安全测试工具
选择合适的自动化安全测试工具需考虑多个因素,包括项目需求、测试目标、系统类型和技术栈,工具的功能特性、市场评价、成本和许可,以及集成性、误报率、社区支持、易用性和安全性。综合评估这些因素,可确保所选工具满足项目需求和团队能力。
|
2月前
|
安全 网络协议 关系型数据库
最好用的17个渗透测试工具
渗透测试是安全人员为防止恶意黑客利用系统漏洞而进行的操作。本文介绍了17款业内常用的渗透测试工具,涵盖网络发现、无线评估、Web应用测试、SQL注入等多个领域,包括Nmap、Aircrack-ng、Burp Suite、OWASP ZAP等,既有免费开源工具,也有付费专业软件,适用于不同需求的安全专家。
259 2
|
2月前
|
监控 网络协议 Java
一些适合性能测试脚本编写和维护的工具
一些适合性能测试脚本编写和维护的工具
下一篇
开通oss服务