27.07.2016

Использование механизма автоматического встраивания «Тест-центра» 2.0.17

На практике часто возникает необходимость проверки новых версий конфигураций на нагрузочных тестах.
Решение задачи нагрузочного тестирования обычно распадается на несколько этапов:

Этап подготовки к тестированию обычно выполняется: 

 

Предложенная модель организации тестирования учитывает необходимость быстрой проверки частых модификаций разрабатываемой конфигурации.

При условии частой модификации разрабатываемой конфигурации возникает задача: как можно быстрее и чаще выполнять тестирование решения без необходимости ручного перевстраивания тестов и сценариев.

Решение этой задачи позволяет максимально быстро отслеживать, какие именно изменения могли привести к ухудшению между версиями конфигурации, как следствие максимально быстро реагировать на возникающие проблемы качества продукта.

Текущая инструкция указывает, как технически решить проблему быстрого встраивания и обновления конфигурации на новую версию с сохранением тестовых сценариев и кода тестов на встроенном языке без потери качества тестирования.

 

Для понимания общей картины ниже приводится карта организации периодического тестирования новых версий конфигураций.

До недавнего времени задача переноса разработанных нагрузочных тестов в информационные базы новых версий решалась вручную. Но сейчас появился механизм, который позволяет настроить автоматическое встраивание «Тест-центра» и тестовых обработок в информационные базы. Этот механизм реализован в подсистеме «Инструменты встраивания «Тест-центра» и состоит из двух обработок — «ВыгрузкаЗагрузкаДанныхXML» и «ПомощникВстраиванияТестЦентра».
Для демонстрации настройки механизма автоматического встраивания «Тест-центра» нам понадобится тестовая информационная база со встроенным «Тест-центром», начальными тестовыми данными и обработками. При подготовке данной инструкции в качестве демонстрационного примера использовалась конфигурация Управление торговлей, редакция 11.2 (11.2.3.66), со встроенным «Тест-центром» версии 2.0.17.
 
Для использования механизма встраивания «Тест-центра» нам нужно выполнить следующие действия:
  1. Подготовить выгрузку данных конфигурации «Тест-центр» с помощью обработки «Выгрузка и загрузка данных XML» (обработка входит в подсистему «Инструменты встраивания «Тест-центра»).
  2. Подготовить выгрузку файлов метаданных тестовой информационной базы (эта выгрузка также будет включать описание метаданных «Тест-центра»).
  3. Создать тестовую информационную базу без «Тест-центра», которую мы сможем использовать для автоматического обновления на новые версии конфигурации, автоматического встраивания «Тест-центра» и запуска нагрузочных тестов.
Рассмотрим перечисленные действия подробнее.

Подготовка выгрузки данных конфигурации «Тест-центр»

Откроем обработку «Выгрузка и загрузка данных 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.

Обработка имеет следующие поля:

  1. Каталог файлов конфигурации «Тест-центр» — содержит файлы выгрузки метаданных конфигурации, содержащей «Тест-центр», является обязательным параметром. Выгрузку файлов можно осуществить с помощью конфигуратора, выполнив команду «Выгрузить конфигурацию в файлы...» меню «Конфигурация», или запустив конфигуратор в пакетном режиме с ключом "/DumpConfigToFiles <каталог выгрузки> -format Plain" (при использовании платформы версии 8.3.6 ключ "-format Plain" указывать не нужно).
  2. Каталог файлов целевой конфигурации — содержит файлы выгрузки метаданных целевой конфигурации, является обязательным параметром. Саму выгрузку подготавливать не нужно, если взведен флаг «Обновить каталог файлов целевой конфигурации».
  3. Применить изменения к информационной базе — указывает, что после встраивания «Тест-центра» в файлы целевой конфигурации необходимо загрузить полученную конфигурацию в целевую информационную базу.
  4. Каталог конфигуратора и клиента — содержит исполняемые файлы конфигуратора и тонкого клиента, указание не обязательно. Если поле не заполнено, используется каталог файлов программы.
  5. Версия платформы 8.3.7 и выше — указывает, что версия платформы, которая будет использоваться при встраивании «Тест-центра», имеет версию 8.3.7 или выше. Это поле недоступно, если не указан каталог конфигуратора и клиента, в этом случае версия платформы будет определена автоматически.
  6. Сервер предприятия — имя сервера «1С:Предприятие», на котором размещена целевая информационная база. Является обязательным полем только в случае, если установлен флаг "Применить изменения к информационной базе".
  7. Имя информационной базы — указывает имя информационной базы, в которую будет встроен «Тест-центр». Является обязательным полем только в случае, если установлен флаг "Применить изменения к информационной базе".
  8. Логин ИБ — имя пользователя целевой информационной базы.
  9. Пароль ИБ — пароль пользователя целевой информационной базы.
  10. Обновить каталог целевой конфигурации — указывает, что перед встраиванием «Тест-центра» конфигурация целевой информационной базы будет выгружена в файлы в каталог, указанный в поле "Каталог файлов целевой конфигурации".
  11. Файл данных «Тест-центра» — указывает файл выгрузки данных «Тест-центра», полученный с помощью универсальной обработки "Выгрузка и загрузка данных XML". Заполнение поля необязательно.
  12. Выгрузить информационную базу в 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С:Предприятие» и имеет следующую структуру:

  1. Merge; — ключевое слово, указывающее, что необходимо выполнить встраивание «Тест-центра» в целевую информационную базу.
  2. TCCatalog=<Каталог файлов Тест-центра>; — задает каталог с выгруженными файлами конфигурации «Тест-центр», является обязательным элементом. Выгрузку файлов можно осуществить с помощью конфигуратора, выполнив команду "Выгрузить конфигурацию в файлы..." меню "Конфигурация", или запустив конфигуратор в пакетном режиме с ключом "/DumpConfigToFiles <каталог выгрузки>".
  3. TCDataFile=<Полный путь к файлу данных Тест-центра>; — задает файл выгрузки данных «Тест-центра», полученный с помощью универсальной обработки "Выгрузка и загрузка данных XML". Этот элемент необязателен.
  4. CfCatalog=<Каталог файлов целевой конфигурации>; — задает каталог с файлами целевой конфигурации, является обязательным элементом. Выгрузку файлов можно осуществить с помощью конфигуратора, выполнив команду "Выгрузить конфигурацию в файлы..." меню "Конфигурация", или запустив конфигуратор в пакетном режиме с ключом "/DumpConfigToFiles <каталог выгрузки>".
  5. ClientsPath=<Каталог файлов конфигуратора и тонкого клиента>; — задает каталог, где размещаются файлы тонкого и толстого клиентов.
  6. V837AndOlder=<0 или 1>; — указывает, что версия платформы, которая будет использоваться при встраивании «Тест-центра», имеет версию 8.3.7 или выше. Это поле не имеет смысла, если не указан каталог конфигуратора и клиента, в этом случае версия платформы будет определена автоматически.
  7. RefreshFiles=<0 или 1>; — значение "1" указывает, что перед встраиванием «Тест-центра» конфигурация целевой информационной базы будет выгружена в файлы в каталог, указанный в поле "Каталог файлов целевой конфигурации".
  8. Server=<Имя сервера 1С:Предприятие>; — задает имя сервера «1С:Предприятие», на котором размещена целевая информационная база.
  9. IBName=<Имя целевой информационной базы>; — задает имя информационной базы, в которую будет встроен «Тест-центр».
  10. Login=<Имя пользователя целевой информационной базы>; — имя пользователя целевой информационной базы.
  11. Pwd=<Пароль пользователя>; — пароль пользователя целевой информационной базы.
  12. ResultDt=<dt-файл выгрузки целевой ИБ>; — задает полное имя dt-файла, в который будет выгружена информационная база после встраивания «Тест-центра». Этот элемент необязателен.
  13. Result=<Полное имя текстового файла результата>; — задает имя текстового файла, в который запишется строка «Ok» в случае, если встраивание завершится успешно. В случае ошибок файл будет содержать строку «Failed».

Все информационные сообщения и сообщения об ошибках записываются в журнал регистрации ИБ, в контексте которой выполняется обработка встраивания «Тест-центра».

Сформированную выгрузку информационной базы со встроенным «Тест-центром» можно использоваться для проведения нагрузочного теста.

При необходимости процесс можно итеративно повторять автоматически множество раз.