Підручник з тестування ETL
Що таке тестування ETL?
Тестування ETL проводиться, щоб переконатися, що дані, завантажені з джерела до пункту призначення після трансформації бізнесу, є точними. Це також передбачає перевірку даних на різних проміжних етапах, які використовуються між джерелом і призначенням. ETL означає Extract-Transform-Load.
Тестування сховища даних
Тестування сховища даних це метод тестування, за якого дані в сховищі даних перевіряються на цілісність, надійність, точність і послідовність, щоб відповідати системі даних компанії. Основна мета тестування сховищ даних — переконатися, що інтегровані дані всередині сховища даних є достатньо надійними, щоб компанія могла приймати рішення.
Що таке ETL?
ETL означає Extract-Transform-Load і це процес завантаження даних із вихідної системи до сховища даних. Дані витягуються з бази даних OLTP, перетворюються відповідно до схеми сховища даних і завантажуються в базу даних сховища даних. Багато сховищ даних також включають дані з систем, що не є OLTP, наприклад текстові файли, застарілі системи та електронні таблиці.
Давайте подивимося, як це працює
Наприклад, є магазин роздрібної торгівлі, який має різні відділи, такі як продажі, маркетинг, логістика тощо. Кожен з них обробляє інформацію про клієнтів незалежно, і спосіб зберігання цих даних є зовсім іншим. Відділ продажів зберігає його за іменем клієнта, а відділ маркетингу за ідентифікатором клієнта.
Тепер, якщо вони хочуть перевірити історію клієнта та хочуть знати, які різні продукти він/вона придбав завдяки різним маркетинговим кампаніям; це було б дуже нудно.
Рішення полягає у використанні a Datawarehouse зберігати інформацію з різних джерел в єдиній структурі за допомогою ETL. ETL може перетворювати різні набори даних в єдину структуру.Later використовуйте інструменти BI, щоб отримати значущу інформацію та звіти з цих даних.
Наступна діаграма в цьому навчальному посібнику з тестування ETL надає вам ДОРОЖНЮ КАРТУ процесу тестування ETL і різні концепції тестування ETL:
- Витяг
- Витягніть відповідні дані
- Перетворення
- Перетворення даних у формат DW (Data Warehouse).
- Ключі збірки – ключ – це один або кілька атрибутів даних, які унікально ідентифікують сутність. різноманітні типи ключів це первинний ключ, альтернативний ключ, зовнішній ключ, складений ключ, сурогатний ключ. Сховище даних володіє цими ключами і ніколи не дозволяє іншим особам призначати їх.
- Очищення даних: після того, як дані видобуто, вони переходять до наступної фази очищення та узгодження даних. Очищення робить пропуски в даних, а також визначає та виправляє помилки. Відповідність означає вирішення конфліктів між тими несумісними даними, щоб їх можна було використовувати в корпоративному сховищі даних. Окрім цього, ця система створює метадані, які використовуються для діагностики проблем вихідної системи та покращують якість даних.
- Навантаження
- Завантажити дані в DW (Data Warehouse)
- Створення агрегатів – створення агрегату підсумовує та зберігає дані, доступні в таблиця фактів щоб покращити продуктивність запитів кінцевих користувачів.
Процес тестування ETL
Подібно до інших процесів тестування, ETL також проходить різні фази. Нижче наведено різні етапи процесу тестування ETL
Тестування ETL проводиться в п'ять етапів
- Визначення джерел даних і вимог
- Збір даних
- Впровадити бізнес-логіку та просторове моделювання
- Створення та заповнення даних
- Створення звітів
Типи тестування ETL
Види тестування | Процес тестування |
---|---|
Перевірка виробництва | «Балансування таблиць» або «узгодження виробництва» – цей тип тестування ETL виконується на даних, які переміщуються у виробничі системи. Щоб підтримувати ваше бізнес-рішення, дані у ваших виробничих системах мають бути в правильному порядку. Інформатика Параметр перевірки даних забезпечує автоматизацію тестування ETL і можливості керування, щоб гарантувати, що виробничі системи не будуть скомпрометовані даними. |
Джерело до Target Тестування (валідаційне тестування) | Такий тип тестування виконується, щоб перевірити, чи є перетворені значення даних очікуваними значеннями даних. |
додаток Upgrades | Такий тип тестування ETL може бути створений автоматично, заощаджуючи значний час розробки тесту. Цей тип тестування перевіряє, чи дані, отримані зі старішої програми або сховища, точно відповідають даним у сховищі або новій програмі. |
Тестування метаданих | Тестування метаданих включає перевірку типу даних, перевірку довжини даних і перевірку індексів/обмежень. |
Перевірка повноти даних | Щоб переконатися, що всі очікувані дані завантажуються в ціль із джерела, проводиться перевірка повноти даних. Деякі з тестів, які можна виконати, це порівняння та перевірка підрахунків, агрегатів і фактичних даних між джерелом і цільовим для стовпців із простим перетворенням або без перетворення. |
Тестування точності даних | Це тестування виконується, щоб переконатися, що дані точно завантажуються та трансформуються, як очікувалося. |
Тестування перетворення даних | Тестування перетворення даних виконується, оскільки в багатьох випадках це неможливо досягти шляхом написання одного джерела SQL запит і порівняння результату з цільовим. Для перевірки правил перетворення може знадобитися запустити кілька запитів SQL для кожного рядка. |
Тестування якості даних | Тести якості даних включають синтаксичні та довідкові тести. Щоб уникнути будь-яких помилок через дату або номер замовлення під час бізнес-процесу проводиться тестування якості даних.
Перевірки синтаксису: повідомляється про брудні дані на основі недійсних символів, шаблону символів, неправильного порядку введення верхнього чи нижнього регістру тощо. Довідкові тести: перевірятиме дані відповідно до моделі даних. Наприклад: ID клієнта Тестування якості даних включає перевірку числа, перевірку дати, перевірку точності, перевірку даних, перевірку нульових значень тощо. |
Інкрементне тестування ETL | Це тестування проводиться для перевірки цілісності старих і нових даних із додаванням нових даних. Поступове тестування перевіряє, чи вставки та оновлення обробляються належним чином під час поетапного процесу ETL. |
GUI/тестування навігації | Це тестування виконується для перевірки аспектів навігації або графічного інтерфейсу інтерфейсу звітів. |
Як створити тестовий приклад ETL
Тестування ETL — це концепція, яка може бути застосована до різних інструментів і баз даних у галузі управління інформацією. Мета тестування ETL — переконатися, що дані, завантажені від джерела до місця призначення після трансформації бізнесу, є точними. Це також передбачає перевірку даних на різних проміжних етапах, які використовуються між джерелом і призначенням.
Під час виконання тестування ETL тестувальник ETL завжди використовуватиме два документи
- Аркуші відображення ETL:Аркуші зіставлення ETL містять усю інформацію про вихідні та цільові таблиці, включаючи кожен стовпець і їх пошук у довідкових таблицях. Тестери ETL повинні добре знати запити SQL, оскільки тестування ETL може передбачати написання великих запитів із кількома об’єднаннями для перевірки даних на будь-якому етапі ETL. Листи відображення ETL надають значну допомогу під час написання запитів для перевірки даних.
- Схема БД джерела, Target: Його слід тримати під рукою, щоб перевірити будь-які деталі в картографічних аркушах.
Сценарії та тестові сценарії ETL
Сценарій тесту | Тестові випадки |
---|---|
Відображення перевірки документа | Перевірте документ зіставлення, чи надано відповідну інформацію ETL. Журнал змін слід зберігати в кожному документі зіставлення. |
Перевірка |
|
Перевірка обмежень | Переконайтеся, що обмеження визначено для конкретної таблиці, як очікувалося |
Проблеми узгодженості даних |
|
Проблеми повноти |
|
Проблеми з правильністю |
|
Перетворення | Перетворення |
Якість даних |
|
Нульова перевірка | Перевірте значення null, де для певного стовпця вказано «Not Null». |
Перевірка дублікатів |
|
Перевірка дати | Значення дат використовуються для багатьох областей розробки ETL
|
Повна перевірка даних |
|
Чистота даних | Перед завантаженням у проміжну область слід видалити непотрібні стовпці. |
Типи помилок ETL
Тип помилок | Опис |
---|---|
Помилки інтерфейсу користувача/косметичні помилки |
|
Помилка, пов’язана з аналізом граничних значень (BVA). |
|
Помилка, пов’язана з розділенням класів еквівалентності (ECP). |
|
Помилки введення/виведення |
|
Помилки розрахунків |
|
Помилки умов завантаження |
|
Помилки умов гонки |
|
Помилки контролю версій |
|
H/W помилки |
|
Довідка Джерело помилок |
|
Різниця між тестуванням бази даних і тестуванням ETL
Тестування ETL | Тестування бази даних |
---|---|
Перевіряє, чи дані переміщуються належним чином | Основна мета — перевірити, чи відповідають дані правилам/стандартам, визначеним у моделі даних |
Перевіряє, чи збігаються підрахунки в джерелі та цілі
Перевіряє, чи перетворені дані відповідають очікуванням |
Переконайтеся, що немає жодних записів-сиріт і підтримуються зв’язки між зовнішнім і основним ключами |
Перевіряє, чи зв’язки зовнішнього первинного ключа зберігаються під час ETL | Перевіряє відсутність зайвих таблиць і оптимальну нормалізацію бази даних |
Перевіряє наявність дублікатів у завантажених даних | Перевірте, чи відсутні дані в необхідних стовпцях |
Обов'язки тестувальника ETL
Основні обов’язки тестувальника ETL поділяються на три категорії
- Поверховий стіл/ SFS або MFS
- Логіка трансформації бізнесу застосована
- Target завантаження таблиці з етапного файлу або таблиці після застосування перетворення.
Деякі з обов’язків ETL-тестера:
- Перевірте програмне забезпечення ETL
- Тестові компоненти сховища даних ETL
- Виконайте тест на базі даних
- Створювати, проектувати та виконувати тестові справи, тестові плани та тестовий джгут
- Визначте проблему та запропонуйте рішення для потенційних проблем
- Затвердити вимоги та ТУ
- Передача даних і тестовий плоский файл
- Написання SQL-запитів3 для різних сценаріїв, таких як тест підрахунку
Тестування продуктивності в ETL
Тестування продуктивності в ETL це техніка тестування, щоб переконатися, що система ETL справляється з навантаженням кількох користувачів і транзакцій. Основна мета ETL Тестування продуктивності полягає в оптимізації та покращенні продуктивності сеансу шляхом виявлення та усунення вузьких місць продуктивності. Вихідна та цільова бази даних, відображення, сеанси та система, можливо, мають вузькі місця продуктивності.
Одним із найкращих інструментів для тестування/налаштування продуктивності є Informatica.
Автоматизація тестування ETL
Загальна методологія тестування ETL полягає у використанні сценаріїв SQL або «перегляду» даних. Ці підходи до тестування ETL займають багато часу, схильні до помилок і рідко забезпечують повну покриття тесту. Прискорити, покращити покриття, зменшити витрати, покращити Дефект Раціон виявлення тестування ETL у середовищі виробництва та розробки, автоматизація є вимогою часу. Одним із таких інструментів є Informatica.
Найкращі методи тестування ETL
- Переконайтеся, що дані трансформовано правильно
- Без будь-яких втрат і скорочення даних проектовані дані повинні бути завантажені в сховище даних
- Переконайтеся, що програма ETL належним чином відхиляє та замінює значення за замовчуванням і повідомляє про недійсні дані
- Потрібно переконатися, що дані завантажуються в сховище даних протягом встановлених і очікуваних часових рамок, щоб підтвердити масштабованість і продуктивність
- Усі методи повинні мати відповідні модульні тести незалежно від видимості
- Для вимірювання ефективності всі модульні тести повинні використовувати відповідні методи покриття
- Прагніть до одного твердження на тест
- Створити одиничні тести які націлені на винятки
Перевіряти - Запитання та відповіді на співбесіді з тестування ETL