Проекти ETL - це проекти, створені за допомогою інструменту ETL (Extract - Transform - Load), такого як SSIS, PowerCenter тощо
Зазвичай вони включають в себе зчитування даних із зовнішнього джерела, завантаження їх у базу даних, а також певні перетворення та завантаження в кінцеву базу даних
Простим прикладом може бути використання SSIS для читання файлів Excel, наданих вчителями школи, що використовують SSIS, та завантаження їх у базу даних. Потім запишіть збережені процедури або більше пакетів SSIS, щоб обчислити оцінки кожного учня і завантажити ці дані в матрицю даних \ склад
Потім ви будуєте збережені процедури поверх марта для отримання результатів, які використовуються засобами звітування (SSRS \ Excel \ тощо) для створення візуалізації.
Я намагаюся зрозуміти, як виконати TDD та правильне тестування блоку в цьому сценарії. Тести для ETL в основному стосуються забезпечення даних, завантажених у збірних таблицях збігів, є правильним підмножиною даних з джерела. Тож реалізація тесту на нього призводить до впровадження міні-версії ETL. Вихідні дані SP звіту залежать від даних у самих таблицях, тому не можна мати стабільний набір вихідних даних без кошмару технічного обслуговування, навіть якщо ви створили базу даних, що містить скрутовані тестові дані
Приклад:
Спринт 1: Таблиця учнів містить ім'я, вік, ступінь
Ви створюєте тестові дані для цієї таблиці та на основі цього використовуєте одиничні тести
Спринт 2: До таблиці додається гендерне поле.
Тепер, якщо ви оновите дані у студентському полі для заповнення гендерного атрибута, тестові випадки недійсні з моменту зміни даних. І якщо ви цього не робите, ви не можете створювати тестові випадки, які потребують гендерної колонки