BI – системы - это системы для получения, обработки данных и предоставления их в виде, удобном для анализа. Задача системы Business Intelligence – помочь бизнесу в принятии стратегически важных решений.
Возьмем для примера интернет-магазин.
Пользователь заходит на сайт, переходит по его страницам, кладет товар в корзину. И при этом не осознает, что каждый его шаг фиксируется. Владельцы интернет-магазинов стремятся получить максимум информации о пользователе: откуда он пришел, пол и возраст, какие товары кладет в корзину, а от каких отказывается, сколько тратит на покупки, какие способы оплаты предпочитает и так далее. В систематизированном и упорядоченном виде информация предоставляется бизнес-пользователям (руководству компании, отделу маркетинга, проектным менеджерам), которые на ее основе принимают важные решения.
Как устроены bi-решения?
На рынке существует множество различных BI-технологий. Они отличаются по сложности, функциональности, но все состоят из трех блоков:
- Блок загрузки и трансформации данных;
- Блок хранения данных (DWH);
- Блок создания отчетности и визуализации данных.
Источником данных могут служить JSON-файлы, которые содержат информацию с сервера в текстовом виде. Это очень удобный формат предоставления данных о поведении пользователя на сайте, например. Также входная информация может быть получена от самих сотрудников магазинов: карточки с описанием товаров, розничная цена и т.д. Еще одним источником информации могут быть маркетинговые исследования.
Стадии системного тестирования dwh/bi-
Естественно, что принятие верного решения на основе полученных данных возможно лишь при условии, что полученные данные не содержат ошибок. Убедиться в этом помогут инженеры по тестированию.
Стадия 1: проверка процесса etl
Процесс ETL – процесс извлечения, трансформации и загрузки данных (от англ. Extract, Transform, Load). Одной из задач инженера по тестированию является проверка правильности поступления, отображения и выдача информации.
Чем поможет тестирование?
1. Убедиться, что данные не потерялись.
Потеря данных может происходить на нескольких этапах:
- На сайте. Например, пользователь зашел на сайт, совершил покупку, но информации об этом не поступило.
- Между сайтом и хранилищем. До поступления в хранилище информация может храниться в необработанном виде облачном хранилище, например, S3 от Amazon.
- Внутри DWH при переносе информации между различными уровнями.
2. Проверить соответствие ключа и значения в полученных файлах.
Несоответствие ключа и значения приведет к тому, что данные не смогут быть обработаны системой. Объем потерянных данных может быть очень большим.
3. Проверить правильность фиксации параметров обработки сессии пользователя: начало и конец сессии, длительность сессии, данные о пользователе, данные о его активности в течение сессии.
4. Проверить правильность использования sql-функций.
Например, на одном из проектов встретился такой дефект. Функция DATEDIFF считывала только часы. Так, сессия пользователя длилась 11 минут, а функция округляла время до часа.
5. Проверить правильность расчетов.
В данной таблице в первом столбце содержится сумма активностей пользователя за одну сессию. Далее в столбцах активности разбиты по группам. Естественно, сумма должны быть рассчитана верно. Но это не всегда так. Обнаружить такого рода дефект – задача тестировщика.
6. Исключить дублирование информации.
Дублирование может происходить на каждом этапе работы с хранилищем: от работы с источником до последнего уровня хранилища, когда туда переносится лишняя информация. Например, пользователь купил в магазине один товар, а система создает два файла. Такие сценарии требуется исключить.
Стадия 2: тестирование отчетности
Инженер по тестированию проверит, как данные экспортируются и попадают в отчетность, а также проведет тестирование удобства пользования сгенерированными отчетами. На данном этапе также важно проверить, чтобы даты, время, валюта в отчетах (если таковые данные имеются) соответствовали целевой аудитории.
По мере развития компании объемы поступающих данных будут расти. Важно убедиться, что система сможет выдержать этот рост, а также определить пределы ее производительности.
В чем состоит сложность тестирования BI/DWH-систем?
Тема тестирования данных сложна. На сегодняшний день нет не только устоявшейся методологии тестирования, но даже понимания того, что и как тестировать. Каждый проект будет уникальным.
- Сложная бизнес-логика и архитектура BI-систем;
- Большие объемы неоднородных данных;
- Многочисленные источники данных;
- Постоянное увеличение объемов данных;
- Меняющиеся бизнес-требования.
Выбор команды по тестированию
Для эффективного тестирования процесса обработки и хранения данных тестировщик должен:
- иметь четкое представление о том, как организован процесс поступления данных и их хранения;
- обладать опытом работы с базами данных;
- понимать логику процесса ETL;
- уметь работать с динамичными требованиями к продукту;
- уметь общаться с бизнес-пользователями на их языке.
Кроме того, большим преимуществом будет, если команда сможет принять участие в
разработке требований к будущему решению. Это поможет снизить количество доработок на поздних этапах разработки.
Своевременное тестирование хранилища данных и учет особенностей BI-систем профессионалами поможет гарантировать целостность и корректность анализируемых данных, на основе которых вы примете верное и эффективное для вашего бизнеса решение.
Нужна помощь?
Закажите бесплатную консультацию специалистов в компании «Точка качества». Наши эксперты более подробно расскажут, что такое системное тестирование и что такое обеспеечние качество в тестировании ПО.