软件测试中的测试数据是什么?

⚡ 智能摘要

软件测试中的测试数据是指测试执行期间输入到应用程序的数据。精心设计的数据能够驱动正面检验、负面检验、性能检查和安全检查,因此必须在整个产品生命周期中生成、匿名化和更新这些数据。

  • 🗓️ 未雨绸缪: 测试数据与测试用例一起构建,这样就不会因为缺少输入或环境设置而导致执行受阻。
  • 🎯 涵盖所有情况: 准备正数据集、负数据集、边界数据集和等价划分数据集,这些数据集应彼此独立且有清晰的标签。
  • 🛡️ 复制前请先进行掩码处理: 将性能数据集与生产规模和形状相匹配,但在进行任何复制之前对敏感字段进行匿名化处理。
  • ⚙️ 实现繁重工作的自动化: 使用生成器或人工智能工具来扩展真实数据集,减少人工工作量,避免重复劳动。
  • 🔄 每次发布后都要刷新: Rev在模式更改、新增功能和法规更新后查看新数据集,以避免旧数据产生错误结果。

软件测试中的测试数据

作为测试人员,你可能觉得设计测试用例已经够难了——那么为什么还要费心处理测试数据这种常规工作呢?本教程将介绍测试数据,解释其重要性,并分享快速生成测试数据的实用技巧。

软件测试中的测试数据是什么?

软件测试中的测试数据 测试数据是指在测试执行期间传递给软件程序的输入。它代表在测试过程中影响软件或受软件影响的数据。测试数据用于正向测试(验证函数对于给定的输入是否产生预期结果)和负向测试(检查软件如何处理异常、特殊或无效的输入)。

设计不佳的测试数据无法涵盖所有​​可能的情况,这直接影响软件质量。

软件测试中的测试数据

什么是测试数据生成?为什么要在测试执行之前创建测试数据?

测试是一个产生和使用大量数据的过程。测试中使用的数据描述了测试的初始条件,也是测试人员与软件交互的媒介。因此,它是大多数测试流程的关键组成部分。 功能测试.

根据您的测试环境,您可能需要: 创建信息图 从零开始收集测试数据,或者至少找到一个合适的现有数据集供您使用。 测试用例测试数据通常是与它所支持的测试用例同步创建的。

测试数据可以通过以下四种常见方式生成:

  • 由测试人员或业务分析师手动完成。
  • 将生产环境中的数据批量复制到测试环境。
  • 从旧版客户端系统批量复制测试数据。
  • 自动化测试数据生成工具。

应生成样本数据。 before 测试执行必须立即开始,因为之后再创建测试环境难以管理。许多测试环境在加载数据之前需要多个预处理步骤或耗时的配置。如果在执行阶段才生成数据,则可能会错过测试截止日期。

以下各节将介绍几种测试类型,并就其测试数据需求提出建议。

白色的测试数据 Box 测试与验证

In 白色 Box 测试与验证测试数据管理源于对被测代码的直接检查。选择标准通常包括:

  • 分支机构覆盖范围: 生成数据,以便源代码中的每个分支至少被测试一次。
  • 路径测试: 设计数据,使每条路径至少执行一次。
  • API测试: 使用无效的参数类型或无效的参数组合来调用内部方法。

性能测试的测试数据

性能测试 衡量系统在特定工作负载下的响应速度。其目的并非查找功能性缺陷,而是识别瓶颈。样本数据集必须非常接近真实数据集。 真实或直播 要使结果有意义,需要生产数据。

如何获取此类数据?最可靠的来源是…… 客户 他们自己。他们既可以提供现有的数据集,也可以描述真实世界的数据是什么样子,以便你进行建模。 维护测试 在项目中,您可以将生产环境中的数据复制到测试环境中。这是一种很好的做法。 匿名 在进行任何复制之前,请对敏感字段(例如社会保障号码、信用卡号码、银行详细信息)进行加密。

安全测试的测试数据

安全测试 验证信息系统是否能保护数据免受恶意攻击。数据集必须涵盖以下四个方面:

  • 保密: 客户信息将严格保密,不会与任何外部方共享。如果应用程序使用 SSL,请提供设计数据以证明加密的正确性。
  • Integrity: 系统返回的信息是正确的。通过审查设计、代码、数据库模式和文件结构来构建数据。
  • 验证: 建立用户身份的过程。使用不同的用户名和密码组合来验证只有授权人员才能访问。
  • 授权: 授予特定用户的权限。结合用户、角色和操作,确保只有拥有足够权限的用户才能执行特定操作。

黑色测试数据 Box 测试与验证

黑色 Box 测试代码对测试人员是不可见的。功能测试用例应包含符合以下标准的数据:

  • 无数据: 检查未提交任何内容时的响应。
  • 有效数据: 使用正确的测试数据检查响应。
  • 数据无效: 使用错误的测试数据检查响应。
  • 非法数据格式: 检查数据格式不支持时的响应。
  • 边界条件数据集: 位于最小值、最大值和边界值之外的数据。
  • 等价划分数据集: 代表每个等价类的数据。
  • 决策表数据集: 能够检验决策表中每条规则的数据。
  • 状态转换数据集: 驱动系统完成每个既定状态转换的数据。
  • 用例测试数据: 数据与端到端用例相符。

注意: 根据被测应用程序的不同,您可以使用上述部分或全部类别。

自动测试数据生成工具

自动化工具生成大型、多样化数据集的速度远超任何人工操作。以下是两个由来已久的例子:

  • DTM 测试数据 Generator — 一个可定制的实用程序,可生成用于数据库测试场景(包括性能、质量保证、负载和可用性)的数据、表、视图和过程。
  • 达泰克 - 一个 SQL Banner Software 出品的数据生成器,可创建逼真的测试数据,格式可以是 ASCII 平面文件,也可以直接导入到关系数据库管理系统 (RDBMS) 中,例如: Oracle、Sybase、SQL Server 和 Informix。

如需查看经过评估的最新入围名单,请参阅 10 个最佳测试数据 Generator 工具.

管理测试数据的最佳实践

可靠的测试数据取决于纪律严明的家务人员ping遵循以下做法,以确保数据集在版本发布过程中保持良好状态:

  • 数据版本控制: 将数据集与使用这些数据集的测试用例一起存储在存储库中,以便对更改进行审计。
  • 掩蔽敏感区域: 从生产环境复制之前,请对个人、财务和健康数据进行匿名化处理。
  • 定期刷新: 每次版本发布时都会重建数据集,以跟上架构和业务规则的变化。
  • 记录预期成果: 将每个数据集与预期结果配对,以便轻松对故障进行分类。
  • 自动播种: 使用脚本或固定装置在每次测试运行开始时加载数据,以确保可重复性。

常见问题

测试数据是指在测试期间提供给软件的任何输入。例如,对于登录表单,测试数据包括有效的用户名和密码(阳性)、空密码(阴性)以及 300 个字符的电子邮件地址(边界)。

测试用例描述了特定场景的步骤和预期结果。测试数据是输入到这些步骤中的特定值。每个测试用例都需要自己的数据集来模拟该场景。

足够的数据是指能够覆盖所有等价类、边界和风险加权场景的数据。数据量本身并不等同于覆盖率。应将数据映射到测试用例,并在覆盖率差距缩小后停止添加记录。

只有在屏蔽姓名、账号和健康信息等敏感字段后才能进行测试。未屏蔽的生产数据违反了 GDPR 和 HIPAA 等法规,并且如果测试环境遭到入侵,会造成真正的数据泄露风险。

常见的数据集类别包括有效数据集、无效数据集、边界数据集、等价类划分数据集、决策表数据集、状态转换数据集、用例数据集和无数据集。每个类别都针对被测应用程序中不同的风险。

每次架构变更、重大版本发布、法规更新或生产环境行为发生变化后,都必须刷新测试数据。过时的数据集会遗漏新的验证规则,导致回归测试出现误报。

人工智能工具能够合成符合业务规则、隐去个人信息并平衡正面和负面案例的真实且多样化的数据集。它们还能通过分析需求和现有测试覆盖率来标记缺失的场景。

不。人工智能可以加速数据生成并验证模式,但人工审核员仍需判断业务风险、极端情况和合规性要求。最有效的团队会将人工智能生成的数据集与专家审核相结合。

总结一下这篇文章: