Все метаданные, описывающие правила трансформации данных из физических источников (DWH, файлы и т.д.) в витрины (предметные области) Oracle BI, содержатся в репозитории Oracle BIServer.
Очевидно, что в ходе создания этих правил могут быть допущены ошибки. Либо в процессе доработки репозитория могут быть допущены неточности, приводящие к некорректной работе трансформаций данных. И как результат - несмотря на корректные данные в физических источниках, пользователи будут получать ошибочные данные в отчетах BI.
Данная статья описывает настройки автоматизированного тестирования репозитория метаданных BI с помощью
DBFit.
Основная идея решения по тестированию заключается в том, что по каждой предметной области репозитория BI создается пара SQL запросов:
один к BIServer (тот логический SQL запрос, который отправляет BIPresServer к BIServer; его можно увидеть на вкладке "Дополнительно" в режиме редактирования анализа BI),
другой к DWH (запрос-эталон).
Результаты выполнения запросов сравниваются и возвращается дельта. Если дельта не пустая, то тест считается проваленным.
В этой конструкции основным элементом является
Java Stored Procedure, созданная в БД Oracle (DWH) и осуществляющая доступ к BIServer по протоколу JDBC. Полученные из BIServer данные процедура записывает в global temporary table.
В дальнейшем вспомогательная PL/SQL процедура генерирует курсор, сравнивающий данные из
gtt-таблицы и результаты запроса-эталона к DWH.
DBFit же является удобным инструментом по быстрому созданию и запуску таких тестов.