// //

Want to see Parasoft in action? Sign up for our Monthly Demos! See Demos & Events >>

X

为持续测试创建和管理测试数据

使用可重复使用的合成测试数据进行可靠的测试。

什么是测试数据管理?

开发人员使用测试数据来验证和优化应用程序功能,包括常见或关键的用户路径和极端情况。当他们使用真实的测试数据时,这也有助于复制错误条件和重现缺陷。

在与来自多个供应商和合作伙伴的API交互时,应用程序API必须促进顺畅的实时电子数据交换。当执行集成和API测试时,DevOps和QA团队经常花费大量的时间等待来自数据源的测试数据。这会导致延迟,从而影响冲刺或整个软件交付。

为了防止您的应用程序测试停止并保持完整性,您需要根据需要访问真实的测试数据。测试数据管理(TDM)提供了一种创建和管理安全适当的数据集的方法,您的公司可以跨多个团队使用这些数据集来验证应用程序的功能。

虚拟测试数据为DevOps团队实现持续测试清除了路径。测试数据管理监控实际的流量和数据模式,从系统中的交互中生成数据模型,并自动推断关于数据仓库的信息,使非技术用户更容易获得他们需要的测试数据。

通过在虚拟服务中使用合成数据,您可以测试各种各样的条件,包括常见测试用例和角测试用例。

如果由于共享后端数据库而无法为 QA 团队提供正确的测试数据以有效地验证被测应用程序 (AUT),那么您需要测试数据管理。

下载Parasoft的白皮书,了解如何减少测试数据管理的难题。

测试数据管理的优势

Parasoft中国官网|测试数据管理

生成有意义的数据

Parasoft的虚拟测试数据方法保留了数据层次结构,因此您可以轻松地可视化依赖关系并访问反映真实世界的数据。

Parasoft中国官网|测试数据管理

重用数据

对现有的数据集建模以创建虚拟测试数据,您可以在测试实例中屏蔽和重复使用这些数据。

Parasoft中国官网|测试数据管理

轻松地存储数据

从远程存储库访问并存储您的数据目录,以实现无缝的测试数据管理。

Parasoft中国官网|测试数据管理

使用自助服务

不需要等待数据库管理员从集中测试数据管理系统生成您需要的数据。只需在基于Web的门户上单击几下,就可以访问您所需的数据。

Parasoft中国官网|测试数据管理

精挑细选

准确地选择您需要的测试数据集。这可能是用于可重复测试的克隆数据、用于集成测试的损坏或意外数据,或者用于测试新功能的数据。Parasoft的测试数据管理解决方案允许您精确地选择测试场景所需的数据集。

Parasoft中国官网|测试数据管理

创建文本

Parasoft不仅提供您需要的测试数据,还提供功能测试自动化解决方案和服务可视化解决方案。在正确的环境中使用您的虚拟测试数据来产生真正的价值。

测试数据管理的类型

生产数据

这是最全面的测试覆盖率,测试人员从运行一个生产系统中获得数据。然而,它的代价是: 失去敏捷性和高昂的存储成本。在某些应用程序中,此方法还存在泄露敏感数据的风险。

自助服务数据

这些数据您可以根据需要访问并用于测试。它允许您在虚拟服务中轻松重用测试数据,从而减少执行测试数据管理的时间。

屏蔽数据

使用子集或完整集允许开发团队使用实际数据,而不会面临不安全的风险。屏蔽方法确保任何敏感数据都受到保护。

错误数据

这些数据包含了故意让软件出错来暴露缺陷问题的错误。您需要确保应用程序向用户提供适当的错误消息,或者适当地纠正不适当的数据格式。

合成(虚拟)数据

您不应该只是创建一个生产数据的副本,然后尝试手动修改它。当测试人员手动创建测试数据时,很容易出现人为错误。使用工具自动生成与实际数据模型一致的虚拟测试数据会更有效。这样数据就更容易根据各种测试需求进行隐藏、修改和操作。独立的团队可以利用多个副本,而不会覆盖主数据集。

数据子集

这是生产数据或虚拟数据库的一部分。这比完全复制要灵活得多。它们可以节省CPU、硬件和许可费用,但是使用这种方法可能无法提供足够的测试覆盖率。对于初始验证测试来说通常已经足够了,但是您可能需要更全面的数据管道来进行全面的集成测试。

负路径数据

这些数据使您能够测试软件可能发生的故障和偏离预期工作流的多种方式。测试用户可能输入意外数据或采取意外路径的情况下进行测试非常重要,以确保软件能够正确地反应和处理错误。

正路径数据

这没有错误或异常情况。该数据允许测试遵循一个典型的用户路径,该路径预期执行时不会出现异常,并产生可预测的输出。如果这条“幸福之路”不能正常工作,说明软件不符合要求。

测试数据管理最佳实践

获取、拥有和保护测试数据的过程既是要求也是责任。如果没有适当的测试数据,您就无法实现高的测试覆盖率,但是您需要确保测试数据不包含任何可能引入风险的敏感信息。

您需要实际的数据来全面测试代码的各个方面。但是好的数据很难访问,很难保证安全,也很难存储。Parasoft的虚拟测试数据解决方案 解决了这些令人头疼的数据管理问题——甚至更多问题。

更快地生成测试数据。 为QA团队提供测试数据是一项非常耗时的关键需求;开发人员可以更好地把时间花在代码开发上。自动化测试数据生成和测试数据供应,以消除延迟并启用自助服务访问。这使得DevOps团队可以构建数据中心和模型,并让测试团队共享和控制它们。

满足多个团队的需求。 当您使用虚拟数据时,您可以为每个团队提供适当的、相关的和有目的的数据集,这样每个人都可以在测试中取得进展。制作副本以保留原始值。团队可以重用数据,并根据需要将其重置为已知状态。

确保问题解决的可重复性。 当QA团队进行测试时,他们可能会遇到问题。通过与开发人员共享他们的测试数据集,他们可以在开发环境中可靠地重现问题,这样开发人员和测试人员就可以识别并解决这些问题。

确保有效的数据治理和管理。 来自硬件和真实生产环境的测试数据并不总是可以访问的。虚拟测试数据可以反映现实生活中的数据平台和层次结构,同时屏蔽敏感信息,以确保符合PCI DSS和GDPR等法规。

利用建模和子集。 为了确保您的测试数据适合您的目的,您可以使用建模和子集。您使用的数据源应该既准确又有效,但它还需要涵盖一些特殊情况和不太常见的用户路径。一些数据应该导致用户失败,以确保流程也验证错误场景。

 

使用屏蔽保护敏感数据。 对于处理敏感信息(如医疗记录或信用卡等财务信息)的应用程序,数据屏蔽可以防止违规,并确保法规遵从性。然而,这个过程经常增加操作成本并延长测试周期。

保存数据质量。 运营团队努力为软件开发团队生成正确类型的测试数据,例如合成数据集或屏蔽生产数据。当TDM团队衡各种测试数据的要求时,他们还需要确保数据的质量。他们必须在三个主要领域保持质量:

数据时代。 DevOps团队经常不能满足请求,因为他们需要花费大量的精力和时间来制定测试数据。因此,数据可能会变得陈旧。这会对测试质量产生负面影响,从而导致昂贵的后期问题。TDM解决方案应该专注于减少刷新环境所需的时间,这使得最新版本的测试数据更容易访问。

数据的准确性。 当测试人员在一个特定的时间需要大量的数据集进行系统集成测试时,这可能会挑战TDM过程。例如,测试一个支付过程过程可能要求该过程跨库存管理、客户关系管理和金融应用程序进行联合。TDM过程应该允许向同一时间点提供多个数据集,并在测试序列之间并发重置。

数据的大小。 由于存储的限制,开发人员经常必须处理数据子集,这在本质上可能不能满足每一个功能测试需求。使用子集可能会导致遗漏异常情况,而且由于与企业数据相关的错误,这可能会增加而不是减少基础设施成本。对开发人员来说,最佳的测试策略是提供完整的测试数据副本,然后跨副本共享公共测试块,因此只使用子集空间的很小一部分。其结果是,TDM团队经常通过减少对数据子集的需求来降低子集操作成本,包括错误解决和数据准备成本。

阅读Parasoft的客户成功案例,看看它在现实世界中是如何成功的。

测试数据的挑战

对于个性化客户体验驱动的应用程序来说,赢得客户的竞争非常激烈。协调面向客户和后端业务运营的测试数据管理人员需要大量的测试数据来确保健壮性。

举个例子

以下是QA团队可能面临的一些情况。

“救命!有人更改/删除了我的后端数据!”

如果多人共享测试数据集,就有可能有人修改它们,使它们无法被团队中的其他人使用。为个别用户创建重复的数据集可以避免这个问题。

“我必须在每次测试运行之前重新加载我的后端数据存储,从而导致测试等待时间。”

当测试数据集在虚拟化的测试环境中可用时,测试人员现在可以控制他们自己的测试数据,并且不再需要等待从实际的数据存储中重新加载。

“我的AUT正在迁移到一个新的测试环境,我所需的后端数据存储不可用。”

将AUT和必要的测试数据隔离在虚拟测试环境中,使测试能够不间断地继续进行,直到新环境完全启动并运行。

“开发人员改变了数据库布局,现在我的测试数据不起作用了。”

使用建模来分析生产源是否已经被修改,然后更新您的测试数据集以对应于最新的配置。

“我的AUT和后端数据存储之间的某些链接被破坏了。”

当测试环境不稳定时,它会影响测试人员的日常活动,导致数据变得不可访问。虚拟化后端依赖,以防止它们成为瓶颈,并使测试人员能够根据需要创建测试数据。

“我想编辑我的后端数据,但我不能,因为这会对其他测试人员产生负面影响。”

编辑共享数据存储中的数据可能会破坏其他人的数据集,导致由于误报测试失败而需要调试的意外结果。允许每个测试人员创建并管理他们自己的虚拟测试数据集,避免了交叉数据污染。

从测试数据管理流程开始

通过一个有效的、高质量的测试数据管理流程,将测试数据交到测试人员手中,从而获得独立性,并对您的日常活动有更多的控制。

  • 自动创建数据模型来生成和定义测试数据,并根据需要随时更新数据。
  • 从任何来源提取数据,创建合成数据,并屏蔽任何敏感数据用于虚拟服务。
  • 通过集成的数据存储库存储和管理数据,方便快捷的访问。
  • 快照数据以轻松地向前和向后滚动以设置特定的条件和时间点。

Parasoft虚拟测试数据工具

Parasoft广泛的解决方案创建和管理虚拟测试数据,将其插入到其自动化测试解决方案中,以便您可以持续测试。

Parasoft中国官网|测试数据管理

Parasoft SOAtest TDM

这种现代的测试数据管理方法使用基于Web的浏览器和可视化图表,因此即使是新手测试人员和应用程序开发人员也可以访问他们想要的数据集,并无缝地将它们集成到自动化测试工作流中。

了解更多
Parasoft中国官网|测试数据管理

Parasoft Virtualize

创建合成数据,以覆盖各种不同的条件。使用这些数据复制或克隆一个真实的测试环境,即使在负载下,也要确保应用程序按预期执行。

了解更多
Parasoft中国官网|测试数据管理

Parasoft CTP

通过一个基于Web的界面可以访问连续测试、数据和虚拟资产,这允许与架构师、开发人员和测试人员进行无缝协调,从而为测试过程提供透明度。获得对测试环境和测试过程的可见性,以快速检测和诊断测试失败。

了解更多

常见问题

在现代敏捷DevOps软件开发周期中,编码和测试紧密地集成在一个连续的循环中。这意味着测试人员和开发人员必须在不影响数据完整性和安全性的情况下快速获取他们所需的数据。这种需求在所有行业都是普遍的,但在真实数据稀缺、测试人员需要在使用前屏蔽数据的情况下尤其有用。

虚拟测试数据管理和定义的测试数据管理工具有助于确保用户有信心地实现和使用软件。当开发人员将虚拟测试数据集成到CI/CD管道中时,它使连续的软件测试成为现实,并在不影响数据安全或数据隐私的情况下复制现实情况。

由于可能带来的风险,强烈不建议这样做。您不想冒险更改或破坏生产数据以满足您的测试需求。你也不想违反任何隐私法。您不想将测试限制在“幸福的路径”场景中。最好对生产数据建模,并创建适当的虚拟版本,该版本与数据规则保持一致,但保护任何敏感信息。然后,您可以轻松地创建测试数据集,覆盖重复测试的更多用例。

为了捕获测试数据,开发人员监控和记录数据和事物,或者直接从数据库中提取。然后,DevOps必须管理数据集和记录生成的任何模型,并操作数据结构以满足测试需求。Parasoft通过一个轻量级、易用的Web界面轻松实现了这一点,该界面可以在整个软件生命周期中管理测试数据屏蔽、记录、子集设置和生成。