etl vs db testing closer look etl testing need
Тестування програмного забезпечення має різні сфери, на які слід зосередитись. Основними різновидами є функціональне та нефункціональне тестування. Функціональне тестування - це процедурний спосіб забезпечити, щоб розроблена функціональність працювала належним чином. Нефункціональне тестування - це підхід, за допомогою якого можна забезпечити такі нефункціональні аспекти, як покращення або ефективність на прийнятному рівні.
Існує ще один смак тестування, який називається Тестування БД . Дані впорядковані в базі даних у вигляді таблиць. Для бізнесу можуть бути потоки куди дані з декількох таблиць можна об'єднати або обробити в одну таблицю і навпаки.
Тестування ETL - це ще один вид тестування, який є кращим у комерційному випадку, коли клієнти шукають певного виду звітності. Звітність шукається для того, щоб проаналізувати попити, потреби та пропозицію, щоб клієнти, бізнес та кінцеві користувачі мали дуже хороше обслуговування та користь.
Що ви дізнаєтесь із цього посібника?
У цьому підручнику ви дізнаєтеся, що таке тестування баз даних, що таке тестування ETL, різниця між тестуванням DB та тестуванням ETL, а також більше деталей про необхідність, процес та планування тестування ETL на реальних прикладах.
Ми також висвітлили тестування ETL більш докладно на сторінці нижче. Крім того, погляньте на це.
=> Поради та методи тестування ETL / тестування сховища даних
Що ви дізнаєтесь:
DB тестування проти ETL тестування
Більшість з нас трохи розгублені, вважаючи, що і тестування бази даних, і тестування ETL схожі і однакові. Справа в тому, що вони схожі, але не однакові.
Тестування БД:
Тестування БД зазвичай широко використовується в бізнес-потоках, де в додатку відбувається безліч потоків даних, що надходять із декількох джерел даних до однієї таблиці. Джерелом даних може бути таблиця, плоский файл, додаток або щось інше, що може дати деякі вихідні дані.
У свою чергу, отримані вихідні дані все ще можуть використовуватися як вхідні дані для послідовного потоку бізнесу. Отже, коли ми проводимо тестування БД, найголовніше, що потрібно захопити, - це спосіб перетворення даних із джерела разом із тим, як вони зберігаються у місці призначення.
Синхронізація є однією з основних і найважливіших речей, яку слід враховувати при виконанні тестування БД. Через позиціонування програми в архітектурному потоці може виникнути мало проблем із синхронізацією даних або БД. Отже, виконуючи тестування, про це слід подбати, оскільки це може подолати потенціал недійсні дефекти або помилки.
Приклад №1:
Проект «А» має інтегровану архітектуру, де конкретна програма використовує дані з кількох інших різнорідних джерел даних. Отже, цілісність цих даних з місцем призначення повинна бути виконана разом із перевірками для наступного:
- Перевірка первинного зовнішнього ключа
- Цілісність стовпця
- Нульові значення для будь-яких стовпців
Що таке тестування ETL?
Тестування ETL - це особливий тип тестування, який клієнт хоче зробити для прогнозування та аналізу свого бізнесу. Це в основному використовується для звітності. Наприклад, якщо клієнтам потрібно скласти звіт про клієнтів, які використовують або використовують їхній продукт, виходячи з дня придбання, вони повинні скористатися звітами ETL.
Опублікувати аналіз і звітність , ці дані є зберігання даних до сховища даних, куди слід перемістити старі історичні дані бізнесу.
найкраще безкоштовне програмне забезпечення для ремонту Windows 10 -
Це багаторівневе тестування, оскільки дані з джерела перетворюються на багато середовищ, перш ніж потрапляти в кінцеве місце призначення.
Приклад №2:
Ми розглянемо групу 'А', яка здійснює роздрібний бізнес із покупцями через торговий ринок, де клієнт може придбати будь-які предмети побуту, необхідні для їх повсякденного виживання. Тут всі відвідувачі, які відвідують, отримують унікальний ідентифікатор членства, за допомогою якого вони можуть набирати очки кожного разу, коли приходять купувати речі з торгового ринку.
Правила, передбачені групою, говорять, що набрані бали закінчуються щороку. І залежно від їх використання, членство може бути або підвищено до члена вищого класу, або знижено до члена нижчого класу порівняно з поточним класом.
Після 5 років створення торгового ринку зараз керівництво прагне розширити свій бізнес разом із доходами.
Тому їм потрібно було мало бізнес-звітів, щоб вони могли просувати своїх клієнтів.
Під час тестування баз даних ми виконуємо наступне:
# 1) Перевірки цільових таблиць, які створюються за допомогою стовпців з логічними обчисленнями, як описано в аркуші логічного відображення та документі маршрутизації даних.
# два) Такі маніпуляції, як вставка, оновлення та видалення даних клієнта, можуть виконуватися на будь-якому POS-додатку кінцевого користувача в інтегрованій системі разом із базовою базою даних, щоб ті самі зміни були відображені в кінцевій системі.
# 3) Тестування БД має забезпечити відсутність даних про клієнтів, які були неправильно витлумачені або навіть усічені. Це може призвести до серйозних проблем, таких як неправильне відображення даних клієнтів з їхньою лояльністю
Під час тестування ETL ми перевіряємо наступне:
# 1) Припускаючи, що у джерелі 100 клієнтів, ви перевірите, чи всі ці клієнти разом із їхніми даними із 100 рядків переміщені із вихідної системи до цільової. Це відоме як перевірка Перевірка повноти даних.
# два) Перевірка, чи правильно оброблено та продемонстровано дані клієнта в 100 рядках. Це просто називається верифікацією Перевірка точності даних .
# 3) Звіти для клієнтів, які за певний період набрали балів більше, ніж x.
Порівняльне дослідження тестування ETL та DB
Тестування ETL та DB має кілька аспектів, що відрізняються між собою, що є більш важливим для розуміння перед їх виконанням. Це допомагає нам зрозуміти значення та значення тестування та спосіб, яким він допомагає бізнесу.
Далі подається таблична форма, яка описує основну поведінку обох форматів тестування.
Тестування БД | Тестування ETL | |
---|---|---|
Природа даних | Тут використовуються нормалізовані дані | Тут використовуються денормалізовані дані |
Первинна мета | Інтеграція даних | Звітність BI |
Застосовуване місце | У функціональній системі, де відбувається бізнес-потік | Зовнішні для середовища бізнес-потоку. вхідні дані - це історичні дані бізнесу |
Інструмент автоматизації | QTP, селен | Informatica, QuerySurge, COGNOS |
Вплив на бізнес | Важкі наслідки можуть призвести, оскільки це інтегрована архітектура бізнес-потоків | Потенційні наслідки, коли клієнти хочуть зробити прогнозування та аналіз |
Використовується моделювання | Взаємовідносини суб’єктів | Розмірна |
Система | Обробка онлайн-транзакцій | Інтернет-аналітична обробка |
Чому бізнес повинен вибирати ETL?
Вони мають достатньо бізнес-потреб для розгляду тестування ETL. Кожен бізнес повинен мати свою унікальну місію та напрямок діяльності. Весь бізнес має свій життєвий цикл товару, який приймає загальну форму:
найкращий безкоштовний ремонт реєстру Windows 10 -
Цілком зрозуміло, що будь-який новий продукт виходить на ринок із надзвичайним зростанням продажів і до стадії, яка називається зрілістю, а потім зменшується у продажах. Ці поступові зміни свідчать про певне падіння зростання бізнесу. Отже, важливішим є аналіз потреб споживачів для зростання бізнесу та інших факторів, необхідних для підвищення прибутковості організації.
Тож насправді клієнти хочуть проаналізувати історичні дані та скласти деякі звіти стратегічно.
Планування випробувань ETL
Одним з основних етапів тестування ETL є планування тесту, який планується виконати. Це буде схоже на План випробувань для тестування системи що зазвичай виконується за винятком кількох атрибутів, таких як вимоги та тестові приклади.
Тут вимоги не що інше, як a картографічний аркуш що матиме своєрідне зіставлення даних між різними базами даних. Оскільки ми знаємо, що тестування ETL відбувається на декількох рівнях, для перевірки цього потрібні різні зіставлення.
Велику частину часу дані збираються з вихідних баз даних безпосередньо. Усі вихідні дані матимуть вигляд таблиць, звідки ці дані можна використовувати.
Приклад: Далі наведено приклад того, як можна надати відображення. Два стовпці VIEW_NAME і TABLE_NAME можуть бути використані для представлення подань для зчитування даних із джерела та таблиці у середовищі ETL відповідно.
Доцільно дотримуватись принципу імен, який може допомогти нам при плануванні автоматизації. Загальне позначення, яке можна використовувати, це просто префікс назви середовища.
Найважливіше в ETL полягає у визначенні основних даних та таблиць із джерела. Наступним важливим кроком є відображення таблиць від вихідного до середовища ETL.
Далі наведено приклад того, як відображення між таблицями з різних середовищ може бути пов’язане з ціллю ETL.
Вищезазначене відображення передбачає дані з вихідної таблиці в проміжну таблицю. І з цього моменту до таблиць в EDW, а потім до OLAP яке є остаточним середовищем звітності. Отже, у будь-який момент часу синхронізація даних дуже важлива для ETL.
Критичні потреби ETL
Як ми розуміємо, ETL - це необхідність прогнозування, звітування та аналізу бізнесу, щоб більш послідовно враховувати потреби клієнтів. Це дозволить бізнесу мати вищі вимоги, ніж у минулому.
Ось декілька критичних потреб, без яких неможливо досягти тестування ETL:
- Ідентифікація даних та таблиць : Це важливо, оскільки може бути багато інших нерелевантних та непотрібних даних, які можуть мати найменше значення при прогнозуванні та аналізі потреб клієнтів. Отже, відповідні дані та таблиці повинні бути вибрані перед початком роботи ETL.
- Картографічний аркуш : Це одна з найважливіших потреб під час виконання робіт ETL. Зіставлення правильної таблиці з джерела до пункту призначення є обов’язковим, і будь-які проблеми або неправильні дані в цьому аркуші можуть вплинути на весь результат ETL.
- Дизайн та дані таблиці, тип стовпця : Це наступний важливий крок при розгляді відображення вихідних таблиць у призначені таблиці. Тип стовпця повинен збігатися з таблицями в обох місцях тощо.
- Доступ до бази даних : Головне - це доступ до бази даних, де продовжується ETL. Будь-які обмеження доступу матимуть рівнозначний вплив.
Звітність та тестування ETL
Звітування в ETL є більш важливим, оскільки воно пояснює та спрямовує клієнтів, яких потребує клієнт. Таким чином, вони можуть прогнозувати та аналізувати точні потреби споживачів
Приклад №3:
Компанія, яка займається виробництвом шовкової тканини, хотіла проаналізувати щорічні продажі. Під час перегляду річних продажів вони виявили, що протягом серпня та вересня відбулося колосальне падіння продажів завдяки використанню звіту, який вони створили.
Тому вони вирішили розповсюдити акційні пропозиції, такі як біржа, знижки тощо, що збільшило їх продаж.
Основні питання тестування ETL
Під час проведення тестування ETL може виникнути ряд проблем, таких як:
- Або доступ до вихідних таблиць, або подання будуть недійсними.
- Назва стовпця та тип даних від джерела до наступного шару можуть не збігатися.
- Кількість записів із вихідної таблиці до призначеної таблиці може не збігатися.
І може бути набагато більше.
Далі наведено зразок аркуша зіставлення, де є такі стовпці, як VIEW_NAME, COLUMN_NAME, DATA_TYPE, TABLE_NAME, COLUMN_NAME, DATA_TYPE та ТРАНСФОРМАЦІЙНА ЛОГІКА.
Перші 3 стовпці представляють деталі вихідної бази даних, а наступні 3 - деталі безпосередньо попередньої бази даних. Остання колонка дуже важлива. Логіка трансформації - це спосіб читання та збереження даних із джерела у призначеній базі даних. Це залежить від бізнесу та потреб ETL.
Варто пам’ятати під час планування та виконання тесту ETL
Найважливішим у тестуванні ETL є завантаження даних на основі критеріїв вилучення з вихідної БД. Коли цей критерій є недійсним або застарілим, у таблиці не буде даних для проведення тестування ETL, що насправді призводить до більшої кількості проблем.
Нижче наведено кілька пунктів, про які слід подбати під час планування та виконання тесту ETL:
# 1) Дані витягуються з різнорідних джерел даних
# два) Обробка процесів ETL в інтегрованому середовищі, які мають різні:
- СУБД
- ВИ
- Апаратне забезпечення
- Протоколи зв'язку
# 3) Необхідність мати логічний аркуш відображення даних перед тим, як фізичні дані можуть бути перетворені
# 4) Розуміння та вивчення джерел даних
# 5) Початкове навантаження та додаткове навантаження
# 6) Аудит колонок
# 7) Завантаження фактів та вимірів
Інструменти ETL та їх значне використання
Інструменти ETL в основному використовуються для побудови та перетворення файлу логіка трансформації беручи дані з джерела в інше, застосовуючи логіку перетворення. Ви також можете зіставити схеми від джерела до пункту призначення, що відбувається унікальними способами, перетворити та очистити дані, перш ніж їх можна буде перемістити до пункту призначення, разом із ефективним завантаженням у пункт призначення.
Це може значно зменшити ручні зусилля, оскільки може бути здійснено картографування, яке використовується майже для всієї перевірки та перевірки ETL.
Запитання та відповіді для кодування Java-коду
- Інформатика - PowerCenter - це один з популярних інструментів ETL, який впроваджує корпорація Informatica. У нас дуже хороша клієнтська база, що охоплює широкі площі. Основними компонентами інструменту є його інструменти для клієнтів, інструменти сховища та сервери. Щоб дізнатись більше про інструмент, натисніть тут
- IBM - Інформаційний сервер Інфосфери - IBM, яка є лідером на ринку з точки зору комп’ютерних технологій, розробила інформаційний сервер Infosphere, який використовувався для інтеграції та управління інформацією в 2008 році. Щоб дізнатися більше про інструмент, натисніть тут
- Oracle - Інтегратор даних - Корпорація Oracle розробила свій інструмент ETL від імені Oracle - Інтегратор даних. Зростаюча підтримка клієнтів змусила їх оновлювати свої інструменти ETL у різних версіях. Щоб дізнатись більше про інструмент, натисніть тут
Інші приклади використання тестування ETL:
Розглядаючи деякі авіакомпанії, які хочуть розгортати акції та пропозиції, щоб залучити клієнтів стратегічно. По-перше, вони спробують зрозуміти вимоги та потреби специфікацій замовника. Для цього їм будуть потрібні історичні дані, бажано дані попередніх 2 років. Використовуючи дані, вони проаналізують та підготують деякі звіти, які допоможуть зрозуміти потреби клієнтів.
Звіти можуть бути наступного типу:
- Клієнти з регіону A, який подорожує до регіону B на певні дати
- Клієнти з певним віковим критерієм їдуть до міста XX
І може бути багато інших звітів.
Аналіз цих звітів допоможе клієнтам у визначенні видів акцій та пропозицій, які принесуть користь клієнтам, і в той же час можуть принести користь бізнесу, де це може стати безпрограшною ситуацією. Цього можна легко досягти за допомогою тестування ETL та звітів.
Паралельно з цим ІТ-сегмент стикається із серйозною проблемою БД, яка була помічена, що зупинила роботу кількох служб, у свою чергу, може спричинити вплив на бізнес. Під час розслідування було встановлено, що деякі недійсні дані пошкодили кілька баз даних, які потрібно було виправити вручну.
У першому випадку необхідні звіти та тестування ETL.
Тоді як останній випадок - тестування БД повинно проводитися належним чином, щоб подолати проблеми з недійсними даними.
Висновок
Сподіваємось, що вищевказаний посібник надав простий і зрозумілий огляд того, що таке тестування ETL і чому його потрібно проводити разом із наслідками для бізнесу та перевагами, які вони дають. Це не зупиняється на цьому, але це може поширюватися на передбачення зростання бізнесу.
Про автора: Цей підручник написаний Нагараджаном. Він є провідним випробувачем з більш ніж 6-річним досвідом тестування програмного забезпечення в різних функціональних сферах, таких як банківська справа, авіалінії та телекомунікації, як з точки зору ручного, так і автоматичного управління.
Будь ласка, повідомте нам про свої думки / запитання в коментарях нижче.
Рекомендована література
- Запитання та відповіді на інтерв’ю для тестування ETL
- Підручник з тестування сховища даних ETL (повний посібник)
- 10 найкращих засобів тестування ETL у 2021 році
- Як проводити тестування ETL за допомогою інструменту Informatica PowerCenter
- 31 Найпопулярніші запитання та відповіді на тестування баз даних
- 40+ найкращих засобів тестування баз даних - Популярні рішення для тестування даних
- Повний посібник з тестування баз даних (чому, що та як перевіряти дані)
- Тестування бази даних селену (за допомогою WebDriver та JDBC API)