Наверняка кто-то из опытных уже делал тестирование обмена между двумя базами в обе стороны (Центр-Периферия и Периферия-Центр). У нас тут много идей сгенерировалось, но у всех есть недостатки. Может кто-нибудь расскажет в двух словах как вы делаете у себя?
Тестирование обмена
Делись безумными идеями, у которых есть недостатки.
У меня допустим 2 вида обмена: переферия-центр и обмен по правилам.
Отдельно пишу тесты, на проверку регистрации документов в необходимых планах обмена.
Отдельно в jenkins есть 2 задачи, первая регистрирует документы в “центре”, запускает обмен, после обновления, принимает в перефирии данные, запускает скрипт по обновлению переферии и проверяет, что обмен прошел и потом еще проверка, что в центр вернулась обратка.
Не хватает регистрации документов в переферии и потом обратной выгрузки в центр.
По правилам немного сложнее, пришлось доработать конфигурацию конвертации, что-бы она могла в пакетном режиме обновить метаданные, потом я запускаю обработку, по копированию правил, обновляю реквизиты и сохраняю правила обмена. И повторяю процедуру как центр-переферия, только уже по другому плану обмена и по другим “ключевым” данным.
Мне больше интересны детали как и что выгружается и как затем сравнивается с эталоном.
Пока мы пришли примерно к такому плану:
- Есть некая наполненная база-центр (БЦ). В ней запускаем по всем объектам метаданных, участвующих в обмене, выборку первых 1/2/10 элементов. И именно их пускаем на выгрузку.
- В Базе-периферии (БП) принимаем файлы.
- По ОЛЕ из БП подключаемся к БЦ и сравниваем список объектов из п.1. У справочников ключ=код+наименование+[владелец+родитель], у документов=дата+номер.
Добрый день!
Есть ли какие-либо ещё подходы к решению этой задачи? Пытаюсь придумать, как бы это сделать правильно.
Цель: проверить, что после обновлений не сломались обмены по правилам между 4мя конфигурациями. Хочется, чтобы у меня создавался тестовый набор данный в базе источника и после выполнения обмена было сравнение данных с эталоном в базе приемнике.
Пока ничего умнее не могу придумать, как в тестовой обработке хранить некий макет эталонных данных, программно:
- Создавать данные в базе источнике (через макеты данных)
- Выполнять выгрузку данных в файл обмена
- Через СОМ подключаться к другой базе и загружать полученный файл обмена
- Выгружать данные в макет и сравнивать с эталоном из обработки проверки.
Либо есть более простой путь для выполнения этой задачи?
Может это задача двух разных проверок? А именно: проверять, что после выгрузки формируется “эталонный” файл выгрузки данных и в другой системе проверка, что она загружает файл обмена, который в результате дает ожидаемые данные в системе. Но тут получается, что нужно будет при каждом обновлении файла правил обновлять эти тесты.
Или всё совсем не так?