Прежде чем мы узнаем что-либо об ETL Testing, важно изучить Business Intelligence и Dataware. Давайте начнем —
Что такое БИ?
Бизнес-аналитика — это процесс сбора необработанных данных или бизнес-данных и превращения их в полезную и более значимую информацию. Необработанные данные — это записи ежедневных транзакций организации, таких как взаимодействие с клиентами, управление финансами, управление сотрудниками и так далее. Эти данные будут использоваться для «Отчетов, анализа, интеллектуального анализа данных, качества данных и интерпретации, прогнозного анализа».
Что такое хранилище данных?
Хранилище данных — это база данных, которая предназначена для запросов и анализа, а не для обработки транзакций. Хранилище данных создается путем интеграции данных из нескольких разнородных источников. Это позволяет компании или организации объединять данные из нескольких источников и отделяет рабочую нагрузку анализа от рабочей нагрузки транзакции. Данные преобразуются в высококачественную информацию для удовлетворения всех требований корпоративной отчетности для всех уровней пользователей.
Что такое ETL?
ETL расшифровывается как Extract-Transform-Load и представляет собой процесс загрузки данных из исходной системы в хранилище данных. Данные извлекаются из базы данных OLTP, преобразуются в соответствии со схемой хранилища данных и загружаются в базу данных хранилища данных. Многие хранилища данных также включают данные из не-OLTP систем, таких как текстовые файлы, устаревшие системы и электронные таблицы.
Давайте посмотрим, как это работает
Например, есть розничный магазин, в котором есть разные отделы, такие как отделы продаж, маркетинга, логистики и т. Д. Каждый из них обрабатывает информацию о клиентах независимо друг от друга, и способы хранения этих данных совершенно разные. Отдел продаж хранит его по имени клиента, а отдел маркетинга — по идентификатору клиента.
Теперь, если они хотят проверить историю клиента и хотят узнать, какие разные продукты он / она приобрел благодаря различным маркетинговым кампаниям; это было бы очень утомительно.
Решение состоит в том, чтобы использовать Datawarehouse для хранения информации из разных источников в единой структуре с использованием ETL. ETL может преобразовывать разнородные наборы данных в единую структуру. Позднее используйте инструменты BI для получения значимых данных и отчетов из этих данных.
Следующая диаграмма дает вам дорожную карту процесса ETL
- экстракт
- Извлечь соответствующие данные
- преобразование
- Преобразование данных в формат DW (хранилище данных)
- Ключи сборки. Ключ — это один или несколько атрибутов данных, которые однозначно идентифицируют сущность. Различные типы ключей: первичный ключ, альтернативный ключ, внешний ключ, составной ключ, суррогатный ключ. Хранилище данных владеет этими ключами и никогда не позволяет другим лицам назначать их.
- Очистка данных: после того, как данные извлечены, они перейдут к следующему этапу очистки и согласования данных. Очистка делает упущение в данных, а также выявляет и исправляет ошибки. Соответствие означает разрешение противоречий между этими данными, которые несовместимы, чтобы их можно было использовать в корпоративном хранилище данных. В дополнение к этому, эта система создает метаданные, которые используются для диагностики проблем системы источника и улучшает качество данных.
- нагрузка
- Загрузка данных в DW (хранилище данных)
- Создание агрегатов. Создание агрегата сводит и хранит данные, которые доступны в таблице фактов, чтобы повысить производительность запросов конечных пользователей.
Что такое тестирование ETL?
ETL-тестирование проводится для обеспечения точности данных, которые были загружены из источника в пункт назначения после преобразования бизнеса. Это также включает проверку данных на различных промежуточных этапах, которые используются между источником и местом назначения. ETL расшифровывается как Extract-Transform-Load.
Процесс тестирования ETL
Как и в других процессах тестирования, ETL также проходит различные фазы. Различные фазы процесса тестирования ETL заключаются в следующем
ETL тестирование проводится в пять этапов
- Определение источников данных и требований
- Получение данных
- Внедрить бизнес-логику и многомерное моделирование
- Сборка и заполнение данных
- Отчеты о сборке
Типы тестирования ETL
Типы тестирования | Процесс тестирования |
---|---|
Валидационные испытания продукции | «Балансировка таблиц» или «согласование производства». Этот тип тестирования ETL проводится на данных, когда они переносятся в производственные системы. Чтобы поддержать ваше бизнес-решение, данные в ваших производственных системах должны быть в правильном порядке. Informatica Data Validation Option предоставляет возможности автоматизации и управления тестированием ETL, чтобы гарантировать, что производственные системы не будут скомпрометированы данными. |
Тестирование от источника к цели (валидационное тестирование) | Такой тип тестирования проводится для проверки того, являются ли преобразованные значения данных ожидаемыми значениями данных. |
Обновления приложений | Такой тип тестирования ETL может генерироваться автоматически, что существенно экономит время разработки теста. Этот тип тестирования проверяет, совпадают ли данные, извлеченные из более старого приложения или хранилища, с данными в хранилище или новом приложении. |
Тестирование метаданных | Тестирование метаданных включает в себя проверку типа данных, проверку длины данных и проверку индекса / ограничения. |
Проверка полноты данных | Чтобы убедиться, что все ожидаемые данные загружены в цель из источника, выполняется проверка полноты данных. Некоторые из тестов, которые можно запустить, — это сравнение и проверка количества, совокупности и фактических данных между источником и целью для столбцов с простым преобразованием или без преобразования. |
Тестирование точности данных | Это тестирование проводится для обеспечения точной загрузки и преобразования данных в соответствии с ожиданиями. |
Тестирование преобразования данных | Тестирование преобразования данных выполняется, поскольку во многих случаях его невозможно достичь, написав один исходный SQL- запрос и сравнив выходные данные с целью. Для проверки правил преобразования может потребоваться выполнить несколько SQL-запросов для каждой строки. |
Тестирование качества данных | Тесты качества данных включают синтаксические и справочные тесты. Во избежание ошибок из-за даты или номера заказа во время бизнес-процесса проводится тестирование качества данных. Синтаксические тесты: он сообщает о грязных данных, основываясь на недопустимых символах, шаблонах символов, неправильном верхнем или нижнем регистре и т. Д. Справочные тесты: он проверяет данные в соответствии с моделью данных. Например: идентификация клиента Проверка качества данных включает проверку номера, проверку даты, проверку точности, проверку данных, проверку на ноль и т. Д. |
Инкрементное тестирование ETL | Это тестирование проводится для проверки целостности старых и новых данных с добавлением новых данных. Инкрементное тестирование проверяет, что вставки и обновления обрабатываются в соответствии с ожиданиями во время инкрементного процесса ETL. |
GUI / навигационное тестирование | Это тестирование проводится для проверки аспектов навигации или графического интерфейса внешних отчетов. |
Как создать ETL Test Case
ETL-тестирование — это концепция, которая может применяться к различным инструментам и базам данных в индустрии управления информацией. Целью тестирования ETL является обеспечение точности данных, которые были загружены из источника в место назначения после преобразования бизнеса. Это также включает проверку данных на различных промежуточных этапах, которые используются между источником и местом назначения.
При выполнении тестирования ETL два документа, которые всегда будут использоваться тестером ETL:
- Листы отображения ETL: Листы отображения ETL содержат всю информацию о таблицах источника и назначения, включая каждый столбец и их поиск в справочных таблицах. Тестировщики ETL должны быть знакомы с запросами SQL, поскольку тестирование ETL может включать в себя написание больших запросов с несколькими объединениями для проверки данных на любом этапе ETL. Таблицы ETL предоставляют значительную помощь при написании запросов для проверки данных.
- Схема БД Источника, Цель: Следует иметь под рукой возможность проверять любые детали в таблицах соответствия.
ETL Тестовые сценарии и тестовые случаи
Тестовый сценарий | Тестовые случаи |
---|---|
Валидация документирования документов | Проверьте соответствие документации, если предоставлена соответствующая информация ETL или нет. Журнал изменений должен храниться в каждом документе. |
Проверка |
|
Проверка ограничений | Убедитесь, что ограничения определены для конкретной таблицы, как и ожидалось |
Проблемы согласованности данных |
|
Проблемы полноты |
|
Проблемы с правильностью |
|
преобразование | преобразование |
Качество данных |
|
Null Validate | Проверьте нулевые значения, где «Не пусто» указано для конкретного столбца. |
Дубликат Чек |
|
Проверка даты | Значения даты используют много областей в разработке ETL для
|
Полная проверка данных |
|
Чистота данных | Ненужные столбцы следует удалить перед загрузкой в область подготовки. |
Типы ошибок ETL
Тип ошибок |
Описание |
---|---|
Ошибки интерфейса пользователя / косметические ошибки |
|
Ошибка, связанная с анализом граничных значений (BVA) |
|
Ошибка, связанная с разделением классов эквивалентности (ECP) |
|
Ошибки ввода / вывода |
|
Расчет ошибок |
|
Ошибки условия загрузки |
|
Ошибки гонки |
|
Ошибки контроля версий |
|
H / W ошибки |
|
Помощь Источник ошибок |
|
Разница между тестированием базы данных и тестированием ETL
Тестирование ETL | Тестирование базы данных |
---|---|
Проверяет, были ли данные перемещены должным образом | Основная цель — проверить, соответствуют ли данные правилам / стандартам, определенным в модели данных. |
Проверяет, совпадают ли значения в источнике и цели. Проверяет, соответствуют ли преобразованные данные ожиданиям. | Убедитесь, что нет записей о потерянных объектах и поддерживаются отношения с первичным ключом |
Проверяет, что отношения первичного внешнего ключа сохраняются во время ETL | Проверяет, что нет избыточных таблиц и база данных оптимально нормализована |
Проверяет дублирование в загруженных данных | Убедитесь, что данные отсутствуют в столбцах, где это необходимо |
Обязанности тестера ETL
Основные обязанности тестера ETL разделены на три категории
- Сценический стол / SFS или MFS
- Применена логика трансформации бизнеса
- Загрузка целевой таблицы из файла этапа или таблицы после применения преобразования.
Некоторые из обязанностей тестера ETL являются
- Тестирование программного обеспечения ETL
- Тестовые компоненты хранилища данных ETL
- Выполнить тест на основе внутренних данных
- Создание, проектирование и выполнение тестовых примеров, планов тестирования и проводки испытаний
- Определите проблему и предоставьте решения для потенциальных проблем
- Утвердить требования и проектные спецификации
- Передача данных и проверка плоского файла
- Написание SQL-запросов3 для различных сценариев, таких как проверка количества
Тестирование и настройка производительности ETL
ETL Performance Testing — это тест для подтверждения того, что система ETL может справиться с нагрузкой нескольких пользователей и транзакций. Целью настройки производительности является оптимизация производительности сеанса путем устранения узких мест в производительности. Чтобы настроить или улучшить производительность сеанса, вы должны определить узкие места производительности и устранить их. Узкие места производительности можно найти в исходной и целевой базах данных, в сопоставлении, сеансе и системе. Одним из лучших инструментов, используемых для тестирования производительности, является Informatica.
Автоматизация тестирования ETL
Общая методология тестирования ETL заключается в использовании сценариев SQL или «визуализации» данных. Эти подходы к тестированию ETL отнимают много времени, подвержены ошибкам и редко обеспечивают полное покрытие тестами. Для ускорения, улучшения охвата, снижения затрат, улучшения коэффициента обнаружения дефектов в тестировании ETL в производственных средах и средах разработки требуется автоматизация. Одним из таких инструментов является Informatica.
Лучшие практики для тестирования ETL
- Убедитесь, что данные преобразованы правильно
- Без потери данных и усечения прогнозируемые данные должны быть загружены в хранилище данных
- Убедитесь, что приложение ETL надлежащим образом отклоняет и заменяет значения по умолчанию и сообщает о неверных данных
- Необходимо убедиться, что данные загружены в хранилище данных в установленные и ожидаемые сроки для подтверждения масштабируемости и производительности.
- Все методы должны иметь соответствующие модульные тесты независимо от видимости
- Для измерения их эффективности все модульные тесты должны использовать соответствующие методы покрытия
- Стремитесь к одному утверждению на каждый тест
- Создать модульные тесты, предназначенные для исключений
Checkout — ETL Testing Интервью Вопросы и ответы