什么是云测试?SaaS 测试教程

云测试

云测试是一种软件测试类型,其中软件应用程序使用云计算服务进行测试。云测试的目的是使用云计算测试软件的功能和非功能需求,以确保更快的可用性、可扩展性和灵活性,从而节省软件测试的时间和成本。

云计算是一个基于互联网的平台,它远程提供各种计算服务,如硬件、软件和其他与计算机相关的服务。

云计算主要有三种模型

  • SaaS – 软件即服务
  • PaaS – 平台即服务
  • IaaS – 基础设施即服务

云中的测试类型

整个云测试分为四个主要类别

  • 整个云的测试:将云视为一个整体,并根据其功能进行测试。云和SaaS供应商以及最终用户都对进行这种类型的测试感兴趣
  • 云内部测试:通过检查其每个内部功能进行测试。只有云供应商才能执行这种类型的测试
  • 跨云测试:在不同类型的云(如私有云、公共云和混合云)上进行测试
  • 云中的SaaS测试:根据应用程序需求进行功能和非功能测试

SaaS测试

SaaS测试是一种软件测试过程,其中以软件即服务模型构建的软件应用程序的功能和非功能需求都经过测试。SaaS测试的目标是通过测试软件应用程序的数据安全性、完整性、性能、兼容性和可扩展性来确保质量。

SaaS Testing

云测试侧重于核心组件,例如

  1. 应用程序:它涵盖了功能、端到端业务工作流、数据安全、浏览器兼容性等的测试。
  2. 网络:它包括测试各种网络带宽、协议以及数据通过网络的成功传输。
  3. 基础设施:它涵盖了灾难恢复测试、备份、安全连接和存储策略。基础设施需要经过验证以符合法规要求

云中的其他测试类型包括

  • 性能
  • 可用性
  • 合规性
  • 安全性
  • 可扩展性
  • 多租户
  • 实时升级测试

如何进行云测试

云测试类型 执行的任务
SaaS或面向云的测试 这种类型的测试通常由云或SaaS供应商执行。主要目标是确保云或SaaS程序中提供的服务功能的质量。在此环境中执行的测试包括集成、功能、安全、单元、系统功能验证和回归测试以及性能和可扩展性评估。
云上的在线应用程序测试: 在线应用程序供应商执行此测试,检查基于云的服务的性能和功能测试。当应用程序与遗留系统连接时,将验证遗留系统与云上正在测试的应用程序之间的连接质量。
跨云的基于云的应用程序测试: 为了检查基于云的应用程序在不同云之间的质量,执行这种类型的测试。

云测试的示例测试用例

测试场景 测试用例
性能测试
  • 一个用户在云上的操作失败不应影响其他用户的性能
  • 手动或自动伸缩不应导致任何中断
  • 在所有类型的设备上,应用程序的性能应保持不变
  • 供应商端的超额预订不应影响应用程序性能
安全性测试
  • 只有授权客户才能访问数据
  • 数据必须妥善加密
  • 如果客户不再使用数据,则必须完全删除数据
  • 数据应在加密不足的情况下可访问
  • 供应商端的管理员不应访问客户数据
  • 检查各种安全设置,如防火墙、VPN、防病毒等。
功能测试
  • 有效输入应给出预期结果
  • 服务应与其他应用程序正确集成
  • 成功登录云后,系统应显示客户帐户类型
  • 当客户选择切换到其他服务时,正在运行的服务应自动关闭
互操作性和兼容性测试
  • 验证被测应用程序系统的兼容性要求
  • 检查云环境中的浏览器兼容性
  • 识别连接到云时可能出现的缺陷
  • 云上任何不完整的数据不应被传输
  • 验证应用程序是否跨不同的云平台工作
  • 在内部环境中测试应用程序,然后将其部署到云环境
网络测试
  • 测试负责云连接的协议
  • 传输数据时检查数据完整性
  • 检查网络连接是否正常
  • 检查数据包是否被任一侧的防火墙丢弃
负载和压力测试
  • 当多个用户访问云服务时检查服务
  • 识别导致硬件或环境故障的缺陷
  • 检查系统在特定负载增加时是否失败
  • 检查系统在特定负载下随时间变化的方式

云测试中的挑战

挑战1:数据安全和隐私

云应用程序本质上是多租户的,数据盗窃的风险始终存在。作为一项云测试策略,供应商应向用户保证其数据的安全性。

挑战2:通知期短

云提供商会给现有客户很短的升级通知期(1-2周)。当手动验证SaaS应用程序的更改时,这是一个大问题。

挑战3:验证接口兼容性

随着云服务提供商的升级,外部接口有时也会升级,这对一些习惯于旧接口的订阅者来说是一个挑战。云(SaaS)订阅者需要确保用户可以选择他们想要使用的接口版本

挑战4:数据迁移

将数据从一个云提供商迁移到另一个云提供商是一个巨大的挑战,因为两个提供商可能具有不同的数据库模式,并且需要大量精力来理解数据字段、关系以及它们如何在SaaS应用程序中映射

挑战5企业应用集成

企业应用集成需要对出站和入站数据(从客户端网络到SaaS应用程序,反之亦然)进行数据集成验证。数据隐私要求进行彻底验证,以确保SaaS订阅者的数据安全和隐私。

挑战6模拟实时升级测试

云测试的最大挑战是确保实时升级不会影响现有的已连接SaaS用户

云测试与传统测试

测试参数 传统测试 云测试
主要测试目标
  • 检查互操作性、兼容性、可用性。
  • 根据给定规范验证系统功能和性能的质量
  • 通过利用云环境验证SaaS、云和应用程序的性能和功能的质量
测试成本
  • 由于硬件和软件要求,成本仍然很高
  • 只需支付运营费用。按使用量付费。
测试模拟
  • 模拟在线流量数据
  • 模拟在线用户访问
  • 模拟在线流量数据
  • 模拟在线用户访问
功能测试
  • 验证功能(单元和系统)及其特性
  • 在SaaS或云上测试端到端应用程序功能
测试环境
  • 测试实验室中预先固定和配置的测试环境
  • 具有多样化计算资源的开放公共测试环境
集成测试
  • 基于组件、架构和功能的测试
  • 基于SaaS的集成测试
安全性测试
  • 基于流程、服务器和隐私的安全性功能测试
  • 基于云、SaaS和供应商云中的实时测试的安全性功能测试
性能和可扩展性测试
  • 执行固定测试环境
  • 应用实时和虚拟在线测试数据