Підручник з тестування ETL

Що таке тестування ETL?

Тестування ETL проводиться, щоб переконатися, що дані, завантажені з джерела до пункту призначення після трансформації бізнесу, є точними. Це також передбачає перевірку даних на різних проміжних етапах, які використовуються між джерелом і призначенням. ETL означає Extract-Transform-Load.

Тестування ETL

Тестування сховища даних

Тестування сховища даних це метод тестування, за якого дані в сховищі даних перевіряються на цілісність, надійність, точність і послідовність, щоб відповідати системі даних компанії. Основна мета тестування сховищ даних — переконатися, що інтегровані дані всередині сховища даних є достатньо надійними, щоб компанія могла приймати рішення.

Що таке ETL?

ETL означає Extract-Transform-Load і це процес завантаження даних із вихідної системи до сховища даних. Дані витягуються з бази даних OLTP, перетворюються відповідно до схеми сховища даних і завантажуються в базу даних сховища даних. Багато сховищ даних також включають дані з систем, що не є OLTP, наприклад текстові файли, застарілі системи та електронні таблиці.

Давайте подивимося, як це працює

Наприклад, є магазин роздрібної торгівлі, який має різні відділи, такі як продажі, маркетинг, логістика тощо. Кожен з них обробляє інформацію про клієнтів незалежно, і спосіб зберігання цих даних є зовсім іншим. Відділ продажів зберігає його за іменем клієнта, а відділ маркетингу за ідентифікатором клієнта.

Тепер, якщо вони хочуть перевірити історію клієнта та хочуть знати, які різні продукти він/вона придбав завдяки різним маркетинговим кампаніям; це було б дуже нудно.

Рішення полягає у використанні a Datawarehouse зберігати інформацію з різних джерел в єдиній структурі за допомогою ETL. ETL може перетворювати різні набори даних в єдину структуру.Later використовуйте інструменти BI, щоб отримати значущу інформацію та звіти з цих даних.

Наступна діаграма в цьому навчальному посібнику з тестування ETL надає вам ДОРОЖНЮ КАРТУ процесу тестування ETL і різні концепції тестування ETL:

Витяг-перетворення-завантаження

  1. Витяг
  • Витягніть відповідні дані
  1. Перетворення
  • Перетворення даних у формат DW (Data Warehouse).
  • Ключі збірки – ключ – це один або кілька атрибутів даних, які унікально ідентифікують сутність. різноманітні типи ключів це первинний ключ, альтернативний ключ, зовнішній ключ, складений ключ, сурогатний ключ. Сховище даних володіє цими ключами і ніколи не дозволяє іншим особам призначати їх.
  • Очищення даних: після того, як дані видобуто, вони переходять до наступної фази очищення та узгодження даних. Очищення робить пропуски в даних, а також визначає та виправляє помилки. Відповідність означає вирішення конфліктів між тими несумісними даними, щоб їх можна було використовувати в корпоративному сховищі даних. Окрім цього, ця система створює метадані, які використовуються для діагностики проблем вихідної системи та покращують якість даних.
  1. Навантаження
  • Завантажити дані в DW (Data Warehouse)
  • Створення агрегатів – створення агрегату підсумовує та зберігає дані, доступні в таблиця фактів щоб покращити продуктивність запитів кінцевих користувачів.

Процес тестування ETL

Подібно до інших процесів тестування, ETL також проходить різні фази. Нижче наведено різні етапи процесу тестування ETL

Процес тестування ETL

Тестування ETL проводиться в п'ять етапів

  1. Визначення джерел даних і вимог
  2. Збір даних
  3. Впровадити бізнес-логіку та просторове моделювання
  4. Створення та заповнення даних
  5. Створення звітів

Процес тестування ETL

Типи тестування ETL

Види тестування Процес тестування
Перевірка виробництва «Балансування таблиць» або «узгодження виробництва» – цей тип тестування ETL виконується на даних, які переміщуються у виробничі системи. Щоб підтримувати ваше бізнес-рішення, дані у ваших виробничих системах мають бути в правильному порядку. Інформатика Параметр перевірки даних забезпечує автоматизацію тестування ETL і можливості керування, щоб гарантувати, що виробничі системи не будуть скомпрометовані даними.
Джерело до Target Тестування (валідаційне тестування) Такий тип тестування виконується, щоб перевірити, чи є перетворені значення даних очікуваними значеннями даних.
додаток Upgrades Такий тип тестування ETL може бути створений автоматично, заощаджуючи значний час розробки тесту. Цей тип тестування перевіряє, чи дані, отримані зі старішої програми або сховища, точно відповідають даним у сховищі або новій програмі.
Тестування метаданих Тестування метаданих включає перевірку типу даних, перевірку довжини даних і перевірку індексів/обмежень.
Перевірка повноти даних Щоб переконатися, що всі очікувані дані завантажуються в ціль із джерела, проводиться перевірка повноти даних. Деякі з тестів, які можна виконати, це порівняння та перевірка підрахунків, агрегатів і фактичних даних між джерелом і цільовим для стовпців із простим перетворенням або без перетворення.
Тестування точності даних Це тестування виконується, щоб переконатися, що дані точно завантажуються та трансформуються, як очікувалося.
Тестування перетворення даних Тестування перетворення даних виконується, оскільки в багатьох випадках це неможливо досягти шляхом написання одного джерела SQL запит і порівняння результату з цільовим. Для перевірки правил перетворення може знадобитися запустити кілька запитів SQL для кожного рядка.
Тестування якості даних Тести якості даних включають синтаксичні та довідкові тести. Щоб уникнути будь-яких помилок через дату або номер замовлення під час бізнес-процесу проводиться тестування якості даних.

Перевірки синтаксису: повідомляється про брудні дані на основі недійсних символів, шаблону символів, неправильного порядку введення верхнього чи нижнього регістру тощо.

Довідкові тести: перевірятиме дані відповідно до моделі даних. Наприклад: ID клієнта

Тестування якості даних включає перевірку числа, перевірку дати, перевірку точності, перевірку даних, перевірку нульових значень тощо.

Інкрементне тестування ETL Це тестування проводиться для перевірки цілісності старих і нових даних із додаванням нових даних. Поступове тестування перевіряє, чи вставки та оновлення обробляються належним чином під час поетапного процесу ETL.
GUI/тестування навігації Це тестування виконується для перевірки аспектів навігації або графічного інтерфейсу інтерфейсу звітів.

Як створити тестовий приклад ETL

Тестування ETL — це концепція, яка може бути застосована до різних інструментів і баз даних у галузі управління інформацією. Мета тестування ETL — переконатися, що дані, завантажені від джерела до місця призначення після трансформації бізнесу, є точними. Це також передбачає перевірку даних на різних проміжних етапах, які використовуються між джерелом і призначенням.

Під час виконання тестування ETL тестувальник ETL завжди використовуватиме два документи

  1. Аркуші відображення ETL:Аркуші зіставлення ETL містять усю інформацію про вихідні та цільові таблиці, включаючи кожен стовпець і їх пошук у довідкових таблицях. Тестери ETL повинні добре знати запити SQL, оскільки тестування ETL може передбачати написання великих запитів із кількома об’єднаннями для перевірки даних на будь-якому етапі ETL. Листи відображення ETL надають значну допомогу під час написання запитів для перевірки даних.
  2. Схема БД джерела, Target: Його слід тримати під рукою, щоб перевірити будь-які деталі в картографічних аркушах.

Сценарії та тестові сценарії ETL

Сценарій тесту Тестові випадки
Відображення перевірки документа Перевірте документ зіставлення, чи надано відповідну інформацію ETL. Журнал змін слід зберігати в кожному документі зіставлення.
Перевірка
  1. Перевірте структуру вихідної та цільової таблиці відповідно до відповідного документа зіставлення.
  2. Тип вихідних і цільових даних мають бути однаковими
  3. Довжина типів даних у джерелі та цільовому файлі має бути однаковою
  4. Перевірте, чи вказано типи та формати полів даних
  5. Довжина вихідного типу даних не повинна бути меншою за довжину цільового типу даних
  6. Перевірте назву стовпців у таблиці на відповідність документу зіставлення.
Перевірка обмежень Переконайтеся, що обмеження визначено для конкретної таблиці, як очікувалося
Проблеми узгодженості даних
  1. Тип даних і довжина для певного атрибута можуть відрізнятися у файлах або таблицях, хоча семантичне визначення однакове.
  2. Зловживання обмеженнями цілісності
Проблеми повноти
  1. Переконайтеся, що всі очікувані дані завантажено в цільову таблицю.
  2. Порівняйте кількість записів між джерелом і метою.
  3. Перевірте наявність відхилених записів
  4. Перевірочні дані не повинні бути скорочені в стовпці цільових таблиць
  5. Перевірте аналіз граничних значень
  6. Порівнює унікальні значення ключових полів між даними, завантаженими в WH, і вихідними даними
Проблеми з правильністю
  1. Дані з орфографічними помилками або неточно записані
  2. Нульові, неунікальні або дані поза діапазоном
Перетворення Перетворення
Якість даних
  1. Перевірка номера: потрібно перевірити номер і підтвердити його
  2. Перевірка дати: вони мають дотримуватися формату дати, який має бути однаковим для всіх записів
  3. Перевірка точності
  4. Перевірка даних
  5. Нульова перевірка
Нульова перевірка Перевірте значення null, де для певного стовпця вказано «Not Null».
Перевірка дублікатів
  1. Необхідно перевірити унікальний ключ, первинний ключ і будь-який інший стовпець має бути унікальним відповідно до бізнес-вимог щодо наявності повторюваних рядків
  2. Перевірте, чи існують повторювані значення в будь-якому стовпці, який витягується з кількох стовпців у джерелі та об’єднується в один стовпець
  3. Згідно з вимогами клієнта, потрібно переконатися, що в комбінації кількох стовпців немає дублікатів лише в межах цілі
Перевірка дати Значення дат використовуються для багатьох областей розробки ETL

  1. Щоб знати дату створення рядка
  2. Визначте активні записи відповідно до перспективи розробки ETL
  3. Визначте активні записи відповідно до бізнес-вимог
  4. Іноді на основі значень дати генеруються оновлення та вставки.
Повна перевірка даних
  1. Щоб перевірити повний набір даних у вихідній і цільовій таблиці мінус запит у найкращому рішенні
  2. Нам потрібно джерело мінус ціль і ціль мінус джерело
  3. Якщо мінус-запит повертає будь-яке значення, це слід вважати невідповідними рядками
  4. Потрібно зіставити рядки між джерелом і цільовим за допомогою оператора intersect
  5. Кількість, яку повертає intersect, має відповідати індивідуальній кількості вихідної та цільової таблиць
  6. Якщо мінус-запит повертає рядки та кількість перехресть менше, ніж вихідна чи цільова таблиця, ми можемо вважати, що повторювані рядки існують.
Чистота даних Перед завантаженням у проміжну область слід видалити непотрібні стовпці.

Типи помилок ETL

Типи помилок ETL

Тип помилок Опис
Помилки інтерфейсу користувача/косметичні помилки
  • Пов'язано з GUI програми
  • Стиль шрифту, розмір шрифту, кольори, вирівнювання, орфографічні помилки, навігація тощо
Помилка, пов’язана з аналізом граничних значень (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

  1. Переконайтеся, що дані трансформовано правильно
  2. Без будь-яких втрат і скорочення даних проектовані дані повинні бути завантажені в сховище даних
  3. Переконайтеся, що програма ETL належним чином відхиляє та замінює значення за замовчуванням і повідомляє про недійсні дані
  4. Потрібно переконатися, що дані завантажуються в сховище даних протягом встановлених і очікуваних часових рамок, щоб підтвердити масштабованість і продуктивність
  5. Усі методи повинні мати відповідні модульні тести незалежно від видимості
  6. Для вимірювання ефективності всі модульні тести повинні використовувати відповідні методи покриття
  7. Прагніть до одного твердження на тест
  8. Створити одиничні тести які націлені на винятки

Перевіряти - Запитання та відповіді на співбесіді з тестування ETL

Щоденний інформаційний бюлетень Guru99

Розпочніть свій день з останніх та найважливіших новин про штучний інтелект, які ви можете знайти просто зараз.