0

我有一个想要添加一些自动化集成测试的现有应用程序。这是一个 .Net/SQL Server 应用程序,所有数据访问都通过存储过程进行管理。存储过程可能包含也可能不包含业务逻辑。构建我们的测试库似乎最有效的是在报告和解决错误时添加测试。因此,每个测试都将依赖于一组非常具体的数据,这些数据可能分布在多个数据库中的多个表中。如果数据库很小,我们可以简单地在每个测试运行之前启动包含每个测试的测试数据的数据库副本,并在测试完成后删除数据库。然而,总的来说,这些数据库太大而无法全部复制和存储。每个测试实际使用的数据子集将是可管理的。总共有8个数据库。最小的是 200 MB,最大的是 10 GB,其他 6 个介于两者之间。

获得正确的子集似乎是这个过程的关键。我对 SSIS 没有太多经验,但我很确定我们可以创建一个预定义的包来打包测试所需的数据子集。这种方法的问题是我们的应用程序涵盖了许多不同的功能领域,构建涵盖任何给定测试所需的所有场景的包似乎令人生畏。

另一个看起来很理想的选择(无论如何从表面上看)是创建一个日志框架,可以记录存储过程使用的所有数据(我们的一些存储过程具有来自多个表的多个选择语句)。因此,当我们准备好为测试用例创建数据时,我们可以简单地打开日志记录并针对完整/完整的数据库集运行测试逻辑。然后记录所有数据库/表在运行期间访问的记录的日志,并从日志中创建较小的测试特定数据库。该日志可能是实际数据,也可能是我们用来获取实际数据的一系列选择语句。这是不是太高了?

有关如何处理这种情况的任何建议都会有所帮助。

4

0 回答 0