atesting.ru Обеспечение качества Тестирование ETL — полное руководство

Тестирование ETL — полное руководство

В этом посте мы узнаем об ETL-тестировании (тестировании хранилища данных), а также о следующем

Что такое ETL?

ETL означает E xtract, T ransform и L oad. Извлечь, преобразовать и & amp; Загрузка — это три функции базы данных, которые объединены в один инструмент.

Инструменты ETL извлекают данные (извлекают) из одной базы данных и конвертируют (трансформируют) и сохраняют (загружают) в другую базу данных. . Инструменты ETL используются для создания хранилища данных.

Извлечь: Это процесс чтения данных из базы данных

Преобразование: Это процесс преобразования извлеченных данных из их исходной формы в форму, которую необходимо сохранить в другой базе данных.

Загрузить: Это процесс загрузки данных в целевая база данных

Другими словами, процесс ETL производит данные из нескольких источников, чтобы создать витрину данных, оперативное хранилище данных, хранилище данных, концентратор данных или озеро данных.

Что такое тестирование ETL?

Когда мы говорим о тестировании ETL, это проверка и проверка данных, их полноты, его уникальность и целостность данных.

Процесс ETL используется в хранилищах данных и стал популярным в 1970-х годах. Система ETL объединяет данные из разных систем, которые могут быть на разных платформах, разном оборудовании и могут быть разными поставщиками.

Тестирование ETL проверяет перемещение данных от источника к месту назначения и проверяет количество данных как в источнике, так и в назначение и проверка извлечения данных, преобразования, а также проверка отношений таблиц.

Что такое хранилище данных?

Сбор, хранение и управление различными видами данных из «n» no. хранилищ данных.

Хранилище данных является важным элементом систем бизнес-аналитики (бизнес-аналитики), которые занимаются анализом данных и составлением отчетов.

Процесс ETL

Процесс ETL разделен на 3 фазы

Тестирование ETL & ndash; Полное руководство

Извлечение данных

На первом этапе данные извлекаются из нескольких источников в промежуточную область.

Источники могут быть следующими или сочетание всех

  1. CRM (программного обеспечения для управления взаимоотношениями с клиентами), например Salesforce, Zoho, HubSpot, Microsoft Dynamics и т. д.
  2. ERP (Планирование ресурсов предприятия), такие как Microsoft Dynamics, Oracle Ebusiness Suite, NetERP, программное обеспечение Lawson, SAP Business one и т. Д.
  3. LoB (бизнес-приложения), такие как любой бухгалтерский учет, поставка приложения для управления цепочкой и планирования ресурсов

Промежуточная область используется для извлечения данных из разных источников в различных форматах, а также для очистки и организации данных. Промежуточный этап — это промежуточное место, где исходные данные хранятся временно.

Данные могут быть в формате структуры (база данных, XML, Excel, CSV и т. Д.) Или в неструктурированном формате (электронная почта, веб-страница и т. Д., Данные скраппинга экрана)

Другими примерами форматов источников данных являются — JSON, реляционные базы данных , Плоские файлы, Метод доступа к виртуальному хранилищу (VSAM), IMS (Система управления информацией).

Преобразование

Преобразование — это второй шаг ETL, на котором несколько правил и функций применяются к извлеченным данным и для создания данных в едином формате.

Целью процесса преобразования является преобразование нескольких источников и нескольких форматов данных в единый системный формат.

Процесс преобразования также проверяет данные, чтобы подтвердить их правильность.

Для Например, если определенные данные должны иметь определенный шаблон или некоторые значения по умолчанию, и если шаблон данных значения по умолчанию не найден, то данные отклоняются и передаются обратно в исходную систему.

Во время преобразования данные отправляются через следующие подпроцессы

  • Очистка (удаление или удаление ошибки или несогласованности данных для улучшения качества данных)
  • Фильтрация (выбор соответствующих строк или столбцов)
  • Объединение (связывание релевантных данных из нескольких источников)
  • Сортировка (сортировка в желаемом порядке)
  • Разделение (разделение данных на столбцы)
  • Дедупликация (поиск и удаление повторяющихся записей)
  • Обобщение (данные собираются и хранятся в обобщенном формате. Например, общий объем продаж за определенный год)
  • Проверка данных: отклонение данных, в которых отсутствует какое-либо значение по умолчанию или предопределенный формат .
  • Деривация: бизнес-правила применяются к данным и проверяются на достоверность, если обнаруживаются неправильные, то данные возвращаются обратно источнику.

После преобразования данных с применением всех вышеперечисленных методов данные становятся согласованными и готовыми к загрузке.

Загрузка данных

Этап загрузки зависит от бизнес-требований или использования данных.

Ниже приведены некоторые примеры требований.

  1. Данные будут использоваться для целей анализа.
  2. Данные используются для получения результатов поиска.
  3. Данные используется для алгоритма машинного обучения.
  4. Данные используются для некоторых приложений реального времени.

В зависимости от цели использования данных данные загружаются в хранилище данных с желаемым форматом бизнеса. Это может быть пакетная загрузка или полная загрузка в зависимости от потребностей бизнеса.

Когда происходит загрузка данных, в целевой базе данных активируются все триггеры, например, ссылочная целостность, обязательные проверки полей, уникальность данных .

Эти триггеры снова проверяют качество данных перед загрузкой окончательных данных в хранилище данных.

Например, бизнесу необходимы записи всех клиентов, пользующихся финансовыми услугами в разных финансовых учреждениях. Задача хранилища данных — предоставить эти данные в едином и едином формате, поскольку данные, извлеченные из разных систем, имеют разные форматы.

Процесс ETL упрощает и нормализует неструктурированные данные и загружает данные в едином формате. .

Иногда ETL используется для передачи данных приложения в новую базу данных, ETL помогает загрузить данные из старой схемы базы данных в новую схему базы данных.

Типы тестирования ETL

Тестирование ETL подразделяется на следующие типы.

  • Тестирование новой системы: здесь данные извлекаются из различных типов источников и загружаются в хранилище данных. Таким образом, можно провести тестирование точности, достоверности, целостности и производительности данных приложения.
  • Миграционное тестирование: чтобы проверить миграцию данных исходной системы в хранилище данных с помощью целостность данных и отсутствие потери данных.
  • Пошаговое тестирование: выполняется, когда в хранилище данных вносятся некоторые изменения, например, в базу данных хранилища данных добавляется новый тип данных.
  • Тестирование отчетов: когда данные полностью загружаются в хранилище данных, затем выполняется тестирование отчетов для проверки качества данных, их достоверности, бизнес-логики и расчетов.
  • Источник для целевого тестирования данных: Чтобы убедиться, что при загрузке данных из источника в хранилище данных не должно происходить потери или усечения данных.
  • Тестирование производительности: это делается для того, чтобы убедиться, что загрузка данных происходит в течение ожидаемого времени, и пользователи приложения могут выполнять свою работу без каких-либо задержек.
  • Тестирование графического интерфейса: это тестирование проводится для проверки правильности отображения отчетов конечным пользователям.

Жизненный цикл теста ETL и артефакты тестирования.

Как и любое другое тестирование программного обеспечения, ETL также следует жизненному циклу тестирования.

1. Понимание бизнес-требований

  • Документ бизнес-требований
  • Документ технических спецификаций
  • Документ сопоставления данных.
  • Структура базы данных, логика приложения, и как данные используются в текущей системе

2. Подтвердите бизнес-требования

  • Перепроверьте каждое требование с бизнес-аналитиком и проясните сомнения и проблемы, связанные с отображением данных.
  • Перепроверьте логику преобразования данных и убедитесь, что нет пробелов.

3. Оцените усилия по тестированию

  • Оцените, сколько времени требуется для планирования тестирования и создания тестовых артефактов.
  • В соответствии с количеством бизнес-требований усилия по высокоуровневому тестированию оцениваются.
  • Судя по общему времени проекта, бюджету и размеру команды, нет. дней тестирования оцениваются.

4. Планирование тестирования

  • Используемые методы и методы тестирования, используемые инструменты и график тестирования

5. Создание тестовых артефактов

Он включает в себя тестовые примеры, подготовку тестовых сценариев с учетом следующих ключевых моментов.

  • Структура исходных данных должна быть такой же, как и в окончательной базе данных.
  • Все таблицы в месте назначения обновляются, включая все ссылочные данные.
  • За моделью данных правильно следует место назначения.
  • Архивирование и стратегию очистки.
  • Просмотрите словарь данных.
  • Правила преобразования данных.

6. Подготовка тестовых данных

7. Обзор тестовых примеров

  • Проверка тестовых примеров выполняется путем сухого запуска этих тестовых примеров.

8. Выполнение теста:

Выполнение тестового случая происходит по расписанию. Ниже приведены шаги на этапе выполнения теста ETL.

  • Выполнение заданий ETL.
  • Убедитесь, что загрузка данных выполнена успешно на целевом объекте и данные действительны.
  • < li> Проверьте цель и проверьте качество и правильность данных, выполнив SQL-запросы.

  • Проверьте журналы инструмента ETL, где это вызвало ошибку или завершилось ненормально.
  • Выполните тестовые примеры

9. Отчеты об ошибках Закрытие дефектов:

  • Дефекты регистрируются, а закрытие дефектов выполняется командой разработчиков.

10. Выход и отчет:

  • Информация о количестве выполненных тестовых случаев, статусе и общем статусе сообщается команде. Подписание может быть дано, если проведено достаточное количество тестов и количество ошибок близко к нулю и в системе нет проблем с высокой степенью серьезности.

Тестовые случаи ETL (образец шаблона тестового набора ETL)

Сопоставление ETL листов и схемы БД источника & amp; Цель — это ключевые документы, на которые инженер по тестированию ETL всегда ссылается при создании тестовых примеров и сценариев.

Лист сопоставления ETL содержит следующую информацию

1. Каждый столбец исходной и целевой таблицы
2. Информация справочной таблицы для каждого столбца исходной и целевой таблицы

Несколько примеров тестовых случаев.

  • Структура исходной и целевой таблиц должна совпадать с лист сопоставления ETL.
  • Тип данных и длина данных в источнике и цели должны быть одинаковыми.
  • Формат типа поля данных должен совпадать как в исходной, так и в целевой таблицах.
  • Имена столбцов должны сопоставляться с листами ETL как на исходном, так и на целевом уровнях.
  • Ограничения определены, как ожидалось, на целевом объекте, как определено в источнике.
  • После загрузки данных количество записей в исходной и целевой таблицах одинаково.
  • Формат даты одинаков для исходной и целевой таблиц.
  • Убедитесь, что в целевой таблице не обнаружены повторяющиеся записи. таблицы.

«Тестирование

Загрузить образец шаблона тестового случая ETL

Типы ошибок при тестировании ETL

  • Ошибки, связанные с пользовательским интерфейсом/интерфейсом, такие как — удобство использования, орфографические ошибки, навигация, размещение объектов пользовательского интерфейса, стиль шрифта, размер шрифта, цвета, выравнивание и т. Д.
  • Проблемы, связанные с анализом граничных значений — проверка минимального и максимального значения .
  • Проблемы с действительными и недопустимыми типами данных.
  • Ошибки вычислений.
  • Проблемы, связанные с производительностью или скоростью.
  • Проблемы, связанные с нарушением бизнес-правил.
  • Запись ошибок дублирования.
  • Потеря данных при выполнении некоторых операций.

Образец карты сопоставления:

Тестирование ETL & ndash; Полное руководство

Загрузить образец шаблона карты сопоставления

Различия между тестированием ETL и БД

Целью обоих типов тестирования является проверка данных, но они не совпадают. .

Ниже приведены некоторые различия между тестированием DB и ETL.

Тестирование ETL Тестирование БД
Тестирование ETL больше ориентировано на перемещение данных из нескольких источников в хранилище данных. Тестирование БД сосредоточено на проверке правил и ограничений базы данных приложений.
Проверить количество данных в исходной и целевой базах данных. Убедитесь, что каждый столбец в таблице имеет допустимые значения данных.
Тестирование проводится для проверки того, что извлечение, преобразование и загрузка данных были выполнены должным образом. Это делается для проверки того, правильно ли приложение выполняет операции CRUD и удовлетворяются ли бизнес-потребности.
Работает с огромными данными, историческими данными и множественными источниками. Это делается на данных бизнес-транзакций.
В ETL используется интерактивная аналитическая обработка (OLAP), которая выполняет сложные запросы для анализа статистических агрегированных данных из Системы OLTP. БД использует онлайн-обработку транзакций (OLTP), которая работает с операциями базы данных в реальном времени, такими как создание, обработка и хранение данных на транзакционной основе.
Тип данных не нормализован, с большим количеством индексов и агрегатов, с меньшим количеством объединений. В тестировании БД данные нормализованы с большим количеством объединений.
Тестирование ETL участвует в извлечении, преобразовании, загрузке данных и, наконец, проверке отчетов на панели инструментов. Тестирование базы данных предназначено для проверки правильности работы логики приложения и правильной работы операций с данными.
Тестирование ETL — это многомерное тестирование. Тестирование БД ограничено бизнес-логикой и логикой приложения.

< strong> Инструменты тестирования ETL

Тестирование ETL выполняется вручную, а также с помощью инструментов автоматизации, но ручное тестирование более подвержено ошибкам и требует много времени. Перейдите по ссылке, чтобы получить список лучших инструментов ETL

Как выбрать программное обеспечение ETL

Как правило, все инструменты ETL извлекают, читают, очищают и переносят большие объемы неструктурированных или структурированных данных с разных платформ, а затем загружают данные единого формата в хранилище данных или хранилище данных.

Современные инструменты ETL предоставить информационные панели для визуализации данных, отчетности, анализа, различных типов представлений диаграмм, надежной безопасности, совместной работы, совместного использования, мобильного представления и данных памяти.

Перед тем, как выбрать какой-либо инструмент ETL, необходимо выполнить следующие критерии. необходимо проверить.

  • Поддержка нескольких форматов данных.
  • Профилирование данных
  • Поддерживает очистку данных
  • Поддержка метаданных
  • Контроль версий карт ETL
  • Поддерживает манипуляции с данными
  • Поддержка моделей интеллектуального анализа данных
  • Обеспечивает автоматическую документацию.
  • Поддержка аналитических функций.
  • Обработка ошибок.
  • Чтение неструктурированных данных.
  • Вращение
  • Простота использования
  • Требования к обучению
  • Простая отладка
  • Поддерживаются соединения в реальном времени

< сильный>Как стать тестером ETL и требуется набор навыков.

Чтобы стать тестером ETL, необходимы следующие навыки.

  1. Хороший анализ бизнес-требований: разбираться в бизнес-процессах и разрабатывать тестовые примеры.
  2. Хорошо разбирается в планировании тестирования хранилища данных, планах UAT, тестовых примерах, обращаясь к документу сопоставления ETL и документам функционального дизайна.
  3. Хорошо разбирается в базах данных. концепции и может писать простые и сложные запросы для разных баз данных и платформ.
  4. Опыт работы с запросами PL/SQL: должен уметь выполнять внутреннее тестирование, проверять целостность данных путем разработки и выполнения запросов Oracle PL/SQL в базе данных. Должен иметь возможность сравнивать данные с отчетами, созданными на информационной панели хранилища данных.
  5. Протестировал хранимые процедуры и разработал сложные SQL-запросы для тестирования данных.
  6. Хорош в проверке данных на целевом объекте. база данных в соответствии с бизнес-правилами.
  7. Работал с плоскими файлами, веб-сервисами, SQL Server, Oracle — извлекал данные из плоских файлов и загружал их в целевую базу данных.
  8. Работал над одним или несколькими инструментами ETL.
  9. Знание базы данных инструменты запросов, такие как TOAD и SQL plus.
  10. Работали в разных операционных системах, таких как Windows, Unix, Linux.
  11. Хорош в тестировании веб-сервисов и проверке XML с использованием любого инструмента, такого как SOAP UI
  12. Хорош в ведении журнала дефектов с использованием любого инструмента, например центра качества, отчетов по тестам.
  13. Хорош в составлении сводных отчетов по тестам, подписании, ретроспективных встречах и непрерывном обучении.
  14. Хорош в функциональном, системном, регрессионном тестировании, интеграции и тестировании производительности.
  15. Участвует в планировании UAT и разработке тестов.

Обладая вышеупомянутыми навыками, вы легко можете получить задания на тестирование ETL.

Проблемы тестирования ETL

Есть несколько проблем, которые могут помешать процессу ETL, если не будут решены вовремя.

  1. Создание документа сопоставления источника и цели: если это не будет сделано правильно на начальном этапе, все тестирование даст ложные результаты. Этот пробел создает большую проблему для всего процесса ETL.
  2. Требование непоследовательно, и изменения происходят очень часто, так как этому тестировщику нужно очень часто менять свои сценарии, и это становится очень медленным и может повлиять на общий график процесса ETL.
  3. Иногда во время переноса данных данные теряются или повреждаются, и высока вероятность того, что они не будут замечены тестировщиками. Это может вызвать проблемы с проверкой данных в целевой базе данных.
  4. Отсутствие правильной оценки теста.
  5. Недоступность среды тестирования.
  6. Огромный объем данных в исходной системе: иногда затрудняет тестирование в целевой системе из-за большого объема и низкой производительности.
  7. Инструмент ETL использовано: современные инструменты предоставляют множество возможностей для проверки данных, но если организация придерживается традиционного инструмента, то может быть трудно эффективно протестировать данные.

Заключение

Спрос на тестирование ETL очень велик, и будущее у тестеров ETL светлое.

Традиционные инструменты ETL, такие как IBM Infosphere Information Server, Informatica, некоторые требовательные инструменты, такие как клей AWS, Alooma, Stitch, набирают популярность из-за некоторых они предоставляют такие функции, как потоковая передача в реальном времени, очень богатые информационные панели, удобный пользовательский интерфейс и многие другие функции управления данными.

Объем тестирования ETL увеличивается из-за спроса на автоматизацию ETL на рынке.

Тестеры ETL нужны, потому что объем данных становится огромным, и в эту конкурентную эпоху каждый бизнес хочет знать потребности пользователей, уровень интересов конечных пользователей, чтобы бизнес был готов выполнить потребности пользователей, чтобы принимать своевременные решения, им нужны консолидированные данные.

ETL полезен при принятии заблаговременных решений, прогнозировании роста бизнеса. Основные отрасли, использующие ETL, — это банковское дело, финансы, страхование, здравоохранение и информационные технологии.

Следующие статьи помогут вам улучшить работу по тестированию ETL.