Frage

Unsere Software verwaltet eine Menge von Daten aus verschiedenen Quellen speist: Echtzeit repliziert Datenbanken, Dateien FTPed automatisch, geplante Ablauf der Datenbank gespeicherten Prozeduren Snapshots von Daten aus verknüpften Servern und zahlreichen anderen Methoden der Erfassung von Daten cachen.

Wir brauchen diese Daten zu verifizieren und zu validieren:

  • hat einen Import auch geschehen
  • sind die Daten angemessen (Nullwerte, die Anzahl der Zeilen, etc.)
  • versöhnt die Daten mit anderen Werten (vielleicht wir mehrere Quellen für ähnliche Daten)
  • ist es aus den Daten und der Importbedarf Aufforderung manuell

In vielerlei Hinsicht ist dies wie Unit Testing: Es gibt viele Arten von Scheck zu machen, fügen Sie einfach einen neuen Scheck in die Liste und nur jede Klasse von Test in Reaktion auf ein bestimmtes Ereignis erneut ausführen. Es gibt bereits schöne GUIs für Tests laufen, vielleicht sogar in der Lage sein, sie zu planen.

Ist das ein guter Ansatz? Gibt es besser, in ähnlicher Weise verallgemeinert, Muster für die Datenvalidierung?

Wir sind ein .NET-Shop, würde Windows Workflow (WF) eine bessere flexiblere Lösung?

War es hilfreich?

Lösung

Unit-Tests sind nicht analog zu dem, was Sie tun müssen. Seine mehr entlang der Linien von Integrationstests oder die Abnahmeprüfung. Aber das ist nebensächlich.

Das System hat eine schwere Voraussetzung für die Validierung von Daten in das System kommen. Die Daten stammen in das System durch verschiedene Mittel, und ich würde annehmen, dass es auf unterschiedliche Weise überprüft werden muss.

Workflow ist gut für die Gestaltung und Steuerung von Geschäftsprozessen (Logik), die geeignet sind, die menschliche Intervention zu ändern oder benötigen. Es ist Agnostiker, wenn es um das Thema Validierung kommt. Jedoch kann Ihren Validierungsprozess als Workflow-Hosting eine gute Idee sein, wie Workflows konzipiert ist flexibel, langlebig und in der Lage menschlichen Eingriffs sein. Hosting Ihres Validierungsprozesses innerhalb eines Workflows Zustandsmaschine Rahmen Sie erlauben würde, Validierungsstrategien für verschiedene Arten von Datenimport zur Laufzeit zu definieren.

Sie benötigen einen Validation Framework zu entwickeln, die für seine Logik stark auf Komposition der Vererbung beruht. Auseinander brechen all die verschiedenen Möglichkeiten, die Daten in das System und validiert in atomaren Stufen eingeführt werden. Gruppe dieser Schritte durch Verantwortung und schafft Schnittstellen mit den notwendigsten, die meist Mindest Eigenschaften und Methoden für ein Implementierungsobjekt benötigten jeden auszuführen. Erstellen Sie Basisklassen, die von diesen unterschiedlichen Schnittstellen bestehen. Von diesem Rahmen können Sie Implementierungen, den bestimmten Import oder Validierungsschritt entspricht.

mischen und

Eine letzte Sache. Workflows werden serialisiert für die Langzeitlagerung XAML. Ihre Klassen sollten auch XAML serializable sein, den Übergang von der Tätigkeit machen zu der Verwahrungsstelle und wieder zurück so reibungslos und einfach wie möglich.

Andere Tipps

für die Gültigkeit dieser Daten Testen scheint vernünftig. Sie können oder nennen Sie es nicht Unit Testing, dass Ihre Wahl ist. Würde ich nicht. Verwenden Sie das Werkzeug, das Sie am besten für diesen Job zu finden - (? WebForms). Ich weiß nicht, was meinst du mit WF

Die meisten Nutzen Sie erhalten durch Testen dieses automatisch. Was auch immer automatisch und für Sie arbeitet, ist gut.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top