В этом посте мы узнаем о тестировании ETL (тестировании хранилища данных), а также о следующем
Что такое ETL?< /h2>
ETL расшифровывается как Eextract, Tпреобразование и Lзагрузка. Извлечение, преобразование и загрузка — это три функции базы данных, которые объединены в одном инструменте.
Инструменты ETL извлекают данные (извлекают) из одной базы данных, преобразуют (преобразовывают) и сохраняют (загружают) в другую. база данных. Инструменты ETL используются для создания хранилища данных.
Извлечение: это процесс чтения данных из базы данных
Преобразование:Это процесс преобразования извлеченных данных из исходной формы в форму, необходимую для хранения в другой базе данных.
Загрузка: это процесс загрузки данных в целевую базу данных< /p>
Другими словами, процесс ETL создает данные из нескольких источников для создания киоска данных, хранилища операционных данных, хранилища данных, концентратора данных или озера данных.
Что такое тестирование ETL?
Когда мы говорим о тестировании ETL, это проверка и проверка Данных, их полноты, уникальности и целостности данных.
Процесс ETL используется в хранилищах данных и стал популярным в 1970-х годах. Система ETL объединяет данные из разных систем, которые могут быть на разных платформах, разном оборудовании и могут быть разных поставщиков.
Тестирование ETL проверяет перемещение данных из источника в место назначения и проверку количества данных как в источнике, так и в месте назначения, а также проверку извлечения и преобразования данных, а также проверку отношений между таблицами.
Что такое хранилище данных?
Сбор, хранение и управление различными видами данных из 'n' no. из различных источников и обеспечивающий значимое восприятие и прогнозирование для бизнеса, называется хранилищем данных.
Хранилище данных является важной частью систем бизнес-анализа (BI), которые занимаются анализом данных и составлением отчетов.
Процесс ETL
Процесс ETL разделен на 3 этапа
Извлечение данных
На первом этапе данные извлекаются из нескольких источников в промежуточную область.
Источниками могут быть подписки или комбинация всех
- CRM (программное обеспечение для управления взаимоотношениями с клиентами), таких как Salesforce, Zoho, HubSpot, Microsoft Dynamics и т. д.
- ERP (планирование ресурсов предприятия), например Microsoft Dynamics, Oracle Ebusiness Suite, NetERP, программное обеспечение Lawson, SAP Business one и т. д. Приложения
- LoB (направление бизнеса), такие как любой бухгалтерский учет, приложения для управления цепочками поставок и планирования ресурсов
Промежуточная область используется для извлечения данных из разных источников в разных форматах, а также для очистки и организации данных. Промежуточная стадия — это промежуточное место, где исходные данные хранятся временно.
Данные могут быть в структурированном формате (база данных, XML, Excel, CSV и т. д.) или в неструктурированном формате (электронная почта, веб-страница и т. д., данные анализа экрана).
Еще примеры форматов источников данных: JSON, реляционные базы данных, плоские файлы, Метод доступа к виртуальному хранилищу (VSAM), IMS (система управления информацией).
Преобразование
Преобразование — это второй этап ETL, на котором несколько правил и функций применяются к извлеченным данным и для создания данных в одном формате.
Целью процесса преобразования является преобразование нескольких источников и нескольких форматов данных в единый системный формат.
Процесс преобразования также проверяет данные для подтверждения правильности данных.
Например, если определенные данные должны иметь определенный шаблон или некоторые значения по умолчанию, и если шаблон данных значения по умолчанию не найден, данные отклоняются и возвращаются в исходную систему.
Во время преобразования данные проходят следующие подпроцессы
- Очистка (удаление или удаление ошибок или несоответствий данных для улучшения качества данных)
- Фильтрация (выбор соответствующих строк или столбцов)
- Объединение (связывание релевантных данных из нескольких источников)
- Сортировка (сортировка в нужном порядке)
- Разбиение (Разбиение данных на столбцы)
- Дедупликация (поиск и удаление повторяющихся записей)
- Обобщение(данные собираются и хранятся в обобщенном формате. Например, общий объем продаж за определенный год)
- Проверка данных: отклонение данных, в которых отсутствует какое-либо значение по умолчанию или заданный формат.
- Вывод. Бизнес-правила применяются к данным и проверяются на достоверность, и если они обнаруживаются неверными, они возвращаются обратно в источник.
После преобразования данных с применением всех вышеперечисленных методов. , данные становятся согласованными и готовыми к загрузке.
Загрузить данные
Этап загрузки зависит от бизнес-требований или использования данных.
Ниже приведены некоторые примеры требований
- Данные будут использоваться для целей анализа.
- Данные используются для предоставления результатов поиска.
- Данные используются для алгоритма машинного обучения.
- Данные используются для некоторых приложений, работающих в реальном времени
В зависимости от цели использования данных, данные загружаются в хранилище данных с желаемым для бизнеса форматом. Это может быть пакетная загрузка или полная загрузка в зависимости от потребностей бизнеса.
Когда происходит загрузка данных, в целевой базе данных активируются все триггеры, например ссылочная целостность, обязательные проверки полей, уникальность данных.
Эти триггеры еще раз проверяют качество данных перед загрузкой окончательных данных в хранилище данных.
Например, предприятию нужны записи обо всех клиентах, пользующихся финансовыми услугами в различных финансовых учреждениях. Задача хранилища данных состоит в том, чтобы предоставить эти данные в едином и едином формате, поскольку данные, извлеченные из разных систем, имеют разные форматы.
Процесс ETL упрощает и нормализует неструктурированные данные, а также загружает данные в единый формат. .
Иногда ETL используется для переноса данных приложения в новую базу данных, ETL помогает загрузить данные из старой схемы базы данных в новую схему базы данных.
Типы тестирования ETL
Тестирование ETL подразделяется на следующие типы.
- Тестирование новой системы:При этом данные извлекаются из различных типов источников и загружаются в хранилище данных. Таким образом, может быть выполнено тестирование точности данных, достоверности, целостности и производительности приложения.
- Тестирование миграции: проверка миграции данных исходной системы в хранилище данных с целостностью данных и без потеря данных.
- Пошаговое тестирование. Это делается, когда в хранилище данных происходят некоторые изменения, например, в базу данных хранилища данных добавляется новый тип данных.
- Тестирование отчетов. Когда данные полностью загружены в хранилище данных, выполняется тестирование отчетов для проверки качества данных, достоверности, бизнес-логики и расчетов
- Источник для целевого тестирования данных. : чтобы убедиться, что не должно быть потери или усечения данных при загрузке данных из источника в хранилище данных.
- Тестирование производительности: Это делается для того, чтобы убедиться, что загрузка данных происходит в течение ожидаемого времени, и пользователи приложения могут выполнять свою работу без каких-либо задержек.
- Тестирование графического интерфейса пользователя. Это тестирование проводится для проверки правильности отображения отчетов конечными пользователями.
Жизненный цикл тестирования ETL и артефакты тестирования.
Как и любое другое тестирование программного обеспечения, ETL также следует жизненному циклу тестирования.
1. Понимание бизнес-требований
- Документ с бизнес-требованиями
- Документ с техническими спецификациями
- Документ сопоставления данных.
- Структура базы данных, логика приложения и то, как данные используются в текущей системе
2. Проверка бизнес-требований
- Перепроверьте каждое требование с бизнес-аналитиком и проясните сомнения и проблемы, связанные с сопоставлением данных.
- Перепроверьте логику преобразования данных и убедитесь, что пробелов нет
3. Оцените усилия по тестированию
- Оцените, сколько времени требуется для планирования тестирования и создания тестовых артефактов.
- В соответствии с количеством бизнес-требований усилия по выполнению высокоуровневых тестов оцениваются
- Согласно общему времени проекта, бюджету и размеру команды, нет. количество дней тестирования оценивается.
4. Планирование тестирования
- Используемые методы и приемы тестирования, используемые инструменты и график тестирования
5. Создание тестовых артефактов
Включает в себя тестовые случаи, подготовку тестовых сценариев с учетом следующих ключевых моментов.
- Структура исходных данных должна быть такой же, как и в окончательной базе данных.< ли>Все таблицы в месте назначения обновляются, включая все ссылочные данные.
- Модель данных правильно соответствует месту назначения.
- Стратегия архивирования и очистки.
- Просмотрите словарь данных.
- Правила преобразования данных.< /ul>
6. Подготовка тестовых данных
7. Обзор тестовых наборов
- Проверки тестовых наборов выполняются путем пробного запуска этих тестовых наборов
8. Выполнение теста:
Выполнение тестового случая происходит в соответствии с расписанием. Ниже приведены шаги на этапе выполнения теста ETL.
- Выполнение заданий ETL.
- Убедитесь, что загрузка данных в целевое устройство выполнена успешно и что данные действительны.
- Проверьте целевое устройство и проверьте качество и правильность данных, выполнив SQL-запросы.
- Проверьте журналы инструмента ETL, где это вызвало ошибку или ненормально завершилось.
- Выполнение тестовых случаев
9. Сообщение об ошибке Закрытие дефекта:
- Дефекты регистрируются, а закрытие дефектов выполняется командой разработчиков.
10. Подписание и отчетность:
- Количество выполненных тестовых случаев, статус и общий статус передаются команде. Подтверждение может быть дано, если проведено достаточное количество тестов и количество ошибок близко к нулю, а в системе нет серьезной проблемы.
Тестовые примеры ETL (образец шаблона тестового случая ETL)
Листы сопоставления ETL и схема БД источника и цели являются ключевыми документами, на которые всегда ссылается ETL. инженером по тестированию при создании тестовых наборов и сценариев.
Лист сопоставления ETL содержит следующую информацию
1. Каждый столбец исходной и целевой таблиц
2. Информация справочной таблицы для каждого столбца исходной и целевой таблицНесколько примеров тестовых случаев.
- Структура исходной и целевой таблиц должна соответствовать листу сопоставления ETL.
- Тип данных и длина данных в исходной и целевой таблицах должны быть одинаковыми.
- Формат типа поля данных должен совпадать как в исходной, так и в целевой таблицах.
- Имена столбцов должны сопоставляться с листами ETL как в источнике, так и в целевом объекте.
- Ограничения определяются так, как ожидается, в целевом объекте, определенном в источнике.
- Количество записей в источнике и целевом объекте одинаково после загрузки данных.
- Формат даты в исходной и целевой таблицах одинаков.
- Проверьте, не найдены ли повторяющиеся записи в целевых таблицах.
Загрузить пример шаблона теста ETL
Типы ошибок в тестировании ETL
- Ошибки, связанные с пользовательским интерфейсом/интерфейсом, такие как удобство использования, орфографические ошибки, навигация, размещение объектов пользовательского интерфейса, стиль шрифта, размер шрифта, цвета, выравнивание и т. д.
- Проблемы, связанные с анализом граничных значений — проверка минимального и максимального значения.
- Проблемы с допустимыми и недопустимыми типами данных
- Ошибки вычислений
- Проблемы, связанные с производительностью или скоростью.
- Проблемы, связанные с нарушением бизнес-правил.
- Записывать ошибки дублирования.
- Потеря данных при какой-либо операции.
Образец листа сопоставления:
Загрузить образец таблицы сопоставления
Разница между тестированием ETL и БД
Целью обоих типов тестирования является проверка данных, но эти два не являются такой же.
Ниже приведены некоторые различия между тестированием БД и ETL.
Тестирование ETL Тестирование БД Тестирование ETL в большей степени сосредоточено на перемещении данных из нескольких источников в хранилище данных. Тестирование БД сосредоточено на правилах базы данных и тестировании ограничений базы данных приложений. Проверка количества данных в исходной и целевой базах данных. Убедитесь, что каждый столбец в таблице имеет допустимые значения данных. Проводится тестирование, чтобы убедиться, что извлечение, преобразование и загрузка данных выполняются должным образом. Это делается для проверки того, правильно ли приложение выполняет операции CRUD и удовлетворяются ли потребности бизнеса. Работает с огромными данными, историческими данными и задействованы несколько источников. Это делается с данными бизнес-транзакций. В ETL используется оперативная аналитическая обработка (OLAP), которая выполняет сложные запросы для анализа исторических агрегированных данных из систем OLTP. , обработка и хранение данных на основе транзакций. Тип данных не нормализован, с большим количеством индексов и агрегаций, с меньшим количеством объединений. При тестировании БД данные нормализуются с большим количеством объединений. Тестирование ETL включает в себя извлечение данных, преобразование, загрузку данных и, наконец, проверку отчетов на панели инструментов. Тестирование базы данных предназначено для проверки правильности работы логики приложения и правильности операций с данными. Тестирование ETL – это многомерное тестирование. Тестирование БД ограничивается бизнес-логикой и логикой приложений. Инструменты тестирования ETL
Тестирование ETL выполняется вручную, а также с помощью инструментов автоматизации, но ручное тестирование более подвержено ошибкам и требует больше времени. Перейдите по ссылке, чтобы получить список лучших инструментов ETL
Как выбрать программное обеспечение ETL
В целом все инструменты ETL извлекают, считывают, очищают и переносят большие тома. неструктурированных или структурированных данных с разных платформ, а затем загружать данные единого формата в хранилище данных или хранилище данных.
Современные инструменты ETL предоставляют информационные панели для визуализации данных, создания отчетов, анализа, различных типов представлений диаграмм, надежной безопасности, совместной работы, совместного использования, мобильного представления и данных памяти.
Прежде чем выбрать какой-либо инструмент ETL, необходимо выполнить следующие критерии: отмечен.
- Поддержка нескольких форматов данных
- Профилирование данных
- Поддержка очистки данных
- Поддержка метаданных
- Контроль версий карт ETL
- Поддержка манипулирования данными
- Поддержка моделей интеллектуального анализа данных
- Предоставляет автоматическое документирование
- Поддержка аналитических функций
- Обработка ошибок
- Чтение неструктурированных данных
- Сведение
- Простота использования
- Требование к обучению
- Простая отладка
- Поддержка подключений в реальном времени
Как стать тестировщиком ETL и требуется набор навыков.
Ниже перечислены навыки, необходимые для того, чтобы стать тестировщиком ETL.
- Хорошо анализирует бизнес-требования: Понимание бизнес-процессов и разработка тестовых случаев.< ли>Хорошо разбирается в планировании тестирования хранилища данных, планах UAT, тестовых примерах, ссылаясь на документ сопоставления ETL и документы функционального проектирования.
- Хорошо разбирается в концепциях баз данных и может писать простые и сложные запросы к различным базам данных и платформам.
- Опыт в Запросы PL/SQL: Должен быть в состоянии выполнять внутреннее тестирование, проверять согласованность данных, разрабатывая и выполняя запросы Oracle PL/SQL к базе данных. Должна быть возможность сравнивать данные с отчетами, сгенерированными на информационной панели хранилища данных.
- Протестированы хранимые процедуры и разработаны сложные SQL-запросы для тестирования данных.
- Хорошо справляется с проверкой данных в целевой базе данных в соответствии с бизнес-правилами.
- Работал с плоскими файлами, веб-сервисами, SQL Server, Oracle — извлечение данных из неструктурированных файлов и загрузка в целевую базу данных.
- Работал с одной или несколькими Инструменты ETL.
- Знание инструментов запросов к базам данных, таких как TOAD и SQL plus.
- Работал в различных операционных системах, таких как Windows, Unix, Linux.
- Хорошо тестирует веб-сервисы и проверяет XML, используя любой инструмент, например SOAP UI< li>Хорошо регистрирует дефекты с помощью любого инструмента, такого как центр качества, отчеты о тестировании.
- Хорошо справляется со сводными отчетами по тестированию, подписывает, проводит ретроспективные собрания и непрерывно обучается.
- Хорошо справляется с функциональным, системным, регрессионным, интеграционным и производительным тестированием.
- Участвует в планировании UAT и разработке тестов.
Обладая вышеупомянутыми навыками, вы можете легко получить работу по тестированию ETL.
Проблемы тестирования ETL
Есть несколько проблем, которые могут помешать процессу ETL, если их не решить вовремя.
- Создание документа сопоставления источника с целью: если это не будет сделано правильно на начальном этапе, все тестирование даст ложные результаты. Этот пробел приводит к серьезной проблеме для всего процесса ETL.
- Требование не является последовательным, и изменения происходят очень часто, из-за этого тестеру нужно очень часто менять свои скрипты, и это становится очень медленным и может повлиять на общий результат. расписание процесса ETL.
- Иногда во время переноса данные теряются или повреждаются, и высока вероятность того, что тестер не упустит их из виду. Это может привести к проблемам с проверкой данных в целевой базе данных.
- Отсутствует надлежащая тестовая оценка.
- Недоступность среды тестирования
- Огромный объем данных в исходной системе: иногда тестирование в целевой системе затруднено из-за большого объема и низкой производительности.
- Используемый инструмент ETL: современные инструменты предоставляют множество возможностей для проверки данных но если организация придерживается традиционного инструмента, может быть сложно эффективно протестировать данные.
Заключение
Спрос на тестирование ETL очень велик, и у ETL-тестера большое будущее.
Традиционные инструменты ETL, такие как IBM Infosphere Information Server, Informatica, некоторые требовательные инструменты, такие как клей AWS, Alooma, Stitch, набирают популярность благодаря некоторым функциям, которые они предоставляют, например потоковая передача в реальном времени, очень богатые информационные панели, удобный пользовательский интерфейс и многие другие функции обработки данных.
Объем тестирования ETL увеличивается из-за спроса на автоматизацию ETL на рынке.
ETL тестировщики нужны, потому что данные становятся огромными, и в этот конкурентный век каждый бизнес хочет знать требования пользователей, уровень заинтересованности конечных пользователей, чтобы бизнес был готов удовлетворить потребности пользователей, чтобы своевременно принятия решений им нужны консолидированные данные.
ETL помогает принимать заблаговременные решения, прогнозировать рост бизнеса. Основными отраслями, использующими ETL, являются банковское дело, финансы, страхование, здравоохранение и информационные технологии.
Ниже приведены связанные сообщения, которые помогут вам получить лучшие задания по тестированию ETL.
TAG: qa