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.