为数据仓库编写测试用例时,适当的测试协议是什么?
背景:
我们正在将多个SQL表从源A复制到源B,并使用一个应用动态SQL的特殊过程。该过程使用information_schema查找表A中的列。列,验证表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)
您描述的测试级别比单元测试更广泛。我最后会回到那里。
您想要验证为1000个表完成的操作以及一切正确。这是一个非常高级的测试......我称之为集成测试。那没关系,但显然很耗时。
我要做的是减少时间
n
表进行完整测试。理想情况下,我会对n
进行参数化,并在需要时进行详尽的测试。例如,随机测试不会发现当某个名称中有空格时出现的问题,但这种情况不太可能发生。
现在让我们假设你真的想要所有这些的单元测试(我会)...