单元测试数据?

时间:2008-09-24 09:39:30

标签: validation unit-testing test-data data-scrubbing

我们的软件管理来自各种来源的大量数据:实时复制数据库,自动FTP文件,计划运行数据库存储过程以缓存来自链接服务器的数据快照以及许多其他获取数据的方法。

我们需要验证并验证此数据:

  • 进口甚至发生了
  • 是合理的数据(空值,行数等)
  • 数据是否与其他值协调(可能我们有类似数据的多个来源)
  • 没有数据,导入需要手动提示

在许多方面,这就像单元测试:要进行多种类型的检查,只需在列表中添加一个新的检查,然后重新运行每一类测试以响应特定事件。已经有很好的用于运行测试的GUI,甚至可以安排它们。

这是一个好方法吗?是否有更好的,类似的通用模式进行数据验证?

我们是一家.NET商店,Windows Workflow(WF)会成为更灵活的解决方案吗?

2 个答案:

答案 0 :(得分:1)

单元测试与您需要做的不同。它更多的是集成测试或验收测试。但这不是重点。

您的系统对验证进入系统的数据有很高的要求。数据通过各种方式进入系统,我认为需要以不同的方式进行验证。

工作流程有助于设计和控制易于改变或需要人为干预的业务流程(逻辑)。当涉及验证主题时,它是不可知的。但是,将验证过程作为工作流程托管可能是一个好主意,因为工作流程旨在灵活,长寿并且能够进行人工干预。在工作流状态机框架内托管验证过程将允许您在运行时为不同类型的数据导入定义验证策略。

您需要设计一个验证框架,该框架在很大程度上依赖于组合而不是继承的逻辑。分解将数据导入系统并验证为原子步骤的所有不同方式。按责任分组这些步骤,并使用实现对象执行每个步骤所需的最近,最小的属性和方法创建接口。创建由这些不同接口组成的基类。从这个框架中,您可以混合和匹配适合特定导入或验证步骤的实现。

最后一件事。工作流程序列化为xaml以进行长期存储。您的类也应该是xaml可序列化的,以便从活动到存储库的过渡再次尽可能顺利和简单。

答案 1 :(得分:0)

测试此数据的有效性似乎是合理的。您可能会或可能不会将其称为单元测试,这是您的选择。我不会。使用你最适合这份工作的工具 - 我不知道WF(WebForms?)是什么意思。

通过自动测试获得的最大好处。无论什么是自动的并且适合您,都很好。

相关问题