27.07.2016
Использование механизма автоматического встраивания «Тест-центра» 2.0.17
На практике часто возникает необходимость проверки новых версий конфигураций на нагрузочных тестах.
Решение задачи нагрузочного тестирования обычно распадается на несколько этапов:
- этап подготовки к тестированию;
- этап тестирования;
- этап анализа результатов.
Этап подготовки к тестированию обычно выполняется:
- при первичной подготовке тестирования,
- при модификации тестируемой системы,
- подготовке новых тестов,
- при создании / модификации наполнения тестируемой информационной базы.
Предложенная модель организации тестирования учитывает необходимость быстрой проверки частых модификаций разрабатываемой конфигурации.
При условии частой модификации разрабатываемой конфигурации возникает задача: как можно быстрее и чаще выполнять тестирование решения без необходимости ручного перевстраивания тестов и сценариев.
Решение этой задачи позволяет максимально быстро отслеживать, какие именно изменения могли привести к ухудшению между версиями конфигурации, как следствие максимально быстро реагировать на возникающие проблемы качества продукта.
Текущая инструкция указывает, как технически решить проблему быстрого встраивания и обновления конфигурации на новую версию с сохранением тестовых сценариев и кода тестов на встроенном языке без потери качества тестирования.
Для понимания общей картины ниже приводится карта организации периодического тестирования новых версий конфигураций.
До недавнего времени задача переноса разработанных нагрузочных тестов в информационные базы новых версий решалась вручную. Но сейчас появился механизм, который позволяет настроить автоматическое встраивание «Тест-центра» и тестовых обработок в информационные базы. Этот механизм реализован в подсистеме «Инструменты встраивания «Тест-центра» и состоит из двух обработок — «ВыгрузкаЗагрузкаДанныхXML» и «ПомощникВстраиванияТестЦентра».
Для демонстрации настройки механизма автоматического встраивания «Тест-центра» нам понадобится тестовая информационная база со встроенным «Тест-центром», начальными тестовыми данными и обработками. При подготовке данной инструкции в качестве демонстрационного примера использовалась конфигурация Управление торговлей, редакция 11.2 (11.2.3.66), со встроенным «Тест-центром» версии 2.0.17.
Для использования механизма встраивания «Тест-центра» нам нужно выполнить следующие действия:
- Подготовить выгрузку данных конфигурации «Тест-центр» с помощью обработки «Выгрузка и загрузка данных XML» (обработка входит в подсистему «Инструменты встраивания «Тест-центра»).
- Подготовить выгрузку файлов метаданных тестовой информационной базы (эта выгрузка также будет включать описание метаданных «Тест-центра»).
- Создать тестовую информационную базу без «Тест-центра», которую мы сможем использовать для автоматического обновления на новые версии конфигурации, автоматического встраивания «Тест-центра» и запуска нагрузочных тестов.
Рассмотрим перечисленные действия подробнее.
Подготовка выгрузки данных конфигурации «Тест-центр»
Откроем обработку «Выгрузка и загрузка данных XML» в тестовой информационной базе и отметим для выгрузки следующие объект подсистемы «ТестЦентр»:
- Константу «ТЦИнтревалОпросаУправленияТестированием»:
- Справочники:
- «ТЦКлиенты»
- «ТЦКомпьютеры»
- «ТЦОбработки»
- «ТЦПользователи»
- «ТЦРоли»
- «ТЦСценарии»
- Регистры сведений «ТЦИдентификаторыКлоновИБ» и «ТЦНастройкиВП»
Сохраним данные отмеченных объектов в файл, например в «C:\TC_Dump\TC_Data.xml»:
Подготовка выгрузки файлов метаданных тестовой информационной базы
Откроем тестовую информационную базу в «Конфигураторе», выполним команду «Конфигурация ? Выгрузить конфигурация в файлы…»:
Если вы используете платформу версии 8.3.7 или выше, то в диалоге настройки выгрузки необходимо указать линейный формат выгрузки. В поле «Каталог» укажем «C:\TC_Dump\TC_XML»:
Таким образом, мы создали выгрузку метаданных тестовой информационной базы, которая будет использоваться при встраивании «Тест-центра» в тестовые информационные базы новых версий.
Создание «начальной» тестовой информационной базы
Чтобы получить начальную выгрузку тестовой информационной базы, которая пригодна для автоматического обновления на новые версии, загрузим в нашу тестовую ИБ конфигурацию базы данных, которая была до встраивания «Тест-центра»:
Полученную информационную базу мы сможем автоматически обновлять на новые версии конфигурации.
Запуск механизма автоматического встраивания «Тест-центра»
Чтобы встроить «Тест-центр» в информационную базу, необходимо настроить и выполнить обработку «Помощник встраивания «Тест-центра». Данная обработка может выполняться в интерактивном режиме или запускаться с командной строки. Примечание: для обработки «Помощник встраивания «Тест-центра» необходимо включить режимы использования модальности и использования синхронных вызовов в информационной базе, в которой будет выполняться обработка.
Приведем пример настройки обработки в интерактивном режиме:
Данная обработка встроит конфигурацию «Тест-центр» в информационную базу «TradeTestDemo», расположенную на сервере «1С:Предприятие» Server1C. Метаданные «Тест-центра» будут взяты из файлов выгрузки в каталоге C:\TC_Dump\TC_XML, данные «Тест-центра» будут загружены из файла C:\TC_Dump\TC_Data.xml. Полученная тестовая информационная база будет выгружена в файл C:\TC_Dump\TradeDemoWithTCAuto.dt.
Обработка имеет следующие поля:
- Каталог файлов конфигурации «Тест-центр» — содержит файлы выгрузки метаданных конфигурации, содержащей «Тест-центр», является обязательным параметром. Выгрузку файлов можно осуществить с помощью конфигуратора, выполнив команду «Выгрузить конфигурацию в файлы...» меню «Конфигурация», или запустив конфигуратор в пакетном режиме с ключом "/DumpConfigToFiles <каталог выгрузки> -format Plain" (при использовании платформы версии 8.3.6 ключ "-format Plain" указывать не нужно).
- Каталог файлов целевой конфигурации — содержит файлы выгрузки метаданных целевой конфигурации, является обязательным параметром. Саму выгрузку подготавливать не нужно, если взведен флаг «Обновить каталог файлов целевой конфигурации».
- Применить изменения к информационной базе — указывает, что после встраивания «Тест-центра» в файлы целевой конфигурации необходимо загрузить полученную конфигурацию в целевую информационную базу.
- Каталог конфигуратора и клиента — содержит исполняемые файлы конфигуратора и тонкого клиента, указание не обязательно. Если поле не заполнено, используется каталог файлов программы.
- Версия платформы 8.3.7 и выше — указывает, что версия платформы, которая будет использоваться при встраивании «Тест-центра», имеет версию 8.3.7 или выше. Это поле недоступно, если не указан каталог конфигуратора и клиента, в этом случае версия платформы будет определена автоматически.
- Сервер предприятия — имя сервера «1С:Предприятие», на котором размещена целевая информационная база. Является обязательным полем только в случае, если установлен флаг "Применить изменения к информационной базе".
- Имя информационной базы — указывает имя информационной базы, в которую будет встроен «Тест-центр». Является обязательным полем только в случае, если установлен флаг "Применить изменения к информационной базе".
- Логин ИБ — имя пользователя целевой информационной базы.
- Пароль ИБ — пароль пользователя целевой информационной базы.
- Обновить каталог целевой конфигурации — указывает, что перед встраиванием «Тест-центра» конфигурация целевой информационной базы будет выгружена в файлы в каталог, указанный в поле "Каталог файлов целевой конфигурации".
- Файл данных «Тест-центра» — указывает файл выгрузки данных «Тест-центра», полученный с помощью универсальной обработки "Выгрузка и загрузка данных XML". Заполнение поля необязательно.
- Выгрузить информационную базу в dt-файл — полное имя dt-файла, в который будет выгружена информационная база после встраивания «Тест-центра». Заполнение поля необязательно.
Приведем пример команды, которая запускает обработку «Помощник встраивания «Тест-центра» и встраивает «Тест-центр» в информационную базу «TradeTestDemo» (все параметры аналогичны тем, которые приводились в примере интерактивной настройки):
"C:\Platform\x32\Current\1cv8c.exe" /IBConnectionString File="C:\TC_Dump\MergeRunner"; /N "" /P "" /Execute "C:\TC_Dump\ПомощникВстраиванияТестЦентра.epf" /C "Merge;TCCatalog=C:\TC_Dump\TC_XML;TCDataFile=C:\TC_Dump\TC_Data.xml;CfCatalog=C:\TC_Dump\Target_XML;RefreshFiles=1;Server=Server1C;IBName=TradeTestDemo;Login=Администратор (ОрловАВ);Pwd=;ResultDt=C:\TC_Dump\TradeDemoWithTCAuto.dt;Result=C:\TC_Dump\Result.txt"
Строка параметров обработки указывается после ключа /C в строке запуска клиента «1С:Предприятие» и имеет следующую структуру:
- Merge; — ключевое слово, указывающее, что необходимо выполнить встраивание «Тест-центра» в целевую информационную базу.
- TCCatalog=<Каталог файлов Тест-центра>; — задает каталог с выгруженными файлами конфигурации «Тест-центр», является обязательным элементом. Выгрузку файлов можно осуществить с помощью конфигуратора, выполнив команду "Выгрузить конфигурацию в файлы..." меню "Конфигурация", или запустив конфигуратор в пакетном режиме с ключом "/DumpConfigToFiles <каталог выгрузки>".
- TCDataFile=<Полный путь к файлу данных Тест-центра>; — задает файл выгрузки данных «Тест-центра», полученный с помощью универсальной обработки "Выгрузка и загрузка данных XML". Этот элемент необязателен.
- CfCatalog=<Каталог файлов целевой конфигурации>; — задает каталог с файлами целевой конфигурации, является обязательным элементом. Выгрузку файлов можно осуществить с помощью конфигуратора, выполнив команду "Выгрузить конфигурацию в файлы..." меню "Конфигурация", или запустив конфигуратор в пакетном режиме с ключом "/DumpConfigToFiles <каталог выгрузки>".
- ClientsPath=<Каталог файлов конфигуратора и тонкого клиента>; — задает каталог, где размещаются файлы тонкого и толстого клиентов.
- V837AndOlder=<0 или 1>; — указывает, что версия платформы, которая будет использоваться при встраивании «Тест-центра», имеет версию 8.3.7 или выше. Это поле не имеет смысла, если не указан каталог конфигуратора и клиента, в этом случае версия платформы будет определена автоматически.
- RefreshFiles=<0 или 1>; — значение "1" указывает, что перед встраиванием «Тест-центра» конфигурация целевой информационной базы будет выгружена в файлы в каталог, указанный в поле "Каталог файлов целевой конфигурации".
- Server=<Имя сервера 1С:Предприятие>; — задает имя сервера «1С:Предприятие», на котором размещена целевая информационная база.
- IBName=<Имя целевой информационной базы>; — задает имя информационной базы, в которую будет встроен «Тест-центр».
- Login=<Имя пользователя целевой информационной базы>; — имя пользователя целевой информационной базы.
- Pwd=<Пароль пользователя>; — пароль пользователя целевой информационной базы.
- ResultDt=<dt-файл выгрузки целевой ИБ>; — задает полное имя dt-файла, в который будет выгружена информационная база после встраивания «Тест-центра». Этот элемент необязателен.
- Result=<Полное имя текстового файла результата>; — задает имя текстового файла, в который запишется строка «Ok» в случае, если встраивание завершится успешно. В случае ошибок файл будет содержать строку «Failed».
Все информационные сообщения и сообщения об ошибках записываются в журнал регистрации ИБ, в контексте которой выполняется обработка встраивания «Тест-центра».
Сформированную выгрузку информационной базы со встроенным «Тест-центром» можно использоваться для проведения нагрузочного теста.
При необходимости процесс можно итеративно повторять автоматически множество раз.