网络测试框架和重复

问题描述 投票:0回答:1

为数据仓库编写测试用例时,适当的测试协议是什么?

背景:

我们正在将多个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)
c# unit-testing .net-core nunit xunit
1个回答
1
投票

您描述的测试级别比单元测试更广泛。我最后会回到那里。

您想要验证为1000个表完成的操作以及一切正确。这是一个非常高级的测试......我称之为集成测试。那没关系,但显然很耗时。

我要做的是减少时间

  1. 做一个简短的测试,确定应该创建的每个表都是实际创建的。
  2. 随机选择n表进行完整测试。
  3. 根据将来出现的错误添加进一步的测试。

理想情况下,我会对n进行参数化,并在需要时进行详尽的测试。例如,随机测试不会发现当某个名称中有空格时出现的问题,但这种情况不太可能发生。

现在让我们假设你真的想要所有这些的单元测试(我会)...

  1. 将数据层放在可以模拟的接口后面。
  2. 创建一个更新1个表的方法。使用模拟彻底测试该方法。
  3. 现在模拟包含该方法的对象。
  4. 在进行完整复制时,使用正确的表名称测试该方法被调用必需的次数。
© www.soinside.com 2019 - 2024. All rights reserved.