2008-09-24 110 views
0

我们的软件管理来自各种来源的大量数据馈送:实时复制数据库,自动FTPed,数据库存储过程的定时运行以缓存来自链接服务器的数据快照以及许多其他获取数据的方法。单元测试数据?

我们需要核实和验证这样的数据:

  • 有一个进口,甚至发生
  • 是合理的数据(空值,行数等)
  • 数据是否与调和其他值(也许我们有相似的数据多源)
  • 是它的数据和进口需要手动提示

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

这是一个很好的方法吗?数据验证模式是否有更好的类似的概括性?

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

回答

1

单元测试与您需要做的不相似。它更多地遵循集成测试或验收测试。但那不是重点。

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

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

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

最后一件事。工作流程序列化为xaml以进行长期存储。你的类应该是xaml序列化的,以便从活动到存储库的过渡,并尽可能平滑和简单地返回。

0

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

通过自动测试此可以获得最大收益。无论是自动的还是适合你的,都不错。