2008-09-24 7 views
0

Notre logiciel gère un grand nombre de sources de données: bases de données répliquées en temps réel, fichiers FTP automatiquement, exécution programmée de procédures stockées pour mettre en cache des instantanés de données de serveurs liés et de nombreuses autres méthodes d'acquisition de données.Unité de test des données?

Nous avons besoin de vérifier et de valider ces données:

  • a une importation est même arrivé
  • est les données raisonnables (valeurs nulles, nombre de lignes, etc.)
  • ne les données réconcilient avec d'autres valeurs (peut-être nous avons plusieurs sources de données similaires)
  • est-il sur les données et l'importation a besoin de précisions manuellement

À bien des égards, cela ressemble à un test unitaire: il y a plusieurs types de vérification à effectuer, il suffit d'ajouter une nouvelle vérification à la liste et de relancer chaque classe de test en réponse à un événement particulier. Il y a déjà de belles interfaces graphiques pour exécuter des tests, peut-être même pour les programmer.

Est-ce une bonne approche? Existe-t-il de meilleurs modèles, généralisés de manière similaire, pour la validation des données?

Nous sommes un magasin .NET, Windows Workflow (WF) serait-il une meilleure solution plus flexible?

Répondre

1

Le test unitaire n'est pas analogue à ce que vous devez faire. C'est plus le long des tests d'intégration ou d'acceptation. Mais c'est hors sujet.

Votre système a un besoin important pour la validation des données arrivant dans le système. Les données entrent dans le système par divers moyens, et je suppose qu'il doit être vérifié de différentes manières.

Le flux de travail permet de concevoir et de contrôler des processus métier (logiques) susceptibles de changer ou d'exiger une intervention humaine. Il est agnostique quand il s'agit de la validation. Cependant, héberger votre processus de validation en tant que workflow peut être une bonne idée, car les workflows sont conçus pour être flexibles, durables et capables d'intervention humaine. L'hébergement de votre processus de validation dans une structure de machine d'état de workflow vous permet de définir des stratégies de validation pour différents types d'importation de données au moment de l'exécution.

Vous devez concevoir un cadre de validation qui dépend fortement de la composition par rapport à l'héritage pour sa logique. Brisez toutes les différentes façons dont les données peuvent être importées dans le système et validées en étapes atomiques. Regroupez ces étapes par responsabilité et créez des interfaces avec les propriétés minimales et les méthodes minimales requises pour qu'un objet d'implémentation effectue chacune d'elles. Créez des classes de base composées de ces différentes interfaces. À partir de ce cadre, vous pouvez mélanger et faire correspondre des implémentations qui correspondent à l'étape d'importation ou de validation particulière.

Une dernière chose. Les workflows sont sérialisés en xaml pour un stockage à long terme. Vos classes doivent également être sérialisables par xaml pour que la transition de l'activité au référentiel soit de nouveau la plus simple et la plus simple possible.

0

Test de ces données pour la validité semble raisonnable. Vous pouvez ou ne pouvez pas l'appeler Test Unitaire, c'est votre choix. Je ne le ferais pas. Utilisez l'outil que vous trouvez le mieux pour ce travail - Je ne sais pas ce que vous voulez dire par WF (WebForms?).

Le plus grand avantage que vous obtenez en testant ce automatiquement. Tout ce qui est automatique et fonctionne pour vous, c'est bien.

Questions connexes