什么是并行测试?方法、途径和示例

⚡ 智能摘要

并行测试同时运行一个旧系统和一个新开发的系统,针对相同的输入进行测试,以便测试人员可以确认迁移的数据、计算和业务流程仍然产生相同的结果。

  • 🎯 目的: 证明新版本性能与旧版本相同或更好。
  • 🗓️ 触发: 系统更换、数据迁移和双系统同步窗口。
  • 🚪 标准: 准入条件开启循环;退出条件关闭循环。
  • 🔍 方法: 逐行比较两个输出结果,并对每个差异进行分类。
  • ⚠️ 成本权衡: 需要具备全面的产品知识和完整的成果分析能力。

并行测试的定义、方法和示例

什么是并行测试?

并行测试 并行测试是一种软件测试类型,它使用相同的输入在不同的系统上同时测试应用程序的多个版本或子组件,以缩短测试执行时间。并行测试的目的是找出旧版本和新版本的行为是否相同,并确定新版本是否更高效。

下图展示了并行测试。

新旧系统共用一个输入的并行测试流程

并行测试示例

当一个组织迁移到新系统时,遗留数据是迁移过程中的重要组成部分,而迁移工作非常复杂。

在软件测试中,验证新开发的系统与旧系统的兼容性是通过并行测试来完成的,如下图所示。

并行测试示例,比较旧系统输出与新系统输出

为什么要进行并行测试

并行测试正是出于这些原因而进行的。

  • 确保新版本的应用程序正常运行
  • 为了确保新版本和旧版本的结果一致
  • 检查两个版本之间的数据格式是否发生变化
  • 检查新申请的完整性

例如,用户目前使用的是应用程序的 1.0 版本,从 3 月起,他们将升级到 1.1 版本,如下图所示。

在迁移过程中,版本 1.0 和版本 1.1 进行了并行测试。

在这种情况下,测试人员会进行并行测试,以确认数据迁移已成功完成,并且新版本中的更改既不影响系统功能,也不影响用户期望的输出。

何时进行并行测试

并行测试广泛应用于以下情况:

  • 公司正在从旧系统迁移到新系统。
  • Sync两个系统之间进行变性。
  • 遗留数据从一个系统导入到另一个系统。
  • 所有结果都必须精确定义——例如金融或保险领域,计算是系统的主要功能之一。

如何进行并行测试:完整方法

对于并行测试,您可以创建多个项目,每个项目测试应用程序的不同部分(从属项目),以及一个运行这些项目(主项目)。

并行测试有两个级别的标准。

  1. 平行测试准入标准 — 定义在高效执行并行测试之前必须满足的任务。
  2. 平行测试退出标准 — 定义并行测试阶段的成功结束。

首先必须满足一些前提条件。

  • 并行测试必须等到……才能开始。 测试环境 设置完成
  • 应首先定义所有先决条件和场景
  • 旧数据和新数据必须成功迁移
  • 只有当所有退出标准都满足后,并行测试才算完成。

分五步进行并行测试。

  1. 将旧系统与新开发的系统进行对比运行。
  2. 了解这两个系统之间的区别。
  3. 使用相同的输入完成一个完整的循环。
  4. 将新开发系统的输出与旧系统的输出进行比较。
  5. 请报告发现的任何错误原因。

并行测试的良好实践

以下是一些实用技巧。

并行测试中发现的典型错误

  • 内部逻辑已改变
  • 产品流量发生变化
  • 主要功能已修改

需要多少个循环

测试周期数取决于模块的复杂程度。使用预定义的测试用例运行多个测试场景周期。 测试数据 这是从上一个系统中继承下来的。

对差异进行分类

应该逐行比较新系统和旧系统的结果,并突出显示差异,然后根据错误类型对每个差异进行分类。

循环期间发生的错误类型

对于每一处差异,测试人员应注明是哪一处差异。

  • 输入错误
  • 旧系统导致的错误
  • 可解释或可接受的差异
  • 意外的错误

什么不是并行测试

表格划定了边界。

这是并行测试 这不是并行测试
根据以前的应用程序测试更新后的应用程序。 仅测试一个软件。
在相同的输入条件下,使用新软件运行旧场景。 跨浏览器或跨平台测试。
目的是根据先前的系统找出结果。 目的是找出设计问题。
需要同时了解旧系统和新开发的系统。 无需了解二者的区别。

并行测试的挑战

  • 需要具备全面的产品知识。
  • 每一个结果都应该被测试
  • 数据输入和产品流程需要持续关注。

常见问题

回归测试 将构建结果与预期结果进行比较。并行测试则比较两个独立的系统,以较旧的系统作为参考。

模型可以比较两个结果集的差异并对不匹配项进行聚类,从而将可解释的舍入差异与真正的缺陷区分开来。这种分类筛选是每个周期中最耗时的人工环节。

是的。记录比较和报告格式化是重复性代码,助手可以轻松处理。但容差规则仍然需要人工处理,因为可接受的差异程度取决于业务决策。

测试人员执行测试循环;业务用户判定差异。在金融和保险行业,领域专家决定哪些差异是可以接受的。

来自原有系统的真实生产数据,已根据需要进行脱敏处理。合成数据则隐藏了迁移过程中最常出现问题的历史极端情况。

这个术语有两种用法。运行许多 自动化 在网格上同时运行多个套件可以缩短执行时间,但无法比较两个系统之间的任何差异。

当所有退出标准都满足时:所有周期都已执行,所有差异都已分类,没有未解释的不匹配项。签字通常先于…… 用户验收测试.

两个运行中的系统环境、重复的数据,以及熟悉两个系统的员工。如果计算错误会引发监管后果,那么这种成本是可以接受的。

总结一下这篇文章: