软件测试中的测试数据是什么?
作为一名测试人员,您可能会认为“设计测试用例已经足够具有挑战性了,那么为什么还要为测试数据这样微不足道的事情烦恼呢?”本教程的目的是向您介绍测试数据及其重要性,并提供快速生成测试数据的实用技巧和窍门。那么,让我们开始吧!
软件测试中的测试数据是什么?
软件测试中的测试数据 是在测试执行期间提供给软件程序的输入。它表示在测试期间影响或受软件执行影响的数据。测试数据既可用于正向测试,以验证函数是否针对给定输入产生预期结果,也可用于负向测试,以测试软件处理异常、异常或意外输入的能力。
设计不良的测试数据可能无法测试所有可能的测试场景,这将影响软件的质量。
什么是测试数据生成?为什么测试执行前要创建测试数据?
大家都知道,测试是一个产生和消耗大量数据的过程。测试中使用的数据描述了测试的初始条件,并代表了测试人员影响软件的媒介。它是大多数测试的重要组成部分 功能测试.
根据您的测试环境,您可能需要创建测试数据(大多数时候)或至少为您的测试用例确定合适的测试数据(测试数据已经创建)。
通常,测试数据是与 测试用例 其预期用途是。
可以生成测试数据 –
- 手动
- 从生产环境到测试环境的大量数据复制
- 从旧客户端系统大量复制测试数据
- 自动测试数据生成工具
通常,应该在开始测试执行之前生成样本数据,因为否则很难处理测试数据管理。由于 许多测试环境创建测试数据需要多个预先步骤或非常耗时的测试环境配置。 . 如果测试数据生成完成 而 您正处于测试执行阶段,可能会超出测试期限。
下面描述了几种测试类型以及有关其测试数据需求的一些建议。
白色的测试数据 Box 测试与验证
In 白色 Box 测试与验证,测试数据管理源自对要测试的代码的直接检查。 可以通过考虑以下事项来选择测试数据:
- 最好覆盖尽可能多的分支;可以生成测试数据,以便程序源代码中的所有分支至少测试一次
- 路径测试:程序源代码中的所有路径都至少测试一次——可以准备测试数据以覆盖尽可能多的情况
- 负 API测试:
- 测试数据可能包含用于调用不同方法的无效参数类型
- 测试数据可能包含用于调用程序方法的无效参数组合
性能测试的测试数据
性能测试 是为确定系统在特定工作负载下的响应速度而执行的测试类型。此类测试的目标不是查找错误,而是消除瓶颈。性能测试的一个重要方面是使用的样本数据集必须非常接近 “真实”或“现场” 数据用于生产。以下问题出现了:“好吧,用真实数据进行测试很好,但我如何获得这些数据?”答案很简单:从最了解的人那里获取—— 顾客们。他们可能会提供一些他们已有的数据,或者,如果他们没有现有的数据集,他们可能会通过提供有关真实世界数据可能是什么样子的反馈来帮助你。如果你处于 维护测试 您可以将数据从生产环境复制到测试平台。 匿名 (加密)敏感的客户数据,如社保号、信用卡号 Numbers、银行详细信息等。
安全测试的测试数据
安全测试 是确定信息系统是否保护数据免受恶意攻击的过程。为了全面测试软件安全性而需要设计的数据集必须涵盖以下主题:
- 保密: 客户提供的所有信息均严格保密,不会与任何外部方共享。举一个简单的例子,如果应用程序使用 SSL,您可以设计一组测试数据来验证加密是否正确完成。
- Integrity: 确定系统提供的信息是否正确。要设计合适的测试数据,您可以先深入了解设计、代码、数据库和文件结构。
- 验证: 表示建立用户身份的过程。测试数据可以设计为不同的用户名和密码组合,其目的是检查只有授权人员才能访问软件系统。
- 授权: 告诉特定用户的权限是什么。测试数据可能包含不同的用户、角色和权限组合 操作 为了检查只有具有足够权限的用户才能执行特定操作。
黑色测试数据 Box 测试与验证
黑色 Box 测试代码对测试人员来说是不可见的。您的功能测试用例可以有满足以下标准的测试数据 -
- 无数据:检查未提交数据时的系统响应
- 有效数据:提交有效测试数据后检查系统响应
- 无效数据:检查系统响应 无效的 测试数据已提交
- 数据格式非法:检查测试数据格式无效时的系统响应
- 边界条件数据集:满足边界值条件的测试数据
- 等价划分数据集:测试数据符合等价划分。
- 决策表数据集:测试数据符合您的决策表测试策略
- 状态转换测试数据集:测试数据符合你的状态转换测试策略
- 用例测试数据:测试数据与您的用例同步。
备注:根据要测试的软件应用程序,您可以使用上述部分或全部测试数据创建
自动测试数据生成工具
为了生成各种数据集,您可以使用各种自动化测试数据生成工具。以下是此类工具的一些示例:
DTM 测试数据生成器,是一个完全可定制的实用程序,可生成用于数据库测试(性能测试、QA 测试、负载测试或可用性测试)的数据、表格(视图、程序等)。
Datatect 是一个 SQL Banner Software 的数据生成器,在 ASCII 平面文件中生成各种真实的测试数据,或直接为 RDBMS 生成测试数据,包括 Oracle、Sybase、SQL Server 和 Informix。
结语
总之,精心设计的测试数据可让您识别和纠正功能中的严重缺陷。在多阶段产品开发周期的每个阶段,都必须重新评估所选测试数据的选择。因此,请始终关注它。为了促进这一过程,使用高效的 测试数据生成工具 可以显著简化您的工作流程。