什么是数据库测试?怎么测?一文揭开数据库测试神秘面纱

在大多数情况下,由于GUI恰好是应用最直观的部分,因此各测试经理以及开发团队成员对GUI的重视程度最高。但是,同样重要的是验证可被视为应用核心的信息(即 数据库)。

让我们考虑一个通过银行进行交易的应用程序。现在,从数据库测试的角度来看,以下几点很重要:

1、该应用程序将事务信息存储在应用程序数据库中,并将其正确呈现给用户。
2、在此过程中不会丢失任何信息。
3、应用程序不会保存部分执行或中止的操作信息。
4、未经授权的个人不得访问用户信息。
为了确保上述所有目标,我们需要使用数据验证或数据测试。

什么是数据库测试?怎么测?

什么是数据库测试?

数据库测试 是检查被测数据库的模式(schema)、表、触发器(trigger)等。可能涉及创建复杂的查询,以对数据库进行负载/压力测试并检查其响应能力。检查数据的完整性一致性

在文中,我们将学习

  • 数据库测试的类型
  • 模式测试(Schema Testing)
  • 数据库表、列测试
  • 存储过程测试
  • 触发器测试
  • 数据库服务器验证
  • 功能数据库测试
  • 登录和用户安全
  • 负载测试
  • 压力测试
  • 与数据库测试有关的误区和误解
  • 最佳实践

数据库测试的类型

  • 结构测试
  • 功能测试
  • 非功能测试

让我们逐一研究每种类型及其子类型。

结构数据库测试

结构数据测试涉及验证数据存储库中的所有元素,这些元素主要用于存储数据,不允许终端用户直接操作。在这些类型的测试中,数据库服务器的验证也是一个非常重要的考虑因素。测试人员成功完成这一阶段需要精通SQL查询。

模式测试

模式测试(Schema Testing)的主要方面是确保前端和后端之间的模式映射相似。因此,我们也可以将 模式测试 称为 映射测试

让我们讨论模式测试中最重要的检查点:

1、验证与数据库关联的各种模式格式。很多时候,表的映射格式可能与应用程序的用户界面级中的映射格式不兼容。
2、对于未映射的表/视图/列,需要进行验证。
3、还需要验证环境中的异构数据库是否与整个应用程序映射一致。

两款验证数据库模式的工具:

①与Ant集成的DBUnit非常适合于映射测试。
SQL Server允许测试人员通过编写简单的查询而不是通过代码来检查和查询数据库的模式。

例如,如果开发人员想要更改或删除表结构,测试人员将希望确保使用该表的所有存储过程和视图都与特定更改兼容。另一个示例是,如果测试人员想要检查两个数据库之间的架构更改,他们可以使用简单的查询来执行此操作。

数据库表、列测试

让我们研究一下数据库和列测试的各种检查。
1、后端中数据库字段和列的映射是否与前端中的那些映射兼容。
2、验证需求指定的数据库字段,列的长度和命名约定。
3、验证是否有未使用/未映射的数据库表/列。
4、验证兼容性
①数据类型
②字段长度
后端数据库列和应用程序前端数据库列的值。
5、数据库字段是否允许用户根据业务需求规范文档的要求提供所需的用户输入。

键和索引测试

重要检查键和索引-

1、检查是否需要
①主键
②外键
在所需表上创建了约束。
2、检查外键的引用是否有效。
3、检查两个表中主键和对应的外键的数据类型是否相同。
4、检查是否对所有键和索引都遵循了必需的命名约定。
5、检查必填字段和索引的大小和长度。
6、是否要求
①聚集索引
②非聚集索引
已在业务需求指定的必需表上创建。

存储过程测试

要验证存储过程的最重要事项的列表:

1、开发团队是否采用了要求的
①编码标准约定
②异常和错误处理
用于被测试应用程序的所有模块的所有存储过程。
2、开发团队是否通过将所需的输入数据应用于被测应用程序来覆盖所有条件/循环。
3、每当从数据库中所需的表中获取数据时,开发团队是否正确地应用了TRIM操作。
4、手动执行存储过程是否为终端用户提供了所需的结果。
5、手动执行存储过程是否可以确保表字段按被测试应用程序的要求进行更新。
6、存储过程的执行是否允许隐式调用所需的触发器。
7、验证是否有未使用的存储过程。
8、可以在数据库级别完成的Allow Null条件验证。
9、当被测数据库为空白时,验证所有存储过程和函数已成功执行的事实。
10、根据被测应用程序的要求验证存储过程模块的整体集成。
测试存储过程的工具有LINQSP测试工具等。

触发器测试

1、在触发器的编码阶段是否遵循了要求的编码约定。
2、检查为各个DML事务执行的触发器是否满足所需条件。
3、触发器在执行后是否正确更新了数据。
4、验证被测应用领域中所需的更新/插入/删除触发器功能。

数据库服务器验证

1、检查业务需求指定的数据库服务器配置。
2、检查所需用户仅执行应用程序所需的操作级别的授权。
3、检查数据库服务器是否能够满足业务需求规范所指定的最大允许用户事务数的需求。

功能数据库测试

需求规范中指定的功能数据库测试需要确保终端用户执行的大多数事务和操作与需求规范相一致

以下是数据库验证需要遵守的基本条件:

①在该字段上允许NULL值时,该字段是否为必填字段。
②每个字段的长度是否足够大?
③是否所有相似的字段在表中都具有相同的名称?
④数据库中是否存在任何计算字段?

从终端用户的角度来看,此特定过程是对字段映射的验证。在这种特定情况下,测试人员将在数据库级别执行操作,然后将导航至相关的用户界面项,以观察和验证是否已执行了正确的字段验证。

反之亦然,首先由测试人员在用户界面上执行操作,然后从后端进行验证的操作也被视为有效选项。

上一页12下一页


留言