O valor de bons dados de teste para DBAs é bem conhecido:
“O teste de aplicativos com uso intensivo de banco de dados tem desafios únicos decorrentes de dependências ocultas, diferenças sutis na semântica de dados, esquemas de banco de dados de destino e regras de negócios implícitas. Esses desafios se tornam ainda mais difíceis quando a aplicação envolve bancos de dados integrados e heterogêneos ou dados confidenciais. Dados de teste adequados que simulam problemas de dados do mundo real são essenciais para alcançar benchmarks de qualidade razoáveis para validação de entrada funcional, carga, desempenho e teste de estresse. ” – Ali Raza &Stephen Clyde, resumo de Criando conjuntos de dados para testar bancos de dados relacionais
Testar operações de banco de dados, prototipar tarefas de data warehouse e ETL/ELT, terceirizar com segurança amostras e relatórios de arquivos e executar benchmarks de desempenho em dispositivos de banco de dados exigem dados de teste com a aparência do banco de dados de produção para que os aplicativos que usam esses dados de teste agora executar com sucesso com dados reais mais tarde. Em seu livro de 2012, Raza e Clyde comparam a geração de dados de teste com a extração de dados de teste.
O IRI e seus usuários sabem que usar dados reais para testes é indesejável. A razão mais óbvia hoje é que os dados reais correm o risco de expor informações de identificação pessoal (PII) que precisam ser mantidas em sigilo. Um desenvolvedor ou testador não deseja executar processos ou testar um sistema de banco de dados e arriscar compartilhar informações de clientes, como números de previdência social, informações de cartão de crédito, datas de nascimento, etc. durante esta fase. Os dados reais atualmente disponíveis também podem não ser robustos ou realistas o suficiente para testar aplicativos ou bancos de dados que terão que lidar com volumes e/ou intervalos de valores maiores.
Infelizmente, Raza e Clyde escreveram seu livro antes do lançamento do RowGen v3, quando eles podem ter observado que ele gera dados de teste que:
1) não expõe PII porque contém valores de coluna novos ou reais aleatórios
2) mantém a integridade estrutural e referencial definida no DDL original
3) não se limita aos volumes de dados do banco de dados original ou intervalos de valores
4) podem ser personalizados através da geração de scripts para atender a requisitos complexos
5) são pré-classificados e carregados automaticamente em massa para a população mais rápida possível
6) são definidos em lote scripts que têm flexibilidade diversa e podem ser exportados, reutilizados e modificados conforme necessário
O IRI RowGen v3 é a versão mais recente do gerador de dados de teste de alto volume mais rápido e robusto do mundo para bancos de dados relacionais. O RowGen será executado a partir da GUI do IRI Workbench criada no Eclipse, na linha de comando ou em programas em lote, para produzir a qualidade e a quantidade de dados de teste necessários para refletir com precisão o escopo, os layouts e os relacionamentos nos bancos de dados de produção e, por sua vez, data warehouses e armazenamentos de dados operacionais.
O novo assistente de dados de teste de banco de dados do RowGen v3, quando iniciado a partir da GUI do IRI Workbench, orienta os usuários pela especificação e automação de:
Análise – selecionando o esquema e as tabelas a serem preenchidas, o RowGen traduz as descrições das tabelas do banco de dados e as restrições de integridade em scripts .rcl que especificam a estrutura de origem, conjuntos dependentes e criação de dados, na ordem necessária para preencher as tabelas no formato correto e com todas as chaves primárias, índices exclusivos e relacionamentos de chave estrangeira respeitados.
Geração – construindo e executando os scripts .rcl para criar um arquivo de teste por tabela que pode ser carregado em massa e/ou salvo para uso futuro.
População – carregando em massa as tabelas de destino na ordem correta com dados de teste pré-ordenados que são estrutural e referencialmente corretos.
O processo pode carregar rapidamente grandes bancos de dados de teste e cumprir as regras de negócios e as leis de privacidade de dados. Os dados gerados são realistas e robustos o suficiente para testar operações de banco de dados e aplicativos de consulta.
O RowGen v3 também oferece suporte a opções baseadas em regras e scripts para controlar valores de campo específicos e distribuições de intervalo de valores que acomodam restrições de banco de dados específicas e representam melhor a aparência e as taxas de ocorrência de dados em produção. Os usuários também podem representar graficamente e comprovar visualmente que os valores de teste estão em conformidade com distribuições lineares, normalizadas, ponderadas ou padrão.
Para obter mais informações sobre o RowGen v3, consulte www.iri.com/products/rowgen, www.iri.com/products/rowgen/gui ou leia os outros artigos na seção Test Data do blog IRI.