Projetos ETL são projetos criados usando uma ferramenta ETL (Extract - Transform - Load), como SSIS, PowerCenter, etc.
Normalmente, eles envolvem a leitura de dados de uma fonte externa, o carregamento em um banco de dados intermediário, a execução de determinadas transformações e o carregamento em um banco de dados final.
Um exemplo simples seria usar o SSIS para ler arquivos do Excel fornecidos por professores usando o SSIS e carregá-los em um banco de dados. Em seguida, escreva procedimentos armazenados ou mais pacotes SSIS para calcular as notas de cada aluno e carregar esses dados em um data mart \ warehouse
Em seguida, você cria procedimentos armazenados no topo do mercado para gerar saída usada pelas ferramentas de relatório (SSRS \ Excel \ etc) para gerar visualizações.
Estou tentando entender como executar o TDD e o teste de unidade adequado nesse cenário. Os testes para ETLs consistem principalmente em garantir que os dados carregados nas tabelas de preparação correspondam ao subconjunto certo dos dados da origem. Portanto, a implementação de um teste leva à implementação de uma mini versão do ETL. A saída dos SPs do relatório depende dos dados nas próprias tabelas, portanto, não é possível ter um conjunto estável de dados de saída sem um pesadelo de manutenção, mesmo se você criar um banco de dados contendo dados de teste limpos
Exemplo:
Sprint 1: A tabela de alunos contém Nome, Idade, Nível
Você cria dados de teste para esta tabela e testes de unidade com base nesse
Sprint 2: um campo de gênero é adicionado à tabela.
Agora, se você atualizar os dados no campo do aluno para preencher o atributo de gênero, os casos de teste serão invalidados desde que os dados foram alterados. E se não, você não poderá criar casos de teste que exijam a coluna de gênero