云测试
云测试是一种软件测试,其中使用云计算服务测试软件应用程序。云测试的目的是使用云计算测试软件的功能性和非功能性需求,以确保更快的可用性、可扩展性和灵活性,从而节省软件测试的时间和成本。
云计算是一个基于互联网的平台,远程提供各种计算服务,如硬件、软件和其他与计算机相关的服务。
云计算主要有三种模型:
- SaaS-软件即服务
- PaaS-平台即服务
- IaaS-基础设施即服务
在本教程中,我们将学习-
- 云中的测试类型
- 如何进行云测试
- 云测试示例测试用例
- 云测试面临的挑战
- 云测试与传统测试
云中的测试类型
整个云测试分为四个主要类别
- 全云测试:将云作为一个整体进行测试,并根据云的特性进行测试。云和SaaS供应商以及最终用户都对执行此类测试感兴趣
- 在云中进行测试:通过检查其每个内部功能来执行测试。只有云供应商才能执行此类测试
- 跨云测试:测试在不同类型的类似云的私有云、公共云和混合云上进行
- 云端SaaS测试:根据应用需求进行功能测试和非功能测试
SaaS测试
SaaS测试是对软件即服务模型中内置的软件应用程序进行功能性和非功能性需求测试的软件测试过程。SaaS测试的目标是通过测试软件应用程序的数据安全性、完整性、性能、兼容性和可扩展性来确保质量。
云测试侧重于核心组件,如
- 应用:涵盖功能测试、端到端业务流程测试、数据安全测试、浏览器兼容性测试等。
- 网络:包括测试各种网络带宽、协议和通过网络成功传输数据。
- 基础架构:涵盖灾难恢复测试、备份、安全连接和存储策略。需要验证基础架构是否符合法规遵从性
云中的其他测试类型包括
- 性能
- 可用性
- 合规性
- 安全性
- 可扩展性
- 多租户
- Live Upgrade测试
如何进行云测试
云测试的类型 | 执行的任务 |
---|---|
SaaS或面向云的测试 | 此类测试通常由云或SaaS供应商执行。主要目标是确保在该环境中执行的测试的质量是集成、功能、安全性、单元、系统功能验证和回归测试,以及性能和可扩展性评估。 |
基于云的在线应用程序测试 | 在线应用程序供应商执行此测试,检查基于云的服务的性能和功能测试。当应用程序与遗留系统连接时,会验证遗留系统与云上被测应用程序之间的连接质量。 |
云上基于云的应用程序测试 | 要检查跨不同云的基于云的应用程序的质量,需要执行这种类型的测试。 |
云测试示例测试用例
测试场景 | 测试用例 |
---|---|
性能测试 |
由于一个用户在云上的操作而导致的故障不应影响其他用户的性能
手动或自动缩放应不会造成任何中断 在所有类型的设备上,应用程序的性能应该保持不变 供应商端的超额预订不应影响应用程序性能 |
安全测试 |
只有授权客户才能访问数据 数据必须加密良好
如果数据未被客户端使用,则必须将其完全删除 应在加密不充分的情况下访问数据 供应商端的管理不应访问客户的数据 检查各种安全设置,如防火墙、VPN、防病毒等。 |
功能测试 |
有效的输入应提供预期结果
服务应与其他应用程序正确集成 成功登录云时,系统应显示客户帐户类型 当客户选择切换到其他服务时,正在运行的服务应自动关闭 |
互操作性和兼容性测试 |
验证被测应用程序系统的兼容性要求
检查云环境中的浏览器兼容性 确定连接到云时可能出现的缺陷 不应传输云上的任何不完整数据 验证应用程序是否在不同的云平台上运行 在内部环境中测试应用程序,然后将其部署在云环境中 |
网络测试 |
负责云连接的测试协议
传输数据时检查数据完整性 检查网络连接是否正确 检查两端的防火墙是否正在丢弃数据包 |
负载和压力测试 |
当多个用户访问云服务时检查服务
确定导致硬件或环境故障的缺陷 检查系统是否在增加比负载的情况下发生故障 检查系统在特定负载下随时间的变化情况 |
云测试面临的挑战
挑战1:数据安全和隐私
云应用程序本质上是多租户,数据被盗的风险始终存在。作为云测试策略,供应商应该向用户保证其数据的安全性。
挑战2:短通知期
云提供商向现有客户提供1-2周的短期升级通知。在手动验证对SaaS应用程序的更改时,这是一个大问题。
挑战3:验证接口兼容性
随着云服务提供商的升级,有时外部接口也会升级,这对一些习惯于旧接口的用户来说是一个挑战。 Cloud(SaaS) 订阅者需要确保用户可以选择他们想要使用的界面版本
挑战4:数据迁移
将数据从一个云提供商迁移到另一个云提供商是一个巨大的挑战,因为两个提供商可能具有不同的数据库方案,并且需要花费大量精力才能了解数据字段、关系以及它们如何跨SaaS应用程序映射
挑战5:企业应用程序集成
企业应用程序集成需要对从客户端网络到SaaS应用程序的出站和入站数据进行数据集成验证,反之亦然。数据隐私需要进行彻底的验证,以确保SaaS用户了解数据的安全性和隐私性。
挑战6:模拟实时升级测试
云测试最大的挑战是确保实时升级不会影响现有连接的SaaS用户
云测试与传统测试
测试参数 | 常规测试 | 云测试 |
---|---|---|
主要测试目标 | 检查互操作性、兼容性和可用性。 根据给定的规范验证系统功能和性能的质量 | 通过利用云环境验证SaaS、云和应用程序的性能和功能质量 |
测试成本 | 由于硬件和软件要求,成本仍然居高不下 | 只需支付运营费。只付用过的钱。 |
测试模拟 | 模拟在线交通数据 模拟在线用户访问 | 在线交通数据的仿真 在线用户访问的模拟 |
功能测试 | 验证功能(单元和系统)及其特性 | 在SaaS或云上测试端到端应用功能 |
测试环境 | 测试实验室中预先固定和配置的测试环境 | 具有多种计算资源的开放式公共测试环境 |
集成测试 | 基于组件、架构和功能的测试 | 基于SaaS的集成测试 |
安全测试 | 基于进程、服务器和隐私测试安全功能 | 在供应商云中测试基于云、SaaS和实时测试的安全功能 |
性能和可扩展性测试 | 执行了固定的测试环境 | 同时应用实时和虚拟在线测试数据 |