Тестирование: пример создания сценарного UI теста для платформы 1С

Публикация № 813062

Разработка - Инструментарий разработчика

Тестирование Сценарные тесты UI тест

В этой статье мы расскажем, как создать сценарный UI-тест. Опишем последовательность действий и покажем, как это сделать с использованием инструментария. Рассмотрим пример, максимально приближенный к боевому, покажем на примере конфигураций УТ11/ERP проверку бизнес-процесса "Продажа". Вы сможете убедиться, что создание сценарных тестов для платформы 1С на самом деле относительно быстрый и простой процесс.

В предыдущей статье мы рассматривали вопрос практического создания юнит тестов с использованием Фреймворка xUnitFor1C (Тестирование: пример из семи шагов создания Unit-теста для платформы 1С), а сейчас переходим к следующей теме в рамках автоматизации тестирования – «практическое создание сценарных UI тестов».

Зачем это нужно?

Автоматические GUI тесты (или сценарные UI тесты) – один из самых дорогих видов автоматизации тестирования. Они имитируют действия пользователей, тем самым служат для проверки функционала, который будет использоваться. Таким образом наличие подобных тестов при доработке или разработке продуктов имеет высокую ценность с точки зрения качества продукта.

В предлагаемом подходе мы акцентировали внимание на снижении сложности разработки подобных тестов и соответственно стоимости затрат на их внедрение и дальнейшее использование в эксплуатации.

В предлагаемой статье информация разбита на две основные части – это теоретическое описание и демонстрация создания на примере. Во второй части содержатся сразу видео уроки, состоящие из шести частей по 4-5 минут каждая. 

Уровень пользователя для создания сценарных тестов   - наличие понятия функционирования прикладного решения, и обзорные знания по инструменту – «Менеджер сценарного UI теста».

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

Исходные условия:

  • Тестируемая конфигурация 1С: УТ 11 (проверялось на версиях: 11.3.3.205) или ERP 2 (проверялось на версиях: 2.2.4.81, 2.4.1.215, 2.4.3.137).
  • Покрываемый тестами функционал: Бизнес процесс продажи на ордерном складе по 100% предоплате.
  • API: 1С Автоматизированное тестирование.
  • Инструмент: «Менеджер сценарного UI теста».
  • (Опционально) Просмотр результатов тестирования/запуск: Конфигурация «Тестирование 3.0».

Постановка задачи:

  • Мы должны создать автоматический GUI тест, покрывающий функциональность системы при выполнении процесса продажи.
  • Тест должен обеспечивать гибкость изменения параметров (быть параметризированным): Организация, Клиент, Склад, Товар, Услуга.
  • Тест должен позволять многократный запуск на системе без отката базы на первоначальные условия.
  • Тест должен учитывать модульность построения (возможность многократно использовать одинаковые/повторяющиеся действия).
  • Тест должен позволять выполнить проверку функционала под разными правами/ролями.
  • Тест выполняет проверку корректности работы с правильными данными (мы не проверяем срабатывание блокировок остатков и др. это пусть происходит в юните тестах, но если хотите то можете закладываться на это)

Описание процесса:

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

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

В результате у нас должен получиться набор из блоков отражающих создание документов (см. рис. выше) "Коммерческое предложение" (1), "Заказ клиента" (2), "Поступление безналичных денежных средств" (3.2), "Расходный ордер" (4.2), "Реализация товаров и услуг" (5) и действий с ними "Печать счета на оплату" (3.1), "Отгрузка Заказа клиента" (4.1),  "Закрытие заказа клиента"(6*) .

Нам предстоит практическая часть - запись сценариев для каждого блока, простановка параметров и финальная сборка в единый целый тест. Об этом видео ниже, но вы можете перепрыгнуть и перейти непосредственно к готовому примеру в приложении. 

Основными внешними параметрами для сценария будут: Клиент, Организация, Склад, Товар и Услуга; основными внутренними параметрами будут: Номер коммерческого предложения и номер заказа клиента.  По входящему номеру коммерческого предложения будет создаваться заказ клиента, а в рамках номера заказа клиента будут создаваться все остальные документы.

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

Практические видео уроки:

 
 Введение. Постановка задачи и описание бизнес процесса, проверяемого тестом (2 мин)
 
 Блок 1. Создание создания КП (6 мин)
 
 Блок 2. Создание создания ЗК на основании КП (~4 мин)
 
 Блок 3.1 и 3.2. Печать счета на оплату и оформление оплаты клиента (~9 мин)
 
 Блок 4.1. Отгрузка. Отгрузка заказа клиента  (~4 мин)
 
 Блок 4.2. Отгрузка. Создание расходного ордера  (~4 мин)
 
 Блок 5. Создание реализации товаров и услуг  (~3 мин)
 
 Блок 6. Закрытие заказа клиента  (~1 мин)
 
 Завершение. Создаем итоговый сценарий "Процесс продажи"  (~3 мин)

Как запустить пример?

  1. Скачиваем обработку "Менеджер сценарного UI теста" и архив со сценарными тестами из приложения (менеджер можно найти на GIT HUB по ссылке ниже).
  2. Распаковываем архив со сценарными тестами в произвольную директорию на диск (должно получиться две папки "Готовые сценарии" и "Блоки сценариев").
  3. Запускаем предприятие 1С в режиме TESTMANAGER. Пропишите в строке запуска ярлыка (/TESTMANAGER) или можете перейти во вкладку настройки и нажать кнопку "ЗАпустить базу по умолчанию как менеджер тестирования".
  4. Указываем настройки. Открываем обработку в предприятии и переходим во вкладку настройки и указываем: 
    а) Вкладка "Параметры работы редактора" пути "Путь к каталогу сценариев (готовые тесты)" (это "Готовые сценарии") и "Путь к каталогу библиотеки сценариев" (это "Блоки сценариев")
    б) Вкладка "Настройки подключения по умолчанию (к предприятию 1С)" параметры подключения к тестируемому клиенту: "Файловая база" (если файловая ставим флаг), "Путь подключения клиента тестирования" (обычно это выглядит так "сервер 1c:1541/ERP_demo"), "Пользователь 1С" и "Пароль 1С", "Путь к исполняемому файлу 1С".
  5. Загружаем тест. Перейти на вкладку "Сохранение/Загрузка" и указать путь к файлу сценария "БП Продажи.xml" и жмем кнопку "Загрузить сценарий".
  6. Запускаем тест. Откроется вкладка "Дерево сценария", на ней жмем кнопку "Запустить клиента/ов тестирования" и далее кнопку "Пуск" (бегущий человечек).
  7. Наблюдаем за ходом выполнения.

Дополнительно:

  • В приложении находится обработка "менеджер сценарного UI Теста" и файлы скрипты проекта (xml).
  •  
    Командная строка для запуска сценарного теста.
  • Оптимально настраивать сценарий под определенную целевую базу.
  • При запуске теста убедитесь, что отключены или выполнены глобальные всплывающие настройки "Настройка проверки контрагентов" и др., т.к. они могут прервать выполнение теста.
  • Проект находится на GIT HUB по адресу: TestingTool-3 
  • Перед выполнением сценарных тестов, мы всегда запускаем обработку загрузки начальных данных для выполнения теста, что позволяет иметь в распоряжении достаточное количество товаров на складе.
  • Использование сценарных тестов для нашей команды приносит большую пользу в обеспечении качества разрабатываемых продуктов.


 

Скачать файлы

Наименование Файл Версия Размер
Менеджер сценарного UI теста

.epf 509,53Kb
17.04.18
21
.epf 2018.04.16 509,53Kb 21 Скачать
Сценарный тест "Бизнес процесс продажи"

.zip 65,92Kb
17.04.18
16
.zip 2018.04.17 65,92Kb 16 Скачать

Специальные предложения

Лучшие комментарии
3. ivanov660 2143 18.04.18 08:35 Сейчас в теме
(2)1. Коллега пример должен быть относительно простым и удобным для повторения.
Он достаточно серьезный и сложный.

2.Мы используем в тестировании комбинацию элементов ( xUnitFor1c, менеджер сценарного теста, SoapUI, Тестирование 3.0), которые с достаточным качеством покрывают поставленные задачи и дополняют друг друга. Это один из инструментов.

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

4. Отличие между нашим инструментом и Сценарным тестированием, другими конфигурациями можно выразить в отдельной статье)
а) Основное - этот инструмент у нас в практике работает уже около 2х лет (начиная с азов)
б) Довольно прост в освоении - новичек в команде уже через неделю начал создавать боевые сценарии.
в) Мы предлагаем методологию разработки
г) Отличия в интерфейсе редактора и наборе команд

5. В дальнейшем в инструменте появится возможность выполнять тестирование веб-приложений (интеграция selenium) и тестирование настольных приложений windows (интеграция с UI Automation)
chg; JohnyDeath; artbear; Kaval88; +4 Ответить
Остальные комментарии
Избранное Подписка Сортировка: Древо развёрнутое
Свернуть все
2. grumagargler 662 18.04.18 05:38 Сейчас в теме
Автор молодчина, проделана большая и качественная работа!
Однако, как говорится в крылатой фразе “Платон мне друг, но истина дороже”, хочется спросить, почему выбран путь очередной кнопконажималки? Ведь даже приведенный боевой пример ну...далековат от реального, потому что выполнен с большим количеством допущений (использована почти только мышь, и мы с вами знаем, почему; не проверяется, например, включенность флага выбора количества и нет упоминаний о проблемах записи/воспроизведения как токового, и так далее). Я не придираюсь, мне откровенно жаль начинающих в тестировании программистов, которые думают, что сейчас в пару кликов наштампуют сценариев, а потом с большим разочарованием смотрят вообще на всю историю со сценарными тестами. С другой стороны, если это не программисты, изучить модель тестируемого приложения, знать где искать и куда/как/когда дорабатывать записанный сценарий - совсем не базовый уровень знания прикладного функционала.

P.S. Кроме бесплатной конфигурации, чем еще ваша разработка выгодно отличается от 1С:Сценарное тестирование?
3. ivanov660 2143 18.04.18 08:35 Сейчас в теме
(2)1. Коллега пример должен быть относительно простым и удобным для повторения.
Он достаточно серьезный и сложный.

2.Мы используем в тестировании комбинацию элементов ( xUnitFor1c, менеджер сценарного теста, SoapUI, Тестирование 3.0), которые с достаточным качеством покрывают поставленные задачи и дополняют друг друга. Это один из инструментов.

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

4. Отличие между нашим инструментом и Сценарным тестированием, другими конфигурациями можно выразить в отдельной статье)
а) Основное - этот инструмент у нас в практике работает уже около 2х лет (начиная с азов)
б) Довольно прост в освоении - новичек в команде уже через неделю начал создавать боевые сценарии.
в) Мы предлагаем методологию разработки
г) Отличия в интерфейсе редактора и наборе команд

5. В дальнейшем в инструменте появится возможность выполнять тестирование веб-приложений (интеграция selenium) и тестирование настольных приложений windows (интеграция с UI Automation)
chg; JohnyDeath; artbear; Kaval88; +4 Ответить
4. Kaval88 69 18.04.18 11:11 Сейчас в теме
Хорошее решение.
Все хорошо и понятно расписано.
ivanov660; +1 Ответить
5. ivanov660 2143 18.04.18 11:32 Сейчас в теме
(4) Спасибо за отзыв бро) Присоединяйся к проекту.
Сейчас планируем переводить разработку инструментария на EDT, станет совсем по взрослому) К стати наконец-то вышла новая EDT 1.8.
6. ivanov660 2143 18.04.18 18:35 Сейчас в теме
Скоро добавим статью про то как смотреть результаты тестирования (сценарных тестов и unit тестов)- конфигурация "Тестирование 3.0" и обработка "Allure Skin".
8. softcom_1c 16 20.04.18 14:55 Сейчас в теме
Большое Вам спасибо. Скачали-записали новый сценарий по инструкции -запустили-все заработало))
9. ivanov660 2143 20.04.18 15:15 Сейчас в теме
(8) Спасибо за отзыв. В ближайшее время, появятся еще несколько уроков и примеров для бизнес-процессов - закупки, перемещения.
А в дальнейшем мы предполагаем выложить библиотеку сценариев и сценарных тестов для УТ/ERP на гитхабе.
14. K_Mixa 23.05.18 12:01 Сейчас в теме
Добрый день. Подскажите пожалуйста насколько я понял в конфигурации есть три варианта запуска через ЗапуститьПриложение("Строка запуска"), winmgmts: и Шелл=Новый COMОбъект("WScript.Shell"); Подскажите в связи с чем реализованы три варианта, для чего используется каждый из них?
15. ivanov660 2143 23.05.18 14:18 Сейчас в теме
(14) Добрый день!
1. Видео-урок и статья по использованию регламентных заданий для запуска тестов, проверок пока находится в процессе редактирования. В рамках нее мы расскажем про методику работы и опишем примеры. Это поможет более легко вникнуть в суть )
2. Почему несколько вариантов запуска?
- Первый вариант использует только возможности 1С (но в некоторых случаях этого не достаточно). Режим запустил и забыл.
- Второй вариант при запуске позволяет получить и сохранить в параметрах выполнения задания PID процесса. Что позволяет в последующем принудительно закрывать запущенное приложение.К примеру, данный подход используется для срубания зависших тестов. Задание запуска тестов состоит в общем из четырех действий:
а) Запустить тест
б) Дождаться появления лога или 15-30 минут
в) Завершить приложение запустившее тест
г) Загрузить отчет (если отчет не загружен, то в мониторинге тестов у вас будет пропуск и потребуется разбор полетов о причинах такой ситуации)

В дальнейшем, скорее всего добавим еще вариант и будем запускать тесты через компоненту или специальную службу.
19. chg 11.10.19 05:59 Сейчас в теме
Полезное дело, обязательно буду следить за вашим проектом)
20. ivanov660 2143 11.10.19 12:57 Сейчас в теме
(19)Спасибо за отзыв. И будет еще лучше, если вы начнете практическое использование в целях повышения качества вашего продукта.
Скоро будет опубликовано руководство пользователя и надеемся, что это повысит прозрачность данного Фреймворка
Оставьте свое сообщение

См. также

Эмулятор скриптов в 1С:Документооборот Промо

Документооборот и делопроизводство Инструментарий разработчика Документооборот и делопроизводство v8 ДО Платные (руб)

В 1С:Документообороте можно использовать программный код 1С в пользовательском режиме (не в конфигураторе). Однако если в конфигураторе есть отладчик, то в пользовательском режиме протестировать скрипт достаточно сложно. Внешняя обработка Эмулятор скриптов позволяет вывести результаты скрипта и проверить работу алгоритма на разных документах.

1000 руб.

13.12.2017    13222    91    0    

Отключение создания задачи ознакомления для бизнес-процесса "Согласование" в 1С: Документооборот

Практика программирования Документооборот и делопроизводство v8 v8::Бизнес-процессы ДО Абонемент ($m)

В данной публикации я хочу поделиться расширением, с помощью которого можно отключить создание задачи ознакомления для бизнес-процесса "Согласование" в 1С: Документооборот.

1 стартмани

30.11.2019    4241    6    pavelpribytkin96    4    

1С: Документооборот. Роли, использующие объекты адресации. Конфигурация остается типовой (используется расширение)

Информационная безопасность v8 ДО Абонемент ($m)

Расширение функционала документооборота. Реализована возможность использования ролей с объектами адресации. Конфигурация остается типовой (используется расширение)

5 стартмани

10.01.2019    7347    15    sulig    21    

Видеокурс-самоучитель "1С:Документооборот - ГУРУ" для самостоятельного внедрения

Пользователю системы Документооборот и делопроизводство v8 ДО Платные (руб)

Самый детальный и самый полный самоучитель по программе 1С:Документооборот, в котором Вы научитесь правильно работать, настраивать, администрировать и внедрять конфигурацию 1С:Документооборот. Все уроки курса построены на последовательном заполнении пустой базы 1С:Документооборот КОРП в клиент-серверном варианте.

89000 руб.

30.10.2018    21007    8    0    

Перенос документов и процессов между двумя базами 1С:Документооборота Промо

Обработка документов Перенос данных из 1C8 в 1C8 Документооборот и делопроизводство Документооборот и делопроизводство v8 ДО УУ Платные (руб)

Обработка по переносу документов поможет перенести документы и процессы из одной базы 1С:Документооборот в другую. Версии двух баз должны совпадать, а релизы конфигураций 1С:Документооборот могут быть различными. Главное, чтобы была синхронизирована НСИ.

21000 руб.

09.06.2016    20249    8    4    

Вывод всей истории в задаче комплексного процесса

Практика программирования v8::Бизнес-процессы ДО УУ Бесплатно (free)

В статье описывается, какие изменения нужно сделать, чтобы в задаче комплексного процесса выводилась вся история (по всем процессам), а не только история текущего процесса.

08.08.2018    6299    0    E_Babaylova    7    

Печать pdf документа со штампом ЭЦП

Печатные формы документов Документооборот и делопроизводство Документооборот и делопроизводство v8 v8::УФ ДО Абонемент ($m)

Печать pdf файла, прикрепленного к внутреннему документу, подписанному ЭЦП, с установкой отметки о подписании.

1 стартмани

24.05.2018    14272    94    App0st0l    14    

Нанесение штампа на PDF файл при регистрации (входящий номер и дата)

Практика программирования v8 ДО Бесплатно (free)

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

14.05.2018    14075    0    aabogachev    39    

Ограничения запуска процессов в 1С:Документооборот

Обработка документов Обработка справочников v8 ДО Платные (руб)

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

21000 руб.

03.04.2017    10883    33    0    

Управление договорами в 1С:Документооборот

Управление бизнес-процессами (BPM) Документооборот и делопроизводство Пользователю системы Бухгалтерский учет Документооборот и делопроизводство v8 ДО УУ Бесплатно (free)

В 1С:Документооборот в релизах 2.1.7 и 2.1.8 концепция учета договоров продолжила свое развитие (появились стороны договора). Это повлияло и на бизнес-процессы (теперь вместо процесса Утверждение надо пользоваться процессом Подписание для договоров). Рассмотрим основные моменты, на которые надо обратить внимание при внедрении управления договорами в 1С:Документооборот.

24.01.2017    33833    0    vlush78    0    

Блокировка повторного запуска комплексного процесса в 1С: Документооборот 2

Администрирование данных 1С Документооборот и делопроизводство Документооборот и делопроизводство v8 ДО Абонемент ($m)

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

2 стартмани

04.10.2016    19915    73    zabaluev    25    

Права доступа в 1С:Документооборот 2.1

Информационная безопасность Документооборот и делопроизводство Документооборот и делопроизводство v8 ДО Бесплатно (free)

В программе 1С:Документооборот ред 2.1 механизм системы прав доступа сильно изменился. С одной стороны, права доступа в данной версии стали проще и быстрее, с другой стороны - права по рабочим группам объектов теперь могут противоречить политикам доступа. Разберемся в данной статье как работает механизм прав доступа в 1с документообороте 2.1.

16.09.2016    71096    0    vlush78    0    

Новое в 1С:Документооборот ред. 2.1

Пользователю системы Управленческий учет (прочее) Документооборот и делопроизводство Документооборот и делопроизводство v8 ДО УУ Бесплатно (free)

Фирма 1С не стоит на месте и продолжает радовать нас своими новыми версиями конфигурации 1С:Документооборот. В конце мая 2016 года вышла новая редакция 2.1, которая содержит как принципиально новые возможности, так и улучшение старых функций. В данной статье будут рассмотрены отличия конфигурации 1С:Документооборот редакции 2.1 по сравнению с редакцией 2.0.

15.06.2016    32278    0    vlush78    7    

Нагрузочное тестирование 1С:Документооборот

Производительность и оптимизация (HighLoad) Документооборот и делопроизводство Документооборот и делопроизводство v8 ДО Бесплатно (free)

Перед запуском 1С:Документооборот для средних и крупных внедрений крайне желательно провести нагрузочное тестирование, чтобы проверить корректность и скорость работы системы электронного документооборота в условиях максимальной нагрузки. В данной статье пойдет речь о том, как провести нагрузочное тестирование в 1С:Документооборот без использования 1С:КИП.

28.12.2015    20898    0    vlush78    1