Учебное пособие по ETL-тестированию
Что такое ETL-тестирование?
ETL-тестирование проводится для обеспечения точности данных, загруженных из источника в пункт назначения после преобразования бизнеса. Это также включает в себя проверку данных на различных промежуточных этапах, которые используются между источником и пунктом назначения. ETL означает «Извлечение-Преобразование-Загрузка».
Тестирование хранилища данных
Тестирование хранилища данных это метод тестирования, при котором данные внутри хранилища данных проверяются на целостность, надежность, точность и согласованность, чтобы соответствовать структуре данных компании. Основная цель тестирования хранилища данных — убедиться, что интегрированные данные внутри хранилища данных достаточно надежны, чтобы компания могла принимать решения.
Что такое ETL?
ETL означает «Извлечение-Преобразование-Загрузка» и представляет собой процесс загрузки данных из исходной системы в хранилище данных. Данные извлекаются из базы данных OLTP, преобразуются в соответствии со схемой хранилища данных и загружаются в базу данных хранилища данных. Многие хранилища данных также включают данные из систем, отличных от OLTP, таких как текстовые файлы, устаревшие системы и электронные таблицы.
Давайте посмотрим, как это работает
Например, есть розничный магазин, в котором есть разные отделы, такие как продажи, маркетинг, логистика и т. д. Каждый из них обрабатывает информацию о клиентах независимо, и способы хранения этих данных совершенно разные. Отдел продаж сохранил его по имени клиента, а отдел маркетинга — по идентификатору клиента.
Теперь, если они хотят проверить историю клиента и узнать, какие продукты он купил в результате различных маркетинговых кампаний; это было бы очень утомительно.
Решение состоит в том, чтобы использовать Datawarehouse хранить информацию из разных источников в единой структуре с помощью ETL. ETL может преобразовывать разнородные наборы данных в единую структуру.Later используйте инструменты BI для получения значимой информации и отчетов на основе этих данных.
На следующей диаграмме в этом руководстве по тестированию ETL представлена ДОРОЖНАЯ КАРТА процесса тестирования ETL и различные концепции тестирования ETL:
- Выписка
- Извлеките соответствующие данные
- Transform
- Преобразование данных в формат DW (хранилище данных).
- Ключи сборки. Ключ — это один или несколько атрибутов данных, которые однозначно идентифицируют объект. Различный типы ключей Первичный ключ, альтернативный ключ, внешний ключ, составной ключ, суррогатный ключ. Хранилище данных владеет этими ключами и никогда не позволяет каким-либо другим объектам назначать их.
- Очистка данных: после извлечения данных перейдет к следующему этапу очистки и согласования данных. Очистка не только устраняет пропуски в данных, но и выявляет и исправляет ошибки. Соответствие означает разрешение конфликтов между несовместимыми данными, чтобы их можно было использовать в корпоративном хранилище данных. В дополнение к этому эта система создает метаданные, которые используются для диагностики проблем исходной системы и улучшения качества данных.
- нагрузка
- Загрузка данных в DW (Хранилище данных)
- Создание агрегатов. Создание агрегата представляет собой суммирование и хранение данных, доступных в таблица фактов для повышения производительности запросов конечных пользователей.
Процесс тестирования ETL
Как и другие процессы тестирования, ETL также проходит разные фазы. Различные этапы процесса тестирования ETL следующие:
ETL-тестирование проводится в пять этапов
- Определение источников данных и требований
- сбор данных
- Внедрение бизнес-логики и многомерного моделирования.
- Создание и заполнение данных
- Создание отчетов
Виды ETL-тестирования
Виды тестирования | Процесс тестирования |
---|---|
Производственное проверочное тестирование | «Балансировка таблиц» или «производственная сверка». Этот тип ETL-тестирования выполняется на данных по мере их перемещения в производственные системы. Чтобы поддержать ваше бизнес-решение, данные в ваших производственных системах должны находиться в правильном порядке. информатика Опция проверки данных обеспечивает возможности автоматизации и управления тестированием ETL, чтобы гарантировать, что данные не будут скомпрометированы в производственных системах. |
Источник для Target Тестирование (проверочное тестирование) | Такой тип тестирования проводится для проверки того, являются ли преобразованные значения данных ожидаемыми значениями данных. |
Подача заявки Upgrades | Такой тип ETL-тестирования может быть сгенерирован автоматически, что существенно экономит время разработки тестов. Этот тип тестирования проверяет, совпадают ли данные, извлеченные из старого приложения или репозитория, с данными в репозитории или новом приложении. |
Тестирование метаданных | Тестирование метаданных включает тестирование проверки типа данных, проверки длины данных и проверки индекса/ограничений. |
Тестирование полноты данных | Чтобы убедиться, что все ожидаемые данные загружены в цель из источника, выполняется проверка полноты данных. Некоторые из тестов, которые можно выполнить, — это сравнение и проверка счетчиков, агрегатов и фактических данных между источником и целевым объектом для столбцов с простым преобразованием или без преобразования. |
Тестирование точности данных | Это тестирование проводится для того, чтобы убедиться, что данные точно загружены и преобразованы, как ожидалось. |
Тестирование преобразования данных | Тестирование преобразования данных проводится, так как во многих случаях этого невозможно достичь, написав один исходный код. SQL запрос и сравнение результата с целью. Для проверки правил преобразования может потребоваться выполнить несколько SQL-запросов для каждой строки. |
Тестирование качества данных | Тесты качества данных включают синтаксические и эталонные тесты. Во избежание каких-либо ошибок, связанных с датой или номером заказа, во время бизнес-процесса проводится тестирование качества данных.
Синтаксические тесты: он будет сообщать о грязных данных, основанных на недопустимых символах, шаблоне символов, неправильном порядке верхнего или нижнего регистра и т. д. Эталонные тесты: они проверят данные в соответствии с моделью данных. Например: Идентификатор клиента. Тестирование качества данных включает проверку номера, проверку даты, проверку точности, проверку данных, проверку нуля и т. д. |
Инкрементальное ETL-тестирование | Это тестирование проводится для проверки целостности старых и новых данных с добавлением новых данных. Инкрементальное тестирование проверяет, что вставки и обновления обрабатываются должным образом во время добавочного процесса ETL. |
Тестирование графического интерфейса/навигации | Это тестирование проводится для проверки аспектов навигации или графического интерфейса внешних отчетов. |
Как создать тестовый пример ETL
ETL-тестирование — это концепция, которую можно применять к различным инструментам и базам данных в индустрии управления информацией. Целью ETL-тестирования является обеспечение точности данных, загруженных из источника в пункт назначения после преобразования бизнеса. Это также включает в себя проверку данных на различных промежуточных этапах, которые используются между источником и пунктом назначения.
При выполнении ETL-тестирования тестер ETL всегда будет использовать два документа:
- Листы сопоставления ETL:Листы сопоставления ETL содержат всю информацию об исходных и целевых таблицах, включая каждый столбец и их поиск в справочных таблицах. Тестировщикам ETL необходимо хорошо разбираться в запросах SQL, поскольку тестирование ETL может включать в себя написание больших запросов с несколькими соединениями для проверки данных на любом этапе ETL. Листы сопоставления ETL оказывают значительную помощь при написании запросов для проверки данных.
- Схема источника БД, Target: Его следует держать под рукой для проверки любых деталей картографических листов.
Сценарии и тестовые сценарии ETL
Сценарий тестирования | Тестовые кейсы |
---|---|
Проверка картографического документа | Проверьте документ сопоставления, предоставлена ли соответствующая информация ETL или нет. Журнал изменений должен храниться в каждом картографическом документе. |
Проверка |
|
Проверка ограничений | Убедитесь, что ограничения определены для конкретной таблицы, как и ожидалось. |
Проблемы с согласованностью данных |
|
Проблемы полноты |
|
Проблемы с корректностью |
|
трансформация | трансформация |
Качество данных |
|
Нулевая проверка | Проверьте значения NULL, где «Not Null» указано для определенного столбца. |
Дубликат проверки |
|
Проверка даты | Значения даты используют многие области разработки ETL для
|
Полная проверка данных |
|
Чистота данных | Ненужные столбцы следует удалить перед загрузкой в промежуточную область. |
Типы ошибок ETL
Тип ошибок | Описание |
---|---|
Ошибки пользовательского интерфейса/косметические ошибки |
|
Ошибка, связанная с анализом граничных значений (BVA) |
|
Ошибка, связанная с разделением классов эквивалентности (ECP) |
|
Ошибки ввода/вывода |
|
Ошибки расчета |
|
Ошибки условий загрузки |
|
Ошибки условий гонки |
|
Ошибки контроля версий |
|
Аппаратные ошибки |
|
Помощь Источник ошибок |
|
Разница между тестированием базы данных и тестированием 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, вопросы и ответы