数据库测试 - 技术

本章介绍了用于执行数据库测试的最常用技术.

数据库架构测试

如前所述,它涉及测试模式中的每个对象.

验证数据库和设备

  • 验证数据库的名称

  • 验证数据设备,日志设备和转储设备

  • 验证是否为每个数据库分配了足够的空间

  • 验证数据库选项设置

表,列,列类型规则检查

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

  • 数据库中所有表的名称

  • 每个表的列名

  • 每个表的列类型

  • NULL 值是否已选中

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

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

键和索引

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

  • 每个表的主键

  • 每个表的外键

  • 外键列与其他表中的列之间的数据类型索引,聚簇或非-clustered unique or not unique

存储过程测试

它涉及检查存储过程是否存在定义并比较输出结果.在存储过程测试中,检查和减去以下几点;

  • 存储过程名称

  • 参数名称,参数类型等

  • 输出 : 输出是否包含许多记录.实现零行或只提取几条记录.

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

  • 传递样本输入查询以检查存储过程是否提取正确的数据.

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

  • 返回值 : 检查存储过程返回的值.如果发生故障,必须退回非零值.

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

触发测试

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

  • 确保触发器名称正确.

  • 如果为特定表列生成触发器,则验证触发器.

  • 触发器的更新验证.

  • 使用有效数据更新记录.

  • 使用无效数据更新记录并覆盖每个触发错误.

  • 当记录仍由其他表中的行引用时更新记录.

  • 确保在发生故障时回滚事务.

  • 找出触发器不应该回滚事务的任何情况.

服务器设置脚本

应执行两种类型的测试 :

  • 从头开始设置数据库,

  • 设置现有的d atabase.

SQL Server的集成测试

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

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

  • 架构和触发器之间的任何冲突.

  • 存储过程之间的任何冲突和/schema.

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

功能测试方法

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

  • 类型1 : 在Type 1测试中,找出项目的功能.对于每个主要功能,找出负责实现该功能的模式,触发器和存储过程,并将它们放入功能组中.然后一起测试每个小组.

  • 类型2 : 在Type 2测试中,后端功能组的边界不明显.您可以检查数据流并查看可以在何处检查数据.从前端开始.

以下过程发生 :

  • 当服务有请求或保存数据时,将调用某些存储过程.

  • 程序将更新一些表.

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

压力测试

压力测试涉及获取主要数据库函数和相应存储过程的列表.按照下面给出的压力测试和减去的步骤;

  • 编写测试脚本以尝试这些功能,并且必须在完整周期内至少检查一次所有功能.

  • 在特定时间段内反复执行测试脚本.

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

基准测试

如果您的数据库没有任何数据问题或错误,则可以检查系统性能.通过检查下面和下面给出的参数,可以在基准测试中找到糟糕的系统性能;

  • 系统级性能

  • 识别最常用的功能/功能

  • 时间 - 执行功能的最长时间,最短时间和平均时间

  • 访问volume

通过前端测试数据库

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

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

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

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

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

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