数据库测试 – 技术

数据库测试 – 技术


本章解释了用于执行数据库测试的最常用技术。

数据库模式测试

如前所述,它涉及测试 Schema 中的每个对象。

验证数据库和设备

  • 验证数据库名称
  • 验证数据设备、日志设备和转储设备
  • 验证是否为每个数据库分配了足够的空间
  • 验证数据库选项设置

表、列、列类型规则检查

验证下面给出的项目以找出实际设置和应用设置之间的差异。

  • 数据库中所有表的名称

  • 每个表的列名

  • 每个表的列类型

  • 是否检查NULL

  • 默认值是否绑定到正确的表列

  • 用于更正表名和访问权限的规则定义

键和索引

验证每个表中的键和索引 –

  • 每个表的主键

  • 每个表的外键

  • 外键列和其他表中的列之间的数据类型索引,聚簇或非聚簇唯一或不唯一

存储过程测试

它涉及检查是否定义了存储过程并比较输出结果。在存储过程测试中,检查以下几点 –

  • 存储过程名称

  • 参数名称、参数类型等。

  • 输出输出是否包含许多记录。零行受到影响或仅提取少数记录。

  • 存储过程的功能是什么,存储过程不应该做什么?

  • 传递示例输入查询以检查存储过程是否提取了正确的数据。

  • 存储过程参数– 使用边界数据和有效数据调用存储过程。使每个参数无效一次并运行一个程序。

  • 返回值– 检查存储过程返回的值。如果失败,必须返回非零值。

  • 错误消息检查– 以存储过程失败并至少生成每条错误消息的方式进行更改。当没有预定义的错误消息时,检查任何异常情况。

触发测试

在触发器测试中,测试人员必须执行以下任务 –

  • 确保触发器名称正确。
  • 如果触发器是为特定表列生成的,则验证触发器。
  • 触发器的更新验证。
  • 使用有效数据更新记录。
  • 使用无效数据更新记录并覆盖每个触发错误。
  • 当它仍然被其他表中的行引用时更新记录。
  • 确保在发生故障时回滚事务。
  • 找出触发器不应回滚事务的任何情况。

服务器设置脚本

应执行两种类型的测试 –

  • 从头开始设置数据库,以及
  • 设置现有数据库。

SQL Server 集成测试

在完成组件测试后,应执行集成测试。

  • 应该集中调用存储过程来选择、插入、更新和删除不同表中的记录,以查找任何冲突和不兼容。

  • 模式和触发器之间的任何冲突。

  • 存储过程和架构之间的任何冲突。

  • 存储过程和触发器之间的任何冲突。

功能测试方法

可以通过根据功能将数据库划分为模块来执行功能测试。功能有以下两种类型 –

  • 类型 1 – 在类型 1 测试中,找出项目的特征。对于每个主要功能,找出负责实现该功能的架构、触发器和存储过程,并将它们放入一个功能组中。然后一起测试每组。

  • 类型 2 – 在类型 2 测试中,后端功能组的边界不明显。您可以检查数据流,并查看可以检查数据的位置。从前端开始。

发生以下过​​程 –

  • 当服务有请求或保存数据时,会调用一些存储过程。

  • 程序将更新一些表。

  • 这些存储过程将是开始测试的地方,而这些表将是检查测试结果的地方。

压力测试

压力测试涉及获取主要数据库功能和相应存储过程的列表。按照下面给出的步骤进行压力测试 –

  • 编写测试脚本来尝试这些功能,并且每个功能必须在一个完整周期中至少检查一次。

  • 在特定时间段内一次又一次地执行测试脚本。

  • 验证日志文件以检查任何死锁、内存不足、数据损坏等。

基准测试

如果您的数据库没有任何数据问题或错误,则可以检查系统性能。通过检查下面给出的参数,可以在基准测试中发现系统性能不佳 –

  • 系统级性能
  • 确定最有可能使用的功能/特性
  • 计时——执行功能的最长时间、最短时间和平均时间
  • 访问量

通过前端测试数据库

有时也可以通过前端测试发现后端错误。您可以按照下面给出的简单步骤通过前端测试来检测错误。

  • 从前端编写查询并发出搜索。

  • 选取现有记录,更改某些字段中的值,然后保存记录。(它涉及 UPDATE 语句或更新存储过程和更新触发器。)

  • 在前端窗口中插入一个新菜单项。填写信息并保存记录。(它涉及到 INSERT 语句或插入存储过程和删除触发器。)

  • 选取现有记录,单击删除或删除按钮,然后确认删除。(它涉及到 DELETE 语句或删除存储过程和删除触发器。)

  • 用无效数据重复这些测试用例,看看数据库如何响应。

觉得文章有用?

点个广告表达一下你的爱意吧 !😁