Data Warehousing - Teste

O teste é muito importante para os sistemas de data warehouse, para que funcionem de maneira correta e eficiente. Existem três níveis básicos de testes realizados em um data warehouse -

  • Teste de unidade
  • Teste de integração
  • Teste de sistema

Teste de Unidade

  • No teste de unidade, cada componente é testado separadamente.

  • Cada módulo, isto é, procedimento, programa, script SQL, shell Unix, é testado.

  • Este teste é realizado pelo desenvolvedor.

Teste de integração

  • No teste de integração, os vários módulos do aplicativo são reunidos e testados em relação ao número de entradas.

  • É executado para testar se os vários componentes funcionam bem após a integração.

Teste de Sistema

  • No teste de sistema, todo o aplicativo de data warehouse é testado junto.

  • O objetivo do teste de sistema é verificar se todo o sistema funciona corretamente em conjunto ou não.

  • O teste do sistema é realizado pela equipe de teste.

  • Como o tamanho de todo o data warehouse é muito grande, geralmente é possível realizar testes mínimos do sistema antes que o plano de teste possa ser executado.

Cronograma de Teste

Em primeiro lugar, o cronograma de teste é criado no processo de desenvolvimento do plano de teste. Neste cronograma, prevemos o tempo estimado necessário para o teste de todo o sistema de data warehouse.

Existem diferentes metodologias disponíveis para criar um cronograma de teste, mas nenhuma delas é perfeita porque o data warehouse é muito complexo e grande. Além disso, o sistema de data warehouse está evoluindo na natureza. Pode-se enfrentar os seguintes problemas ao criar um cronograma de teste -

  • Um problema simples pode ter uma consulta de grande porte que pode levar um dia ou mais para ser concluída, ou seja, a consulta não é concluída na escala de tempo desejada.

  • Pode haver falhas de hardware, como perda de um disco ou erros humanos, como exclusão acidental de uma tabela ou substituição de uma mesa grande.

Note - Devido às dificuldades mencionadas acima, é recomendável sempre dobrar a quantidade de tempo que você normalmente permitiria para o teste.

Testando recuperação de backup

Testar a estratégia de recuperação de backup é extremamente importante. Aqui está a lista de cenários para os quais este teste é necessário -

  • Falha de mídia
  • Perda ou dano de espaço de tabela ou arquivo de dados
  • Perda ou dano do arquivo de log de redo
  • Perda ou dano do arquivo de controle
  • Falha de instância
  • Perda ou dano do arquivo de arquivo
  • Perda ou dano da mesa
  • Falha durante falha de dados

Ambiente operacional de teste

Existem vários aspectos que precisam ser testados. Esses aspectos estão listados abaixo.

  • Security- Um documento de segurança separado é necessário para o teste de segurança. Este documento contém uma lista de operações não permitidas e testes de planejamento para cada uma.

  • Scheduler- O software de programação é necessário para controlar as operações diárias de um data warehouse. Ele precisa ser testado durante o teste do sistema. O software de planejamento requer uma interface com o data warehouse, que precisará do planejador para controlar o processamento noturno e o gerenciamento de agregações.

  • Disk Configuration.- A configuração do disco também precisa ser testada para identificar gargalos de E / S. O teste deve ser executado várias vezes com configurações diferentes.

  • Management Tools.- É necessário testar todas as ferramentas de gerenciamento durante o teste do sistema. Aqui está a lista de ferramentas que precisam ser testadas.

    • Gerente de eventos
    • Gerente de sistema
    • Gerenciador de banco de dados
    • Gerenciador de configuração
    • Gerenciador de recuperação de backup

Testando o banco de dados

O banco de dados é testado das três maneiras a seguir -

  • Testing the database manager and monitoring tools - Para testar o gerenciador de banco de dados e as ferramentas de monitoramento, eles devem ser usados ​​na criação, execução e gerenciamento do banco de dados de teste.

  • Testing database features - Aqui está a lista de recursos que temos que testar -

    • Consultando em paralelo

    • Crie um índice em paralelo

    • Carregamento de dados em paralelo

  • Testing database performance- A execução da consulta desempenha um papel muito importante nas medidas de desempenho do data warehouse. Existem conjuntos de consultas fixas que precisam ser executados regularmente e devem ser testados. Para testar consultas ad hoc, deve-se examinar o documento de requisitos do usuário e entender o negócio completamente. Reserve um tempo para testar as consultas mais complicadas que a empresa provavelmente fará em relação a diferentes estratégias de índice e agregação.

Testando o aplicativo

  • Todos os gestores devem estar integrados corretamente e trabalhar de forma a garantir que a carga ponta a ponta, índice, agregação e consultas funcionem de acordo com as expectativas.

  • Cada função de cada gerente deve funcionar corretamente

  • Também é necessário testar o aplicativo por um período de tempo.

  • Tarefas de fim de semana e de fim de mês também devem ser testadas.

Logística do Teste

O objetivo do teste de sistema é testar todas as seguintes áreas -

  • Software de agendamento
  • Procedimentos operacionais do dia-a-dia
  • Estratégia de recuperação de backup
  • Ferramentas de gestão e agendamento
  • Processamento noturno
  • Desempenho de consulta

Note- O ponto mais importante é testar a escalabilidade. Não fazer isso nos deixará com um design de sistema que não funciona quando o sistema cresce.