为数据仓库编写测试用例时正确的测试协议是什么?
背景:
我们正在使用适用于动态SQL的特殊过程将多个SQL表从源A复制到源B。该过程在表A中找到带有information_schema的列。列,验证它们是否存在于表B中,然后复制。
什么是正确的单元测试框架?我们有1000多个表,是否需要针对1000个表进行验证该计数和值的单独测试此过程?并在VS Test Explorer中编写1000个Nunit / Xunit测试?
例如;复制SQL表(客户,付款,库存)。
客户A --->客户B
库存--->库存B
付款B --->付款B
示例:运行测试用例以验证计数,并将结果复制到数据测试表中,并使用for / while循环
insert into dbo.TestResultTable(TestFlag)
utilize for loop -- make sure counts are equal for every copy
set @TestFlag = (select count(*) from CustomerA = select count(*) from CustomerB)
set @TestFlag = (select count(*) from InventoryA = select count(*) from InventoryB)
set @TestFlag = (select count(*) from PaymentsA = select count(*) from PaymentsB)
答案 0 :(得分:1)
您所描述的测试级别比单元测试要广泛。最后我会再说。
您要验证操作是否已针对1000个表完成并且所有操作都正确。这是一个非常高级的测试……我将其称为集成测试。可以,但是很费时间。
我想减少时间的是
n
表进行完整测试。理想情况下,我会参数化n
并在需要时进行详尽的测试。例如,随机测试不会发现名称中带有空格的问题,但这是不太可能发生的。
现在让我们假设您实际上想要对所有这些进行单元测试(我愿意)...