对这个问题的完整答案将很长。我会尽力提及要点。
为了分开关注点,您可能正在考虑以下方面的测试:
A-验证数据库设计。
B-验证程序是否与数据库正确交互。
数据库设计验证应由设计数据库的人员执行。开发人员(在进行单元测试时)应更加关注(B)部分。我看到的两种测试之间的主要区别是所使用的工具。对于(A),您将使用与项目代码无关的环境,而对于(B),您当然将使用项目的代码。在下文中,我将两者混合使用。
要回答您的特殊问题:
列域值规则
每列都有一个关联的数据类型。必须根据业务规则验证每一列,以证明它代表正确的数据类型。如果列数据类型与业务需求不兼容,或者代码使用的数据类型与数据库中定义的数据类型不同,则可能会出现问题。
例如:
列默认值规则
某些列与DDL(数据定义语言)中的默认值规范相关联,如果在插入过程中插入不提供值,则数据库将采用默认值。可以通过不传递值并观察数据库存储的结果值来进行测试。此测试还可能包括检查可空列。这很少需要测试,因为可以从DDL进行验证,除非在该列上建立了唯一索引。
价值存在规则
据我了解,您可以验证插入或更新的数据是否按预期显示在数据库中。
行值规则
我不清楚这到底是什么意思。
尺寸规则
数据库中每列的大小取决于DDL中的定义。您想确保所有符合要求的值(从GUI输入或作为计算结果输出)都将正确存储在该列中。例如,小整数数据类型不允许您存储50亿的值。此外,定义为VARCHAR2(30)的名称将不能容纳40个字符,因此,业务规则在这里必须非常清楚,尤其是当该列用于汇总数据时。您想测试在这种情况下会发生什么。
有关如何/从哪里开始的指南
一种方法是提出一个测试计划。您要确保使用的是正确版本的规范(例如需求文档和用例)和软件。您还需要使这些测试与单元测试(如果有)进行的测试相协调。您可能会发现不需要再次执行的重复测试。您想要在测试之前制作数据库的副本,以便在需要时可以重复特定的测试。DBA可能会帮助您。您还需要与团队联系,他们如何记录这些测试并与他们一起验证测试范围。您可以将数据库分为逻辑部分,然后分别开始测试每个逻辑部分。测试过程可以通过研究数据库的DDL并验证列是否按照业务要求正确定义而开始。您应该使用该应用程序的软件而不是任何其他工具来执行大多数测试。例如,对以下问题提出疑问:
接下来,您可以设计测试用例来测试上述内容。您可以使用GUI进行大多数测试。
您还没有提到其他重要的数据库测试。这些处理:
1-从业务角度测试主键确实是唯一的。
2-从业务角度测试唯一索引(除了PK之外)确实是唯一的。
3-测试外键约束工作。
4-测试删除行时发生的情况及其对相关行的影响。
5-有关特殊数据库结构(如CHEKC),触发器(如果存在)的其他测试。
6-正确的表规范化,并且规范化的列包含正确的值。
上面的列表并不完整,但可以帮助您入门。