Pergunta

O nosso software gere uma grande quantidade de feeds de dados de várias fontes: o tempo real replicado bancos de dados, arquivos FTPed automaticamente, prevista em execução de banco de dados procedimentos armazenados para instantâneos de cache de dados de servidores vinculados e inúmeros outros métodos de aquisição de dados.

Precisamos verificar e validar esses dados:

  • tem uma importação mesmo aconteceu
  • são os dados razoáveis ??(valores nulos, número de linhas, etc.)
  • faz a reconciliação de dados com outros valores (talvez nós temos múltiplas fontes de dados similar)
  • é fora de dados e as necessidades de importação solicitar manualmente

De muitas formas isso é como Unidade de Teste: há muitos tipos de seleção para fazer, basta adicionar uma nova seleção para a lista e apenas re-executar cada classe de teste em resposta a um evento particular. Já existem agradáveis ??GUIs para a execução de testes, talvez até mesmo ser capaz de programá-los.

Esta é uma abordagem bem? Há melhor, semelhante generalizadas, padrões para validação de dados?

Nós somos uma loja NET, seria Windows Workflow (WF) ser uma solução melhor, mais flexível?

Foi útil?

Solução

teste

A unidade não é análogo ao que você precisa fazer. Sua mais ao longo das linhas de testes de integração ou teste de aceitação. Mas isso não vem ao ponto.

O sistema tem uma exigência pesada para validação dos dados que entram no sistema. Dados entra no sistema através de vários meios, e eu diria que precisa ser verificado de maneiras diferentes.

Fluxo de trabalho é bom para a concepção e controlam processos de negócios (lógica) que estão aptos para mudar ou requerem intervenção humana. É agnóstico quando se trata de objecto de validação. No entanto, hospedando seu processo de validação de um fluxo de trabalho pode ser uma boa idéia, como fluxos de trabalho são projetados para serem flexíveis, muito viva e capaz de intervenção humana. Hospedar seu processo de validação dentro de uma estrutura de máquina de estado de fluxo de trabalho que permitem definir estratégias de validação para diferentes tipos de importação de dados em tempo de execução.

Você precisa criar um quadro de validação que depende fortemente de composição sobre herança para sua lógica. Quebrar todas as diferentes maneiras que os dados podem ser importados para o sistema e validados em etapas atômicas. Grupo esses passos por responsabilidade e criar interfaces com os, a maioria das propriedades e métodos mínimo indispensável necessários para um objeto de execução para executar cada. Criar classes de base que são compostas destes diferentes interfaces. A partir deste quadro que você pode misturar e combinar implementações que terno a importação ou a validação passo particular.

Uma última coisa. Os fluxos de trabalho são serializado para XAML para armazenamento a longo prazo. Suas aulas deve ser serializado XAML, assim como para fazer a transição da atividade para repositório e de volta tão flexíveis e simples quanto possível.

Outras dicas

Testando esses dados para a validade parece razoável. Você pode ou não pode chamá-lo de Testes Unitários, a escolha é sua. Eu não faria. Use a ferramenta que você encontrar o melhor para este trabalho - (? WebForms). Eu não sei o que você quer dizer com WF

O mais benefício que você começa testando este automaticamente. O que quer que é automático e funciona para você, é bom.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top