什么是配置测试?测试用例示例

⚡ 智能摘要

配置测试会在多种软件和硬件组合上运行应用程序,以便团队可以确认功能需求在任何地方仍然成立,并确定发布的最佳配置。

  • 🧩 范围: Opera系统、浏览器、数据库版本、驱动程序、内存和外围设备都属于配置项。
  • 📐 两种类型: 软件配置测试涵盖平台和更新;硬件配置测试涵盖连接的设备。
  • 🗂️ 首先是矩阵: 构建组合矩阵,然后确定优先级,因为全面覆盖成本太高。
  • 🖥️ 虚拟机: 快照取代了在物理测试机上反复安装和卸载的过程。
  • 🏦 示例: 银行应用程序及其点钞机模型展示了硬件测试用例。
  • ???? 故意失败: 故意移除某个先决条件会暴露出配置齐全的实验室所隐藏的缺陷。

跨软件和硬件组合的配置测试

配置测试

配置测试 是一种软件测试技术,它使用多种软件和硬件组合来测试应用程序,以评估功能需求并找到应用程序在无缺陷或瑕疵的情况下运行的最佳配置。

配置是指产品必须支持的任何组合:操作系统版本、浏览器、数据库版本、驱动程序、内存大小或连接的外围设备。值得注意的是,它与…… 兼容性测试它会询问产品是否能与其他软件和平台共存。配置测试则提出了一个更具体的问题:当其自身支持的配置发生变化时,同一版本是否仍然能够正常运行?

配置测试示例

以桌面应用程序为例进行说明。

桌面应用程序通常采用两层或三层架构。以一个用三层架构开发的桌面应用程序为例。 ASP.NET该系统由客户端、业务逻辑服务器和数据库服务器组成,其中每个组件都支持下列平台。

  • 客户平台 – Windows XP, Windows 7, Windows 8,以此类推
  • 服务器平台 – Windows 服务器2008, Windows Server 2008 R2, Windows 服务器2012 R2
  • 数据库– SQL Server 2008、SQL Server 2008 R2、SQL Server 2012 等

测试人员必须在这些平台和数据库版本上同时测试客户端、服务器和数据库,以确认应用程序功能正常,并且在任何受支持的组合下都不会出现故障。

配置测试不仅限于软件,也适用于硬件,因此硬件方面的测试被称为硬件配置测试:例如,被测应用程序需要支持的打印机、扫描仪、网络摄像头等类似设备。下表展示了测试执行开始前这些设备的组合配置情况。

客户端、服务器和数据库组合的配置测试矩阵

配置测试的先决条件

在任何项目的配置测试开始之前,必须满足三个先决条件。

  • 创建列出各种软件和硬件配置组合的矩阵
  • 优先考虑这些配置,因为测试每一种配置是不现实的。
  • 按照优先级顺序测试每种配置

配置测试的目标

配置测试旨在实现以下目标。

  • 根据可配置性要求验证应用程序
  • 故意制造故障,以发现常规测试无法发现的缺陷,例如通过更改区域设置,如时区、语言或日期格式。
  • 确定被测应用程序的最佳配置
  • 分析硬件资源发生变化时(例如添加负载均衡器、增加或减少内存,或连接不同的打印机型号)的系统性能
  • 分析系统效率与优先级之间的关系,判断测试如何有效地利用可用资源以达到最佳配置。
  • 在地理位置分散的环境中验证系统,例如服务器位于一个位置,客户端位于另一个位置,系统应能正常工作,不受本地系统设置的影响。
  • 验证配置更改后缺陷的重现难易程度
  • 确认应用程序项目仍然有效 trac通过适当的文档和清晰可辨的版本记录来实现
  • 确认申请项目在整个过程中始终保持可控。 软件开发生命周期

如何进行配置测试

该策略取决于两种配置测试类型中的哪一种在测试范围内。

  • 软件配置测试
  • 硬件配置测试

软件配置测试

软件配置测试是指在多种操作系统、软件更新和依赖项版本下运行被测应用程序。由于每一轮测试都意味着要安装和卸载相关软件,因此非常耗时。

降低成本的常见方法是进行测试。 虚拟机虚拟机是一种安装在软件中的环境,其行为类似于物理硬件,因此测试人员可以像在真实机器上一样进行操作,而配置本身是可随时移除的。虚拟机能够足够精确地模拟真实配置,满足大多数功能检查的需求。

该应用程序无需在多台物理机上进行安装和卸载,而是安装在虚拟机上,并从虚拟机继续进行测试。并行运行多个虚拟机,每个虚拟机都从快照恢复,这大大简化了工作。

软件配置测试通常开始于

  • 待测试的可配置性要求已明确规定。
  • 测试环境 准备好了
  • 测试团队接受过配置测试方面的培训。
  • 已发布的版本已通过单元测试和集成测试。

典型的 测试策略 第一种方法是在每种软件配置上运行功能测试套件,验证应用程序是否按预期运行,是否存在缺陷或错误。第二种策略是故意让测试用例失败,并检查系统应对这种情况的效率。

计费示例:

以一个需要在多个浏览器上进行测试的银行应用程序为例。如果该应用程序托管在所有先决条件都满足的环境中,它很可能通过单元测试和兼容性测试。 集成测试 在测试实验室中。

在客户现场安装的同一应用程序可能会出现故障,因为这些机器缺少软件更新,或者缺少应用程序直接或间接依赖的依赖项版本。故意移除一些配置要求来使测试失败,然后再进行测试,就能在客户发现之前暴露出这类缺陷。下面的屏幕截图展示了在受控环境中重现这种与配置相关的故障。

客户端机器上缺少必要组件,导致银行应用程序运行失败

硬件配置测试

硬件配置测试通常在实验室中进行,实验室里有物理机器,这些机器连接着不同的硬件。

每次发布新版本时,都会在每台机器上安装该软件,并在每台机器上运行测试套件,以确认应用程序与连接的设备兼容。

这项任务需要付出相当大的努力:在每台机器上安装软件,连接硬件,然后手动运行该套件或先将其自动化。

还需要明确待测硬件的类型。计算机硬件和外围设备种类繁多,不可能全部涵盖,因此测试人员会分析用户群体实际使用的设备,并根据优先级进行测试。

示例测试用例

设想一个银行应用场景,用于测试硬件兼容性。一个连接到点钞机的银行应用程序必须能够与多种型号的点钞机兼容,例如 Rolex、Strob、Maxsell 和 StoK。

样本 测试用例 点钞机应包含以下部件。

  • 在未安装必备组件的情况下,验证应用程序与劳力士手表之间的连接。
  • 安装完所有必要组件后,请验证应用程序与劳力士手表之间的连接。
  • 确认系统正确计数了钞票数量。
  • 验证系统如何报告计数错误。
  • 核实篡改纸币的处理情况
  • 验证响应时间
  • 确认是否检测到假钞

这些案例仅针对单一型号,而市面上其他所有型号都需要在测试实验室中进行相同方式的测试,这在企业内部几乎不切实际。因此,将硬件配置测试外包给专业机构通常是更现实的选择。

常见问题

配置测试会改变产品自身支持的配置——操作系统、数据库版本、连接设备——并重新运行测试套件。兼容性测试则会检查产品是否能与它必须协同工作的外部软件、平台和浏览器兼容。

根据风险承受能力决定覆盖范围。使用情况分析决定覆盖顺序:首先覆盖用户群体最广泛的平台、浏览器和设备组合,其次是最低支持配置。

通常情况下,QA团队会在系统管理员的支持下配置测试环境。对于硬件密集型产品,则由专门的实验室团队或外包专家负责物理设备的维护。

用于软件部署的虚拟机和容器平台、用于硬件和浏览器的设备实验室或云设备集群,以及 测试自动化 框架可在每种配置上重放同一套件。

组合爆炸、许可证和物理设备的成本、缓慢的环境部署以及仅在一种配置下才会出现的缺陷,这些都是需要优先排序和虚拟化技术来解决的问题。

单元测试和集成测试通过后,通常会与系统测试同时进行。每次重大版本发布前都会重复此步骤,因为新的操作系统或驱动程序版本可能会使之前的测试结果失效。

模型根据实际使用情况和历史缺陷数据对配置组合进行排序,从而将矩阵精简到风险最高的行。它们还会对故障进行聚类,以显示哪些故障具有共同的配置原因。

是的。它可以生成参数化的测试框架、环境配置脚本和 CI 作业定义,从而在多种配置下运行同一套测试套件。矩阵本身仍然必须来自支持的平台列表。

总结一下这篇文章: