how perform etl testing using informatica powercenter tool
É um fato conhecido que Teste ETL é um dos aspectos cruciais de qualquer Business Intelligence (BI) baseado em aplicativo. A fim de obter a garantia de qualidade e aceitação para entrar no mercado, o aplicativo de BI deve ser testado com bastante antecedência.
O objetivo principal do teste de ETL é garantir que o É xtract, T ransformar e eu A funcionalidade oad está funcionando de acordo com os requisitos de negócios e em sincronia com os padrões de desempenho.
Antes de entrarmos nos testes de ETL com Informática , é essencial saber o que são ETL e Informatica.
O que você aprenderá:
- O que você aprenderá neste tutorial ETL:
- Ferramenta de teste de ETL do Informatica PowerCenter:
- Noções básicas sobre testes ETL específicos para Informatica:
- Classificação do Teste ETL na Informatica:
- Benefícios de usar a Informatica como uma ferramenta ETL:
- Algumas dicas úteis para ajudá-lo nos testes de ETL da Informatica:
- Conclusão:
- Leitura recomendada
O que você aprenderá neste tutorial ETL:
- Noções básicas de ETL, Informatica e testes de ETL.
- Noções básicas sobre testes ETL específicos para Informatica.
- Classificação de testes de ETL na Informatica.
- Casos de teste de amostra para teste de ETL da Informatica.
- Benefícios de usar a Informatica como um Ferramenta ETL .
- Dicas e truques para ajudá-lo nos testes.
Na computação, Extrair, Transformar, Carregar (ETL) refere-se a um processo no uso do banco de dados e especialmente no armazenamento de dados que executa:
- Extração de dados - Extrai dados de fontes de dados homogêneas ou heterogêneas.
- Transformação de dados - Formata os dados no tipo necessário.
- Carregamento de dados - Mova e armazene os dados em um local permanente para uso de longo prazo.
Ferramenta de teste de ETL do Informatica PowerCenter:
O Informatica PowerCenter é uma ferramenta ETL poderosa da Informatica Corporation. É uma plataforma única e unificada de integração de dados corporativos para acessar, descobrir e integrar dados de praticamente qualquer sistema de negócios, em qualquer
É uma plataforma única e unificada de integração de dados corporativos para acessar, descobrir e integrar dados de virtualmente qualquer sistema de negócios, em qualquer formato, e entregar esses dados em toda a empresa em qualquer velocidade. Através Informatica PowerCenter , criamos fluxos de trabalho que executam operações ETL ponta a ponta.
Baixe e instale o Informatica PowerCenter:
Para instalar e configurar o Informatica PowerCenter 9.x, use o link a seguir, que contém instruções passo a passo:
=> Guia de instalação e configuração do Informatica PowerCenter 9
Noções básicas sobre testes ETL específicos para Informatica:
Os testadores de ETL costumam ter perguntas pertinentes sobre o que testar na Informatica e quanta cobertura de teste é necessária?
Deixe-me guiá-lo por um tour sobre como realizar testes ETL específicos para Informatica.
Os principais aspectos que devem ser essencialmente abordados nos testes de ETL da Informatica são:
- Testar a funcionalidade do fluxo de trabalho da Informatica e seus componentes; todas as transformações usadas nos mapeamentos subjacentes.
- Para verificar a integridade dos dados (ou seja, garantindo se os dados projetados estão sendo carregados no destino sem qualquer truncamento e perda de dados),
- Verificar se os dados estão sendo carregados no destino dentro dos limites de tempo estimados (ou seja, avaliar o desempenho do fluxo de trabalho),
- Garantir que o fluxo de trabalho não permita que nenhum dado inválido ou indesejado seja carregado no destino.
Classificação do Teste ETL na Informatica:
Para melhor compreensão e facilidade do testador, o teste de ETL na Informatica pode ser dividido em duas partes principais -
melhor programa para corrigir erros de registro
# 1) Teste de alto nível
# 2) Teste detalhado
Em primeiro lugar, no teste de alto nível:
- Você pode verificar se o fluxo de trabalho Informatica e os objetos relacionados são válidos ou não.
- Verifique se o fluxo de trabalho está sendo concluído com êxito na execução.
- Confirme se todas as sessões / tarefas necessárias estão sendo executadas no fluxo de trabalho.
- Valide se os dados estão sendo carregados no diretório de destino desejado e com o nome de arquivo esperado (no caso de o fluxo de trabalho estar criando um arquivo), etc.
Resumindo, você pode dizer que o teste de alto nível inclui todas as verificações básicas de sanidade.
Vindo para a próxima parte, ou seja, testes detalhados na Informatica , você irá validar em profundidade se a lógica implementada na Informatica está funcionando conforme o esperado em termos de seus resultados e desempenho.
- Você precisa fazer as validações de dados de saída no nível de campo, o que confirmará se cada transformação está operando bem
- Verifique se o registro conta em cada nível de processamento e, finalmente, se o destino está conforme o esperado.
- Monitore completamente elementos como qualificador de origem e destino nas estatísticas de origem / destino da sessão
- Certifique-se de que a duração da execução do fluxo de trabalho da Informatica seja compatível com o tempo de execução estimado.
Resumindo, podemos dizer que o teste detalhado inclui uma validação rigorosa de ponta a ponta do fluxo de trabalho da Informatica e do fluxo de dados relacionado.
Vamos dar um exemplo aqui:
Temos um arquivo simples que contém dados sobre diferentes produtos. Ele armazena detalhes como o nome do produto, sua descrição, categoria, data de validade, preço, etc.
Meu requisito é buscar cada registro de produto do arquivo, gerar um id de produto exclusivo correspondente a cada registro e carregá-lo na tabela de banco de dados de destino. Também preciso suprimir os produtos que pertencem à categoria 'C' ou cuja data de validade é inferior à data atual.
Digamos, meu arquivo simples (fonte) se parece com isto:
(Nota:Clique em qualquer imagem para ampliá-la)
Com base em meus requisitos declarados acima, minha tabela de banco de dados (Destino) deve ser semelhante a:
Nome da tabela: Tbl_Product
Prod_ID (chave primária) | Nome do Produto | Prod_description | Prod_category | Prod_expiry_date | Prod_price |
---|---|---|---|---|---|
1001 | abc | Este é o produto ABC. | M | 14/08/2017 | 150 |
1002 | DEF | Este é o produto DEF. | S | 06/10/2018 | 700 |
1003 | PQRS | Este é o produto PQRS. | M | 23/05/2019 | 1500 |
Agora, digamos, desenvolvemos um fluxo de trabalho da Informatica para obter a solução para meus requisitos de ETL.
O mapeamento Informatica subjacente lerá os dados do arquivo simples, passará os dados por meio de uma transformação de roteador que descartará as linhas que têm a categoria de produto como 'C' ou data de validade, então estarei usando uma geração de sequência para criar a chave primária exclusiva valores para a coluna Prod_ID na Tabela de produtos.
Finalmente, os registros serão carregados na tabela Product, que é o destino do meu mapeamento Informatica.
Exemplos:
Abaixo estão os casos de teste de amostra para o cenário explicado acima.
Você pode usar esses casos de teste como um modelo em seu projeto de teste da Informatica e adicionar / remover casos de teste semelhantes, dependendo da funcionalidade do seu fluxo de trabalho.
# 1) ID do caso de teste: T001
Objetivo do caso de teste: Validar fluxo de trabalho - (workflow_name)
Procedimento de teste:
- Vá para o gerenciador de fluxo de trabalho
- Fluxo de trabalho aberto
- Menu de fluxos de trabalho-> clique em validar
Valor de entrada / dados de teste: Fontes e destinos estão disponíveis e conectados
Fontes: (nome de todas as instâncias de origem)
Mapeamentos: (nome de todos os mapeamentos)
Alvos: (nome de todas as instâncias de destino)
Sessão: (nome de todas as sessões)
Resultados esperados: Mensagem na barra de status do gerenciador de fluxo de trabalho: “Workflow (workflow_name) é válido“
Resultados reais: Mensagem na barra de status do gerenciador de fluxo de trabalho: “Workflow (workflow_name) é válido“
Observações:Passar
Comentários do testador:
programa de classificação de mesclagem simples em c ++
# 2) ID do caso de teste: T002
Objetivo do caso de teste: Para garantir se o fluxo de trabalho está sendo executado com sucesso
Procedimento de teste:
- Vá para o gerenciador de fluxo de trabalho
- Fluxo de trabalho aberto
- Clique com o botão direito no designer de fluxo de trabalho e selecione Iniciar fluxo de trabalho
- Verifique o status no Workflow Monitor
Valor de entrada / dados de teste: O mesmo que os dados de teste para T001
Resultados esperados: Mensagem na janela de saída do gerenciador de fluxo de trabalho: Atualização de tarefa: (workflow_name) (bem-sucedido)
Resultados reais: Mensagem na janela de saída do gerenciador de fluxo de trabalho: Atualização de tarefa: (workflow_name) (bem-sucedido)
Observações:Passar
Comentários do testador: Fluxo de trabalho bem-sucedido
Nota: Você pode ver facilmente o status de execução do fluxo de trabalho (com falha / êxito) no monitor de fluxo de trabalho, conforme mostrado no exemplo abaixo. Assim que o fluxo de trabalho for concluído, o status será refletido automaticamente no monitor de fluxo de trabalho.
Na captura de tela acima, você pode ver a hora de início e a hora de término do fluxo de trabalho, bem como o status de sucesso.
# 3) ID do caso de teste: T003
Objetivo do caso de teste: Para validar se o número desejado de registros está sendo carregado para o destino
Procedimento de teste: Depois que o fluxo de trabalho for executado com sucesso, vá para a tabela de destino no banco de dados
Verifique o número de linhas na tabela de banco de dados de destino
Valor de entrada / dados de teste: 5 linhas no arquivo de origem
Destino: tabela de banco de dados - (Tbl_Product)
Consulta para executar no servidor SQL: Selecione a contagem (1) de (Tbl_Product)
Resultados esperados: 3 linhas selecionadas
Resultados reais: 3 linhas selecionadas
Observações:Passar
Comentários do testador:
# 4) ID do caso de teste: T004
Objetivo do caso de teste: Para verificar se o gerador de sequência no mapeamento Informatica está funcionando bem para preencher (primary_key_column_name, por exemplo, Prod_ID) coluna
Procedimento de teste: Depois que o fluxo de trabalho for executado com sucesso, vá para a tabela de destino no banco de dados
Verifique a sequência única gerada na coluna Prod_ID
Valor de entrada / dados de teste: valor para Prod_ID deixado em branco para cada linha no arquivo de origem
Gerador de sequência mapeado para coluna Prod_ID no mapeamento
Valor inicial do gerador de sequência definido como 1001
Destino: tabela de banco de dados- (Tbl_Product) aberta no SQL Server
Resultados esperados: Valor de 1001 a 1003 preenchido em cada linha da coluna Prod_ID
Resultados reais: Valor de 1001 a 1003 preenchido em cada linha da coluna Prod_ID
Observações:Passar
Comentários do testador:
# 5) ID do caso de teste: T005
implementando uma pilha c ++
Objetivo do caso de teste: Para validar se a transformação do roteador está funcionando bem para suprimir registros caso a categoria do produto seja ‘C’ ou o produto tenha expirado.
Procedimento de teste: Depois que o fluxo de trabalho for executado com sucesso, vá para a tabela de destino no banco de dados
Execute a consulta na tabela de destino para verificar se os registros desejados foram suprimidos.
Valor de entrada / dados de teste: 5 linhas no arquivo de origem
Destino: tabela de banco de dados - (Tbl_Product)
Consulta para executar no servidor SQL: Selecione * do produto em que Prod_category = ’C’ ou Prod_expiry_date< sysdate ;
Resultados esperados: nenhuma linha selecionada
Resultados reais: nenhuma linha selecionada
Observações:Passar
Comentários do testador: (caso existam)
# 6) ID do caso de teste: T006
Objetivo do caso de teste: Para verificar o desempenho do fluxo de trabalho, registrando o tempo de execução do fluxo de trabalho.
Procedimento de teste:
- Abra o monitor de fluxo de trabalho e execute a execução que foi feita como parte do T001.
- Registre a hora de início e a hora de término do fluxo de trabalho.
- Calcule o tempo total de execução subtraindo a hora de início da hora de término.
Valor de entrada / dados de teste: Fluxo de trabalho executado com sucesso
Hora de início do fluxo de trabalho no monitor
Hora de término do fluxo de trabalho no monitor.
Resultados esperados: 2 min 30 segs
Resultados reais: 2 min 15 s
Observações:Passar
Comentários do testador: Considerando o teste como 'Passado' no caso de a duração real da execução ser +/- 10% da duração prevista da execução.
# 7) ID do caso de teste: T007
Objetivo do caso de teste: Para validar os dados no nível da coluna da tabela de destino, a fim de garantir que não haja perda de dados.
Procedimento de teste: Depois que o fluxo de trabalho for executado com êxito, vá para o SQL Server.
Execute a consulta na tabela de destino para verificar se não há perda de dados.
Valor de entrada / dados de teste: Fluxo de trabalho executado com sucesso
Um registro de amostra do arquivo simples de origem.
Consulta SQL: Selecione Top 1 * de Tbl_Patient;
Resultados esperados:
1 linha retornada
Prod_ID (chave primária) | Nome do Produto | Prod_description | Prod_category | Prod_expiry_date | Prod_price |
---|---|---|---|---|---|
1001 | abc | Este é o produto ABC. | M | 14/08/2017 | 150 |
Resultados reais:
1 linha retornada.
Prod_ID (chave primária) | Nome do Produto | Prod_description | Prod_category | Prod_expiry_date | Prod_price |
---|---|---|---|---|---|
1001 | abc | Este é o produto ABC. | M | 14/08/2017 | 150 |
Observações:Passar
Comentários do testador: Considerando o teste como 'Passado' no caso de a duração real da execução ser +/- 10% da duração prevista da execução.
Benefícios de usar a Informatica como uma ferramenta ETL:
A Informatica é uma ferramenta de ETL popular e bem-sucedida porque:
- Tem uma alta taxa de sucesso de “ativação” (quase 100%)
- A Informatica tem a capacidade de habilitar a Integração Enxuta.
- É uma ferramenta de preço moderado quando comparada a outras ferramentas ETL.
- Ele vem com um agendador de trabalho interno. Portanto, não há necessidade de usar o agendador de terceiros separadamente, como fazem algumas outras ferramentas ETL.
- A facilidade de treinamento e a disponibilidade de ferramentas tornaram a Informatica mais popular.
Algumas dicas úteis para ajudá-lo nos testes de ETL da Informatica:
- Gere os dados de teste antes de executar os cenários de teste.
- Os dados de teste devem estar sincronizados com o caso de teste para o qual são usados.
- Certifique-se de ter coberto todos os três cenários - nenhum dado é enviado, dados inválidos são enviados e dados válidos são enviados como uma entrada para o fluxo de trabalho da Informatica.
- Certifique-se de testar se todos os dados necessários estão sendo carregados completamente para o destino. Para isso, você pode usar o caso de teste - T003 descrito acima como um exemplo.
- É muito importante testar se o fluxo de trabalho está fazendo todas as transformações de dados corretamente de acordo com as regras de negócios.
- Eu sugeriria que, para cada transformação aplicada em seu mapeamento Informatica, você deveria ter uma lista de verificação para verificar os dados de saída em relação a ela. Dessa forma, você pode relatar erros facilmente se alguma transformação não estiver funcionando bem.
Conclusão:
Portanto, vimos em detalhes alguns dos casos de teste de amostra que podem ser usados como um modelo para cobrir o teste de ETL na Informatica. Como mencionei anteriormente, você pode adicionar / remover / modificar esses casos de teste, dependendo do cenário que você tem em seu projeto.
Como mencionei anteriormente, você pode adicionar / remover / modificar esses casos de teste, dependendo do cenário que você tem em seu projeto.
O Informatica PowerCenter é uma base para qualquer atividade de integração de dados.
Você pode facilmente realizar testes automatizados sem script de dados copiados para o ambiente de teste, desenvolvimento ou produção, e é por isso que o PowerCenter é a ferramenta ETL mais popular atualmente.
Leitura recomendada => Teste de ETL vs. DB - Uma análise mais detalhada da necessidade de teste de ETL
Sobre o autor: Este é um artigo convidado de Priya K. Ela tem mais de 4 anos de experiência prática no desenvolvimento e suporte de aplicativos ETL da Informatica.
Sinta-se à vontade para postar suas dúvidas / comentários sobre esta ferramenta ETL.
Leitura recomendada
- Melhores ferramentas de teste de software 2021 (QA Test Automation Tools)
- Como realizar testes de back-end
- Perguntas e respostas da entrevista de teste de ETL
- Teste ETL Tutorial de teste de data warehouse (um guia completo)
- Download do e-book do Testing Primer
- ETL vs. Teste de banco de dados - Uma análise mais detalhada da necessidade de teste de ETL, planejamento e ferramentas de ETL
- Teste de carga usando LoadUI - uma ferramenta de teste de carga gratuita e de código aberto
- As 10 principais ferramentas de teste de ETL em 2021