1С:Предприятие 8
Система программ

Тест-центр

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

Назначение

Тест-центр предназначен для:
  • оценки производительности информационной системы или отдельных ее частей при заданных параметрах модели предприятия с целью:
    • выбора оборудования;
    • формулирования эксплуатационных требований;
    • оценки применимости информационной системы;
  • оценки масштабируемости информационной системы при изменении:
    • объема информационной базы;
    • количества одновременно работающих пользователей;
    • нагрузки на систему;
  • оценки изменения показателей производительности системы при изменении:
    • функциональности системы (доработка системы или отдельных алгоритмов);
    • конфигурации оборудования.
  • выявления проблем, возникающих только при многопользовательской работе (конфликты блокировок и т. п.).

Возможности

Основные возможности Тест-центра:
  • описание многопользовательских сценариев тестирования;
  • автоматический запуск сценариев и контроль хода их выполнения;
  • сбор, хранение и анализ результатов тестирования.

Архитектура

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

Общая схема работы

Тест-центр

В тестировании принимает участие Эксперт — человек, который программирует тестовые обработки, запускает тест, контролирует выполнение теста, просматривает и анализирует результаты тестирования.

Управляющее клиентское рабочее место, которое использует эксперт, называется Тест-центром.

Тест-центр управляет работой Виртуальных Пользователей, которые выполняют действия при помощи управляемых клиентских рабочих мест, называемых Виртуальными Рабочими Местами. Виртуальные рабочие места могут быть автоматически запущены Тест-центром или экспертом вручную на любых компьютерах в сети.

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

Виртуальные пользователи работают на основании сценария тестирования.

Структура сценария тестирования

Тест-центр

Сценарий — это описание структуры тестовой деятельности. Сценарий содержит список ролей (например, «Бухгалтер», «Менеджер по продажам», «Кассир»), каждая из которых содержит свой список тестовых действий (например «создание документов РеализацияТоваровУслуг»).

При запуске сценария Тест-центр будет автоматически воспроизводить многопользовательскую деятельность, описанную в сценарии. Для этого Тест-центр создаст необходимое количество виртуальных пользователей (в соответствии со списком ролей) и запустит выполнение действий.

Выполнение каждого действия заключается в запуске соответствующей тестовой обработки.

Тест-центр

Это означает, что каждое тестовое действие, выполняемое виртуальным пользователем, должно быть предварительно запрограммировано в виде тестовой обработки. Тестовая обработка может содержать произвольные настройки.

Тест-центр

При необходимости можно установить параметры, определяющие правила выполнения сценария.

Тест-центр

В результате выполнения тестовых действий могут быть измерены и зафиксированы числовые значения, которые затем используются для оценки производительности системы (например «среднее время записи и проведения документа»). Такие значения называются показателями производительности. Состав и назначение показателей определяются программистом тестовой обработки. По этим временам в Тест-центре вычисляются показатели APDEX и определяется успешность итераций тестов.

Тест-центр

Запуск и контроль выполнения теста

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

Тест-центр

  1. Тестовый стенд — это список виртуальных пользователей с указанием имени компьютера, пользователя и пароля для доступа к тестируемой базе.
  2. Эксперт может задать для каждого виртуального пользователя имя компьютера, имя пользователя и пароль для доступа к тестируемой базе.
  3. Тест-центр автоматически запускает необходимое количество ВРМ на указанных компьютерах и выполняет вход от имени пользователя заданного в параметрах ВП.
  4. Виртуальные пользователи считывают список действий в соответствии со своей ролью.
  5. В начале выполнения теста выполняется действие, которое можно запрограммировать. Например, для создания данных, необходимых для выполнения теста.
  6. Перед началом работы ВП, выполняются действия, которые можно запрограммировать. Например, для создания данных, необходимых для выполнения конкретного действия.
  7. Виртуальные пользователи выполняют свои действия, которые необходимо запрограммировать. При выполнении действий могут измеряться значения показателей производительности.
  8. Виртуальные пользователи записывают результаты в тестируемую базу.
  9. После выполнения работы ВП выполняются действия, которые можно запрограммировать. Например, для удаления данных, созданных во время инициализации и выполнения конкретного действия.
  10. В конце выполнения теста выполняется действие, которое можно запрограммировать. Например, для удаления данных, созданных в начале выполнения теста.

Структура результатов

Тест-центр

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

Дерево результатов имеет следующую структуру:
  • результат выполнения теста
    • результат работы виртуального пользователя
      • результат выполнения действия
Результат работы виртуального пользователя вычисляется на основании результатов выполнения всех его действий:
  • если все действия виртуального пользователя выполнены успешно, то результат работы виртуального пользователя будет «выполнено успешно»;
  • если имеется хотя бы одно действие выполненное с предупреждениями, то результат работы виртуального пользователя будет «выполнено с предупреждениями»;
  • если имеется хотя бы одно действие выполненное с ошибками, то результат работы виртуального пользователя будет «выполнено с ошибками».

Аналогичным образом, общий результат выполнения теста вычисляется на основании результатов работы всех виртуальных пользователей.

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

Тест-центр автоматически ведет протоколы запуска и выполнения всех тестов. Вы можете посмотреть историю и результаты каждого теста.

Тест-центр

Типовые сценарии для Тест-центра

В состав Тест-центра включены следующие типовые сценарии многопользовательского нагрузочного тестирования:
  • «Закупка, производство, продажа в конфигурации «Управление производственным предприятием».
  • «Продажи в конфигурации «Управление производственным предприятием».
  • «Эмуляция работы пользователей по вводу документов».
Основные задачи, решаемые при помощи сценариев, входящих в состав «Корпоративного инструментального пакета»:
  • Оценка применимости системы при заданных условиях. Каковы будут показатели производительности системы:
    • при заданных параметрах нагрузки (выполняемые бизнес-процессы, количество пользователей, интенсивность ввода документов, размеры документов и т. д.);
    • на данном оборудовании;
    • при использовании данной СУБД и т. п.;
  • Выбор оборудования. Будут ли достигнуты требуемые показатели производительности на данном оборудовании?
  • Оценка эффекта от изменения условий функционирования системы. Как изменится производительность системы при изменении любых условий функционирования системы:
    • изменения исходного кода системы (доработки функционала и т. п.);
    • изменения версий программного обеспечения (платформы, СУБД и т. п.)
    • изменение аппаратного обеспечения (покупка нового сервера, аппаратный апгрейд и т. п.);
  • Выявление проблем, которые могут проявиться только при многопользовательской работе (конфликты блокировок и т. д.). Сценарий тестирования, работающий под управлением Тест-центра, является, в данном случае «генератором», позволяющим воспроизвести эти проблемы без участия реальных пользователей. Анализ этих проблем с целью дальнейшей оптимизации осуществляется при помощи «Центра управления про-изводительностью».

Сценарий «Закупка, производство, продажа в конфигурации «Управление производственным предприятием»

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

Сценарий эмулирует интерактивную работу пользователей (открытие форм, выполнение подборов и т. п.), что позволяет оценить производительность системы с высокой степень реалистичности.

Сценарий воспроизводит работу следующих пользователей:
  • менеджер по продажам;
  • кладовщик;
  • менеджер по закупкам;
  • экономист цеха.
Структура ролей и действий сценария:
  • Менеджер по продажам:
    • Заказ покупателя:
      • создать и заполнить новый документ «Заказ покупа-теля»;
      • провести документ;
      • сформировать печатную форму «Заказ покупателя (с учетом корректировок)»;
    • Реализация товаров и услуг:
      • создать новый документ «Реализация товаров и услуг» на основании ранее созданного документа «Заказ покупателя»;
      • провести документ;
      • сформировать печатную форму «ТОРГ-12» (товарная накладная);
      • сформировать печатную форму «М-15» (накладная);
    • Счет-фактура:
      • создать новый документ «Счет-фактура» на основании ранее созданного документа «Реализация товаров и услуг;
      • провести документ;
      • сформировать печатную форму документа;
  • Кладовщик:
    • Расходный ордер на товары;
      • создать новый документ «Расходный ордер на товары»;
      • провести документ;
      • сформировать печатную форму «Расходный ордер»;
  • Менеджер по закупкам:
    • Поступление товаров и услуг:
      • создать и заполнить новый документ «Поступление товаров и услуг»;
      • провести документ;
      • сформировать печатную форму «М4 Приходный ордер»;
    • Анализ заказа на производство (если выполняется закупка материалов);
  • Экономист цеха:
    • Заказ на производство:
      • создать и заполнить новый документ «Заказ на производство»;
      • провести документ;
      • сформировать печатную форму «Заказ на производство»;
    • Отчет производства за смену:
      • создать и заполнить новый документ «Отчет производства за смену»;
      • провести документ;
      • сформировать печатную форму «МХ18 накладная на передачу готовой продукции»;
    • Требование-накладная:
      • создать и заполнить новый документ «Требование-накладная»;
      • провести документ;
      • сформировать печатную форму «Требование-накладная»;
    • Отчет производства за смену (выпуск продукции):
      • создать и заполнить новый документ «Отчет производства за смену»;
      • провести документ;
      • сформировать печатную форму «МХ18 накладная на передачу готовой продукции».
Сценарий позволяет настроить следующие параметры:
  • количество виртуальных пользователей каждой роли Тест-центра, одновременно выполняющих тест;
  • количество номенклатурных позиций в документах;
  • конкурентность данных (насколько данные разных пользователей пересекаются по набору номенклатурных позиций);
  • необходимость закупки материалов для нужд производства
  • необходимость продажи выпущенной продукции
  • виды учета документов;
  • приоритет оформления закупки (для нужд производства или независимой закупки);
  • приоритет оформления продажи (выпущенной продукции или независимых продаж).
Сценарий позволяет настроить следующие параметры:
  • полное время выполнения бизнес-процессов;
  • время проведения отдельных документов;
  • время формирования печатных форм;
  • количество ошибок, таймаутов на ожиданиях блокировки и взаимоблокировок при проведении документов.

Сценарий «Продажи в конфигурации «Управление производственным предприятием»

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

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

Во время тестирования виртуальные пользователи выполняют следующую последовательность действий:
  • Заказ покупателя:
    • создать, заполнить и провести новый документ «Заказ покупателя»;
    • сформировать печатную форму «Заказ покупателя (с учетом корректировок)»;
  • Реализация товаров и услуг:
    • создать и провести новый документ «Реализация товаров и услуг» на основании ранее созданного документа «Заказ покупателя»;
    • сформировать печатную форму «ТОРГ-12» (товарная накладная);
    • сформировать печатную форму «М-15» (накладная);
  • Счет-фактура:
    • создать и провести новый документ «Счет-фактура» на основании ранее созданного документа «Реализация товаров и услуг;
    • сформировать печатную форму документа;
  • Расходный ордер на товары:
    • создать и провести новый документ «Расходный ордер на товары»;
    • сформировать печатную форму «Расходный ордер».
Сценарий позволяет настроить следующие параметры:
  • количество виртуальных пользователей, одновременно выполняющих тест;
  • количество номенклатурных позиций в документах;
  • конкурентность данных (насколько данные разных пользователей пересекаются по набору номенклатурных позиций);
  • интерактивность работы пользователей. Сценарий позволяет эмулировать работу пользователей с формами — заполнение документов, подбор номенклатур, формирование выходных форм и т. д.
Сценарий позволяет оценить значения следующих показателей производительности:
  • полное время выполнения всего бизнес-процесса «Продажи»
  • время проведения каждого отдельного документа:
  • время формирования каждой выходной формы

Универсальный сценарий «Эмуляция работы пользователей по вводу документов»

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

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

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