Geração de dados de teste para bancos de dados usando os geradores de dados

Você pode usar Visual Studio Premium para criar dados de teste, você precisará verificar o comportamento da os objetos de banco de dados no seu o projeto de banco de dados. Você pode gerar os dados apropriados para o esquema do banco de dados, mas não relacionados aos dados de produção. Essa abordagem pode ajudá-lo a proteger a privacidade ou segurança dos dados de produção.

Você pode definir um o plano de geração de dados que especifica os detalhes de como você deseja que os dados a ser gerado para colunas e tabelas específicas. Para cada coluna, você pode especificar um gerador de dados que produz um tipo específico de dados.

Quando você cria um plano de geração de dados em um projeto de banco de dados, o plano é baseado no esquema do projeto. Se você criar um plano de geração de dados e, em seguida, as mudanças de esquema, você precisará atualizar o plano.

Observação importanteImportante

Se você não atualizar o plano de geração de dados com base nas alterações de esquema, você não pode continuar a modificar o plano. Somente pode fechar e reabrir o plano de geração de dados para exibir o prompt novamente.

Quando você executa o testes de unidade de banco de dados, você pode especificar um plano de geração de dados diferentes para cada projeto de teste. Portanto, você pode inicializar o banco de dados para um estado diferente para cada grupo de testes.

Geradores de dados

Visual Studio Premiuminclui vários geradores de dados interno para a geração de diferentes tipos de dados. Por exemplo, o gerador de número inteiro fornece valores inteiros aleatórios, o gerador de seqüência fornece aleatória de seqüências e o gerador de expressão regular fornece a seqüências de caracteres que correspondem um padrão que você especificar. Para obter mais informações e a lista completa de geradores de dados padrão, consulte Tipos de gerador de dados padrão e Especifique detalhes da geração de dados para uma coluna.

Se os geradores incluídas nas Visual Studio Premium não fornecem os dados que atenda às suas necessidades, você pode criar personalizado geradores. Por exemplo, convém criar um gerador de dados personalizados se seu banco de dados contém uma coluna que tem uma restrição check que faz referência a outra coluna. Para obter mais informações, consulte Gerar dados de teste especializado com um gerador de dados personalizados.

Você pode receber erros se você tentar gerar dados para uma tabela que contém as colunas ESPARSAS e um COLUMN_SET. Para obter mais informações, consulte Solucionando problemas de geração de dados.

Planos de geração de dados em um ambiente de equipe

Um plano de geração de dados é um arquivo XML que contém informações sobre as informações de esquema e configuração de banco de dados que controla a geração de dados para cada coluna em cada tabela que você especificar. Um plano de geração de dados para um banco de dados que contém aproximadamente 40 tabelas pode ser de aproximadamente 8 MB e mais de 100.000 linhas de comprimento.

Não é possível mesclar automaticamente a alterações em um arquivo de .dgen usando Controle de versão do Team Foundation ou outro sistema de controle de versão. O processo que você deve usar para mesclar manualmente os arquivos XML grandes é difícil e propensa a erros. Você pode minimizar os problemas relacionados ao planejamento de geração de dados usando o check-out exclusivo no plano quando você deve alterá-lo.

Segurança dos geradores de dados

Você pode compartilhar planos de geração de dados e geradores de dados personalizados em um ambiente de equipe. Antes de compartilhar ou usar os arquivos de geração de dados compartilhados, você deve considerar os riscos de segurança a seguintes:

  • Informações de esquema nos planos de geração de dados
    Quando você cria um plano de geração de dados, o arquivo .dgen contém o esquema de tabelas, o que pode ser o segredo comercial confidencial. Quando você compartilha um arquivo de .dgen, a pessoa com quem você compartilha o arquivo pode ver seu esquema. Você deve compartilhar planos de geração de dados somente com fontes confiáveis.

  • Código mal-intencionado em planos de geração de dados
    Quando um plano de geração de dados contém um gerador de dados acoplado, você escreve um Transact-SQL consulta que é executado quando o plano de execução. Essa abordagem permite arbitrária Transact-SQL para executar a partir de dentro de um plano de geração de dados. Você deve obter os planos de geração de dados somente de fontes confiáveis, e você deve avisar aos usuários finais não executar planos de geração de dados que recebem a partir de fontes não confiáveis.

  • Informações de conexão e geradores de dados personalizados
    Todos os geradores de dados personalizados têm acesso à seqüência de conexão de banco de dados em tempo de execução. Um gerador de personalizado mal-intencionado pode expor as informações de seqüência de caracteres de conexão. Você deve obter os geradores de dados personalizados somente de fontes confiáveis, e você deve avisar aos usuários finais não usar geradores de dados personalizados, eles recebem a partir de fontes não confiáveis.

  • Código mal-intencionado em geradores de dados personalizados
    Geradores de dados personalizados são classes que podem conter código arbitrário. Quando você usa um gerador de dados personalizados, ele é executado com as mesmas permissões que o usuário ativo. Essa abordagem pode executar código mal-intencionado na FullTrust modo. Você deve obter os geradores de dados personalizados somente de fontes confiáveis, e você deve avisar aos usuários finais não usar geradores de dados personalizados, eles recebem a partir de fontes não confiáveis.

  • Código mal-intencionado em instaladores para geradores de dados personalizados
    Você pode criar projetos de implantação para instalar os geradores de dados personalizados. Os projetos de implantação podem conter código arbitrário. Quando você executa um programa de instalação para um gerador de dados personalizados, o programa é executado com permissões elevadas. Essa abordagem pode executar código mal-intencionado com permissões elevadas. Você deve obter os instaladores do gerador de dados personalizados somente de fontes confiáveis, e você deve avisar aos usuários finais não executar programas de instalação para geradores de dados personalizados, eles recebem a partir de fontes não confiáveis.

Tarefas comuns

Tarefas comuns

Conteúdo de apoio

Obtenha a prática: Você pode seguir uma explicação passo a passo introdutória para se familiarizar com como criar e executar um teste de unidade de banco de dados simples.

Crie um plano de geração de dados: Crie um plano de geração de dados para cada projeto de teste de unidade ou testes de aplicativo específico. Você também pode definir um plano de geração de dados padrão é todas as colunas para reutilizar os dados de outro banco de dados que você especificar.

Atualize um plano de geração de dados a partir de uma versão anterior: Você pode usar os planos de geração de dados criado com uma versão anterior do Visual Studio Premium. No entanto, você deve atualizar o plano imediatamente depois de você abri-lo.

Especifique as tabelas que você deseja gerar: Você pode gerar dados para todas as tabelas ou apenas as tabelas que você especificar. Para cada tabela, você pode especificar um número de linhas para gerar. Como alternativa, você pode gerar linhas em uma taxa que é baseada no número de linhas que você gerar para outra tabela.

Configure como os dados são gerados para cada coluna nas tabelas que você especificar: Especifique o tipo de gerador de dados para cada coluna. Você também pode fornecer as restrições no intervalo de valores de dados. Para geradores de avançada de mais dados, você pode fornecer informações de configuração adicionais para refinar ainda mais os dados que você gerar.

Visualize os dados gerados: Antes de gravar dados no seu banco de dados, você pode visualizar os dados de qualquer tabela que está incluído no seu plano de geração de dados. Ao visualizar os dados, você pode ajustar o plano de geração de dados sem gerar dados interativamente.

Gere dados de teste: Depois de ter visualizado e verificado se os dados que você irá gerar, você pode executar o plano de geração de dados para gerar os dados de teste. Você também pode configurar o seu projeto de teste de unidade para que os dados serão gerados automaticamente sempre que você executar os testes de unidade.

Verifique os planos de geração de dados: Assim como você deve verificar nos testes de unidade para o controle de versão para compartilhá-los com sua equipe, você também deve verificar seus planos de geração de dados.

Alterar os padrões do gerador de dados e opções: Você pode especificar valores padrão para a semente aleatória e o número de linhas a ser inserido. Você também pode especificar as opções que controlam aspectos dos geradores de dados, como, por exemplo, o número de linhas a serem exibidas na janela de visualização e o número máximo aceitável erros que podem ser exibidos enquanto os dados são gerados para uma tabela individual antes da operação falhará.

Solucionar problemas: Você pode saber mais sobre como solucionar problemas comuns com a criação e utilização de planos de geração de dados.

Cenários relacionados