📅  最后修改于: 2020-12-06 11:26:50             🧑  作者: Mango
本章介绍了用于执行数据库测试的最常用技术。
如前所述,它涉及测试模式中的每个对象。
验证以下给出的项目,以找出实际设置与应用设置之间的差异。
数据库中所有表的名称
每个表的列名
每个表的列类型
是否检查NULL值
默认值是否绑定到正确的表列
规则定义,以更正表名和访问权限
验证每个表中的键和索引-
每个表的主键
每个表的外键
外键列与其他表中的列之间的数据类型聚集或非聚集唯一或不唯一
它涉及检查是否定义了存储过程,并比较输出结果。在存储过程测试中,检查以下几点-
存储过程名称
参数名称,参数类型等
输出–输出是否包含许多记录。零行生效或仅提取了几条记录。
存储过程的函数是什么?存储过程不应该做什么?
传递样本输入查询以检查存储过程是否提取了正确的数据。
存储过程参数-用边界数据和有效数据调用存储过程。使每个参数一次无效,然后运行一个过程。
返回值-检查存储过程返回的值。如果失败,则必须返回非零值。
检查错误消息-进行更改,使存储过程失败,并至少生成一次每个错误消息。没有预定义的错误消息时,请检查所有异常情况。
在Trigger测试中,测试人员必须执行以下任务-
应该执行两种类型的测试-
完成组件测试后,应执行集成测试。
应该密集调用存储过程以选择,插入,更新和删除不同表中的记录,以查找任何冲突和不兼容。
模式和触发器之间的任何冲突。
存储过程和架构之间的任何冲突。
存储过程和触发器之间的任何冲突。
可以通过按照功能将数据库划分为模块来执行功能测试。功能具有以下两种类型-
类型1-在类型1测试中,找出项目的功能。对于每个主要功能,请找出负责实现该函数的架构,触发器和存储过程,并将它们放入功能组中。然后一起测试每个小组。
类型2-在类型2测试中,后端的功能组边界并不明显。您可以检查数据流,并查看可以在何处检查数据。从前端开始。
发生以下过程-
当服务有请求或保存数据时,将调用某些存储过程。
该过程将更新一些表。
这些存储过程将成为开始测试的地方,而这些表将成为检查测试结果的地方。
压力测试涉及获取主要数据库功能和相应存储过程的列表。请按照下面给出的压力测试步骤-
编写测试脚本以尝试这些功能,并且每个函数必须在一个完整的周期中至少检查一次。
在特定时间段内一次又一次地执行测试脚本。
验证日志文件以检查任何死锁,内存不足故障,数据损坏等。
如果您的数据库没有任何数据问题或错误,则可以检查系统性能。通过检查下面给出的参数,可以在基准测试中发现较差的系统性能-
有时也可以通过进行前端测试来发现后端错误。您可以按照下面给出的简单步骤,通过前端测试来检测错误。
从前端编写查询并发布搜索。
拾取现有记录,更改某些字段中的值,然后保存记录。 (它涉及UPDATE语句或更新存储过程和更新触发器。)
在前端窗口中插入一个新的菜单项。填写信息并保存记录。 (它涉及INSERT语句或插入存储过程和删除触发器。)
拾取现有记录,单击DELETE或REMOVE按钮,然后确认删除。 (它涉及DELETE语句或删除存储过程和删除触发器。)
使用无效数据重复这些测试用例,并查看数据库如何响应。