- 数据库测试教程
- 数据库测试 - 首页
- 数据库测试 - 概述
- 数据库测试 - 类型
- 数据库测试 - 流程
- 数据库测试 - 技术
- 数据库测试 - 场景
- 数据库测试 - 对象
- 数据库测试 - 数据完整性
- 数据库测试 - 数据映射
- 数据库测试 - 性能
- 数据库测试 - 工具
- 数据库测试 - 备份
- 数据库测试 - 恢复
- 数据库测试 - 安全性
- 数据库测试 - 挑战
- 数据库测试 - 面试问题
- 数据库测试有用资源
- 数据库测试 - 快速指南
- 数据库测试 - 有用资源
- 数据库测试 - 讨论
数据库测试 - 技术
本章介绍执行数据库测试最常用的技术。
数据库模式测试
如前所述,它涉及测试模式中的每个对象。
验证数据库和设备
- 验证数据库名称
- 验证数据设备、日志设备和转储设备
- 验证是否为每个数据库分配了足够的空间
- 验证数据库选项设置
表、列、列类型规则检查
验证以下项目以找出实际设置和应用设置之间的差异。
数据库中所有表的名称
每个表的列名
每个表的列类型
NULL 值是否已检查
默认值是否绑定到正确的表列
规则定义到正确的表名和访问权限
键和索引
验证每个表中的键和索引 -
每个表的主键
每个表的外部键
外部键列和另一个表中的列之间的数据类型索引,聚集或非聚集唯一或非唯一
存储过程测试
它涉及检查是否定义了存储过程以及是否比较了输出结果。在存储过程测试中,将检查以下几点 -
存储过程名称
参数名称、参数类型等。
输出 - 输出是否包含许多记录。零行受影响或仅提取了几条记录。
存储过程的功能是什么,以及存储过程不应该做什么?
传递示例输入查询以检查存储过程是否提取了正确的数据。
存储过程参数 - 使用边界数据和有效数据调用存储过程。使每个参数无效一次并运行过程。
返回值 - 检查存储过程返回的值。如果失败,必须返回非零值。
错误消息检查 - 以使存储过程失败并至少生成一次每个错误消息的方式进行更改。检查在没有预定义错误消息时出现的任何异常情况。
触发器测试
在触发器测试中,测试人员必须执行以下任务 -
- 确保触发器名称正确。
- 验证触发器是否为特定表列生成。
- 触发器的更新验证。
- 使用有效数据更新记录。
- 使用无效数据更新记录并涵盖每个触发器错误。
- 当其他表中的行仍在引用记录时更新记录。
- 确保在发生故障时回滚事务。
- 找出触发器不应该回滚事务的任何情况。
服务器设置脚本
应执行两种类型的测试 -
- 从头开始设置数据库,以及
- 设置现有数据库。
SQL Server 集成测试
完成组件测试后,应执行集成测试。
应密集调用存储过程以选择、插入、更新和删除不同表中的记录,以查找任何冲突和不兼容性。
模式和触发器之间的任何冲突。
存储过程和模式之间的任何冲突。
存储过程和触发器之间的任何冲突。
功能测试方法
功能测试可以通过根据功能将数据库划分为模块来执行。功能分为以下两种类型 -
类型 1 - 在类型 1 测试中,找出项目的特性。对于每个主要特性,找出负责实现该功能的模式、触发器和存储过程,并将它们放入功能组中。然后一起测试每个组。
类型 2 - 在类型 2 测试中,后端功能组的边界并不明显。您可以检查数据流并查看可以在哪里检查数据。从前端开始。
以下过程发生 -
当服务有请求或保存数据时,一些存储过程将被调用。
这些过程将更新一些表。
这些存储过程将是测试的起点,而这些表将是检查测试结果的地方。
压力测试
压力测试涉及获取主要数据库功能和相应存储过程的列表。按照以下步骤进行压力测试 -
编写测试脚本以尝试这些功能,并且每个功能都必须在完整周期中至少检查一次。
在特定时间段内反复执行测试脚本。
验证日志文件以检查任何死锁、内存不足故障、数据损坏等。
基准测试
如果您的数据库没有任何数据问题或错误,则可以检查系统性能。可以通过检查以下参数在基准测试中找到较差的系统性能 -
- 系统级性能
- 识别最有可能使用的功能/特性
- 时间 - 执行功能的最大时间、最小时间和平均时间
- 访问量
通过前端测试数据库
有时也可以通过执行前端测试来查找后端错误。您可以按照以下简单步骤通过前端测试来检测错误。
从前端编写查询并发出搜索。
选择现有记录,更改某些字段中的值,然后保存记录。(它涉及 UPDATE 语句或更新存储过程和更新触发器。)
在前端窗口中插入一个新的菜单项。填写信息并保存记录。(它涉及 INSERT 语句或插入存储过程和删除触发器。)
选择现有记录,单击“删除”或“移除”按钮,然后确认删除。(它涉及 DELETE 语句或删除存储过程和删除触发器。)
使用无效数据重复这些测试用例,并查看数据库的响应。